diff --git a/scripts/newer_packages/newer_pkgs_in_old_repos.py b/scripts/newer_packages/newer_pkgs_in_old_repos.py index 0cd7629..e3467aa 100644 --- a/scripts/newer_packages/newer_pkgs_in_old_repos.py +++ b/scripts/newer_packages/newer_pkgs_in_old_repos.py @@ -3,6 +3,11 @@ import yum import sys from operator import attrgetter +from fedora.client.pkgdb import PackageDB + +pkgdb = PackageDB() + +bugzacl = pkgdb.get_bugzilla_acls() my = yum.YumBase() my.preconf.root ='/var/tmp/skvidal-chroot' @@ -24,6 +29,30 @@ len(my.pkgSack) # just to frob the sack f13repo = my.repos.findRepos('f13')[0] f13updates = my.repos.findRepos('f13-updates')[0] +def whoowns(package): + """ + + Retrieve the owner of a given package + """ + try: + mainowner = bugzacl['Fedora'][package]['owner'] + except KeyError: + irc.reply("No such package exists.") + return + others = [] + for key in bugzacl.keys(): + if key == 'Fedora': + continue + try: + owner = bugzacl[key][package]['owner'] + if owner == mainowner: + continue + except KeyError: + continue + others.append("%s in %s" % (owner, key)) + return mainowner + + for pkg in sorted(my.pkgSack.returnNewestByNameArch()): if not pkg.repoid.startswith('f13'): f13pkgs = [] @@ -40,6 +69,7 @@ for pkg in sorted(my.pkgSack.returnNewestByNameArch()): f13all.sort() f13all.reverse() if f13all[0].EVR != pkg.EVR: - print 'greater for f12: %s' % pkg.name + owner = whoowns(pkg.name) + print 'greater for f12: %s (%s)' % (pkg.name, owner) print ' f12 = %s' % pkg print ' f13 = %s' % f13all[0]