[yum-cvs] yum/depsolve.py yum/__init__.py yum/rpmsack.py
Tim Lauridsen
timlau at linux.duke.edu
Thu Oct 4 10:07:12 UTC 2007
yum/__init__.py | 9 +--------
yum/depsolve.py | 23 +++++++++--------------
yum/rpmsack.py | 1 -
3 files changed, 10 insertions(+), 23 deletions(-)
New commits:
commit 901a3bef4b34e5c25faa275953f9d233791fa025
Author: Tim Lauridsen <tla at rasmil.dk>
Date: Thu Oct 4 12:06:16 2007 +0200
patches by ffesti
* use package objects in the cheaterlookup instead of pkgtups
* move from whatProvides to getProvides in returnInstalledPackagesByDep
diff --git a/yum/__init__.py b/yum/__init__.py
index f27b4bf..6189ee8 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1745,7 +1745,6 @@ class YumBase(depsolve.Depsolve):
"""Pass in a generic [build]require string and this function will
pass back the installed packages it finds providing that dep."""
- results = []
# parse the string out
# either it is 'dep (some operator) e:v-r'
# or /file/dep
@@ -1764,14 +1763,8 @@ class YumBase(depsolve.Depsolve):
if not SYMBOLFLAGS.has_key(flagsymbol):
raise Errors.YumBaseError, 'Invalid version flag'
depflags = SYMBOLFLAGS[flagsymbol]
-
- pkglist = self.rpmdb.whatProvides(depname, depflags, depver)
-
- for pkgtup in pkglist:
- results.append(self.getInstalledPackageObject(pkgtup))
- return results
-
+ return self.rpmdb.getProvides(depname, depflags, depver).keys()
def _bestPackageFromList(self, pkglist):
"""take list of package objects and return the best package object.
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 06ddc7a..5da8810 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -273,21 +273,21 @@ class Depsolve(object):
if self.cheaterlookup.has_key((needname, needflags, needversion)):
self.verbose_logger.log(logginglevels.DEBUG_2, 'Needed Require has already been looked up, cheating')
- cheater_tup = self.cheaterlookup[(needname, needflags, needversion)]
- providers = [cheater_tup]
+ cheater_po = self.cheaterlookup[(needname, needflags, needversion)]
+ providers = [cheater_po]
elif self.rpmdb.installed(name=needname):
txmbrs = self.tsInfo.matchNaevr(name=needname)
for txmbr in txmbrs:
- providers.append(txmbr.pkgtup)
+ providers.append(txmbr.po)
else:
self.verbose_logger.log(logginglevels.DEBUG_2, 'Needed Require is not a package name. Looking up: %s', niceformatneed)
- providers = self.rpmdb.whatProvides(needname, needflags, needversion)
+ providers = self.rpmdb.getProvides(needname, needflags, needversion)
- for insttuple in providers:
- inst_str = '%s.%s %s:%s-%s' % insttuple
- (i_n, i_a, i_e, i_v, i_r) = insttuple
+ for inst_po in providers:
+ inst_str = '%s.%s %s:%s-%s' % inst_po.pkgtup
+ (i_n, i_a, i_e, i_v, i_r) = inst_po.pkgtup
self.verbose_logger.log(logginglevels.DEBUG_2,
'Potential Provider: %s', inst_str)
thismode = self.tsInfo.getMode(name=i_n, arch=i_a,
@@ -303,13 +303,8 @@ class Depsolve(object):
if thismode is not None:
needmode = thismode
- if self.rpmdb.installed(name=i_n, arch=i_a, ver=i_v,
- epoch=i_e, rel=i_r):
- needpo = self.rpmdb.searchPkgTuple(insttuple)[0]
- else:
- needpo = self.getPackageObject(insttuple)
- self.cheaterlookup[(needname, needflags, needversion)] = insttuple
+ self.cheaterlookup[(needname, needflags, needversion)] = inst_po
self.verbose_logger.log(logginglevels.DEBUG_2, 'Mode is %s for provider of %s: %s',
needmode, niceformatneed, inst_str)
break
@@ -321,7 +316,7 @@ class Depsolve(object):
self.verbose_logger.log(logginglevels.DEBUG_2, 'TSINFO: %s package requiring %s marked as erase',
requiringPo, needname)
txmbr = self.tsInfo.addErase(requiringPo)
- txmbr.setAsDep(po=needpo)
+ txmbr.setAsDep(po=inst_po)
checkdeps = 1
if needmode in ['i', 'u']:
diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index fb11b50..7bd94e6 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -392,7 +392,6 @@ class RPMDBPackageSack(PackageSackBase):
if name[0] =='/':
morepkgs = self.searchFiles(name)
pkgs.extend(morepkgs)
-
if flags == 0:
flags = None
if type(version) is types.StringType:
More information about the Yum-cvs-commits
mailing list