[bin] add get_package_changes handy tool
This commit is contained in:
parent
9180367ae5
commit
5b276c268a
48
bin/get_package_changes
Executable file
48
bin/get_package_changes
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/python2
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from entropy.server.interfaces import Server
|
||||||
|
from entropy.const import etpUi
|
||||||
|
etpUi['quiet'] = True
|
||||||
|
import entropy.dep
|
||||||
|
import portage
|
||||||
|
|
||||||
|
def print_help():
|
||||||
|
sys.stderr.write("get_package_changes <added|removed>\n")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
args = sys.argv[1:]
|
||||||
|
if not args:
|
||||||
|
print_help()
|
||||||
|
raise SystemExit(1)
|
||||||
|
|
||||||
|
cmd = args.pop(0)
|
||||||
|
if cmd not in ("added", "removed"):
|
||||||
|
print_help()
|
||||||
|
raise SystemExit(1)
|
||||||
|
|
||||||
|
srv = Server()
|
||||||
|
repositories = srv.repositories()
|
||||||
|
pkg_keys = set()
|
||||||
|
|
||||||
|
for repository_id in repositories:
|
||||||
|
repo = srv.open_repository(repository_id)
|
||||||
|
for atom, package_id, branch in repo.listAllPackages():
|
||||||
|
pkg_keys.add(entropy.dep.dep_getkey(atom))
|
||||||
|
|
||||||
|
portdb = portage.db["/"]['porttree']
|
||||||
|
portage_pkg_keys = set(portdb.getallnodes())
|
||||||
|
|
||||||
|
if cmd == "added":
|
||||||
|
added = sorted(portage_pkg_keys - pkg_keys)
|
||||||
|
for pkg_key in added:
|
||||||
|
sys.stdout.write(pkg_key + "\n")
|
||||||
|
sys.stdout.flush()
|
||||||
|
elif cmd == "removed":
|
||||||
|
removed = sorted(pkg_keys - portage_pkg_keys)
|
||||||
|
for pkg_key in removed:
|
||||||
|
sys.stdout.write(pkg_key + "\n")
|
||||||
|
sys.stdout.flush()
|
||||||
|
srv.shutdown()
|
||||||
|
raise SystemExit(0)
|
Loading…
Reference in New Issue
Block a user