[yum-commits] 2 commits - repoclosure.py
skvidal at osuosl.org
skvidal at osuosl.org
Mon Aug 31 19:06:31 UTC 2009
repoclosure.py | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
New commits:
commit 3d0b04ac02969c710ea28c6a565af5d1ced41fd7
Merge: 14f5a96... 1a20407...
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Mon Aug 31 14:50:16 2009 -0400
Merge branch 'master' of ssh://yum.baseurl.org/srv/projects/yum/git/yum-utils
* 'master' of ssh://yum.baseurl.org/srv/projects/yum/git/yum-utils:
If epoch is none we still want to use version in repoclosure.
commit 14f5a964c121eb942751747ac4587cd9d371dd8f
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Mon Aug 31 14:49:23 2009 -0400
make sure we make the list of pkgs to look at based on the latest
pkgsack - complete with pkg deletions of the obsoletes
diff --git a/repoclosure.py b/repoclosure.py
index 54e233b..19ad0c2 100755
--- a/repoclosure.py
+++ b/repoclosure.py
@@ -29,6 +29,7 @@ import yum.Errors
from yum.misc import getCacheDir
from optparse import OptionParser
import rpmUtils.arch
+import rpmUtils.updates
from yum.constants import *
from yum.packageSack import ListPackageSack
@@ -114,13 +115,26 @@ class RepoClosure(yum.YumBase):
def getBrokenDeps(self, newest=False):
unresolved = {}
resolved = {}
+ pkgs = self.pkgSack
if newest:
pkgs = self.pkgSack.returnNewestByNameArch()
- else:
- pkgs = self.pkgSack
+ mypkgSack = ListPackageSack(pkgs)
+ pkgtuplist = mypkgSack.simplePkgList()
+
+ # toss out any of the obsoleted pkgs so we can't depsolve with them
+ self.up = rpmUtils.updates.Updates([], pkgtuplist)
+ self.up.rawobsoletes = mypkgSack.returnObsoletes()
+ for pkg in pkgs:
+ fo = self.up.checkForObsolete([pkg.pkgtup])
+ if fo:
+ print "ignoring obsolete pkg %s" % pkg
+ for i in fo[pkg.pkgtup]:
+ print i
+ self.pkgSack.delPackage(pkg)
- mypkgSack = ListPackageSack(pkgs)
- pkgtuplist = mypkgSack.simplePkgList()
+ # we've deleted items so remake the pkgs
+ pkgs = self.pkgSack.returnNewestByNameArch()
+ pkgtuplist = mypkgSack.simplePkgList()
if self.builddeps:
pkgs = filter(lambda x: x.arch == 'src', pkgs)
More information about the Yum-commits
mailing list