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

Reply via email to