31 lines
922 B
Python
Executable File
31 lines
922 B
Python
Executable File
#!/usr/bin/python2
|
|
|
|
from entropy.server.interfaces import Server
|
|
|
|
srv = Server()
|
|
bad_pkgs = []
|
|
|
|
gtk2_match = srv.atom_match("x11-libs/gtk+:2")
|
|
gtk3_match = srv.atom_match("x11-libs/gtk+:3")
|
|
|
|
for repo_id in srv.repositories():
|
|
repo = srv.open_repository(repo_id)
|
|
for pkg_id in repo.listAllPackageIds():
|
|
deps = repo.retrieveDependencies(pkg_id)
|
|
for dep in deps:
|
|
matches, rc = srv.atom_match(dep, multi_match=True, multi_repo=True)
|
|
if gtk3_match in matches:
|
|
if gtk2_match in matches:
|
|
bad_pkgs.append((pkg_id, repo_id))
|
|
print("found bad package: %s" % (repo.retrieveAtom(pkg_id),))
|
|
break
|
|
|
|
bad_atoms = []
|
|
for pkg_id, repo_id in bad_pkgs:
|
|
bad_atoms.append(srv.open_repository(repo_id).retrieveKeySlotAggregated(pkg_id))
|
|
bad_atoms.sort()
|
|
for bad_atom in bad_atoms:
|
|
print(bad_atom)
|
|
|
|
srv.shutdown()
|