Ticket #176: repoclosure-with-obsoletes.patch
| File repoclosure-with-obsoletes.patch, 1.6 kB (added by skvidal, 3 years ago) |
|---|
-
a/repoclosure.py
old new 29 29 from yum.misc import getCacheDir 30 30 from optparse import OptionParser 31 31 import rpmUtils.arch 32 import rpmUtils.updates 32 33 from yum.constants import * 33 34 from yum.packageSack import ListPackageSack 34 35 … … 114 115 def getBrokenDeps(self, newest=False): 115 116 unresolved = {} 116 117 resolved = {} 118 pkgs = self.pkgSack 117 119 if newest: 118 120 pkgs = self.pkgSack.returnNewestByNameArch() 119 else: 120 pkgs = self.pkgSack 121 mypkgSack = ListPackageSack(pkgs) 122 pkgtuplist = mypkgSack.simplePkgList() 123 124 # toss out any of the obsoleted pkgs so we can't depsolve with them 125 self.up = rpmUtils.updates.Updates([], pkgtuplist) 126 self.up.rawobsoletes = mypkgSack.returnObsoletes() 127 for pkg in pkgs: 128 fo = self.up.checkForObsolete([pkg.pkgtup]) 129 if fo: 130 print "ignoring obsolete pkg %s" % pkg 131 for i in fo[pkg.pkgtup]: 132 print i 133 self.pkgSack.delPackage(pkg) 121 134 122 mypkgSack = ListPackageSack(pkgs) 123 pkgtuplist = mypkgSack.simplePkgList() 135 # we've deleted items so remake the pkgs 136 pkgs = self.pkgSack.returnNewestByNameArch() 137 pkgtuplist = mypkgSack.simplePkgList() 124 138 125 139 if self.builddeps: 126 140 pkgs = filter(lambda x: x.arch == 'src', pkgs)

