I don't think this one was officially deprecated. Nevertheless it is
superfluous and has been on my kill list for a while.
Objections?
Florian
>From 8ac246a33310a9f516b04a9b7c81631d54fe003f Mon Sep 17 00:00:00 2001
From: Florian Festi <[EMAIL PROTECTED]>
Date: Fri, 30 Nov 2007 15:02:39 +0100
Subject: [PATCH] Remove Depsolve.whatProvides
---
yum/__init__.py | 12 ++----------
yum/depsolve.py | 42 ++----------------------------------------
2 files changed, 4 insertions(+), 50 deletions(-)
diff --git a/yum/__init__.py b/yum/__init__.py
index cd75ced..1be6237 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1485,12 +1485,7 @@ class YumBase(depsolve.Depsolve):
if r.startswith('rpmlib('):
continue
- satisfiers = []
-
- for po in self.whatProvides(r, f, v):
- satisfiers.append(po)
-
- pkgresults[req] = satisfiers
+ pkgresults[req] = self.pkgs.getProvides(r, f, v).keys()
return results
@@ -1961,10 +1956,7 @@ class YumBase(depsolve.Depsolve):
raise Errors.YumBaseError, _('Invalid version flag')
depflags = SYMBOLFLAGS[flagsymbol]
- sack = self.whatProvides(depname, depflags, depver)
- results = sack.returnPackages()
- return results
-
+ return self.pkgSack.getProvides(depname, depflags, depver).keys()
def returnPackageByDep(self, depstring):
"""Pass in a generic [build]require string and this function will
diff --git a/yum/depsolve.py b/yum/depsolve.py
index a08f481..5bc3c7f 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -141,45 +141,6 @@ class Depsolve(object):
for flag in self.tsInfo.probFilterFlags:
probfilter |= flag
self._ts.setProbFilter(probfilter)
-
- def whatProvides(self, name, flags, version):
- """searches the packageSacks for what provides the arguments
- returns a ListPackageSack of providing packages, possibly empty"""
-
- self.verbose_logger.log(logginglevels.DEBUG_1, _('Searching pkgSack for dep: %s'),
- name)
- # we need to check the name - if it doesn't match:
- # /etc/* bin/* or /usr/lib/sendmail then we should fetch the
- # filelists.xml for all repos to make the searchProvides more complete.
- if name[0] == '/':
- if not misc.re_primary_filename(name):
- self.doSackFilelistPopulate()
-
- pkgs = self.pkgSack.searchProvides(name)
-
-
- if flags == 0:
- flags = None
- if type(version) in (types.StringType, types.NoneType, types.UnicodeType):
- (r_e, r_v, r_r) = rpmUtils.miscutils.stringToVersion(version)
- elif type(version) in (types.TupleType, types.ListType): # would this ever be a ListType?
- (r_e, r_v, r_r) = version
-
- defSack = ListPackageSack() # holder for items definitely providing this dep
-
- for po in pkgs:
- self.verbose_logger.log(logginglevels.DEBUG_2,
- _('Potential match for %s from %s'), name, po)
- if name[0] == '/' and r_v is None:
- # file dep add all matches to the defSack
- defSack.addPackage(po)
- continue
-
- if po.checkPrco('provides', (name, flags, (r_e, r_v, r_r))):
- defSack.addPackage(po)
- self.verbose_logger.debug(_('Matched %s to require for %s'), po, name)
-
- return defSack
def allowedMultipleInstalls(self, po):
"""takes a packageObject, returns 1 or 0 depending on if the package
@@ -427,7 +388,8 @@ class Depsolve(object):
# - if they are the same
# - be confused but continue
- provSack = self.whatProvides(needname, needflags, needversion)
+ provSack = ListPackageSack(self.pkgSack.getProvides(
+ needname, needflags or None, rpmUtils.miscutils.stringToVersion(needversion)))
# get rid of things that are already in the rpmdb - b/c it's pointless to use them here
--
1.5.4.1
_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel