Hi all:

I'm pretty sure the attached patch doesn't change any behaviour, but I
wanted to get some more eyes looking at it before I checked it in, just
in case.

Anyone think its broken?

-James
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 1045468..253f563 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -1194,7 +1194,7 @@ class YumDepsolver(Depsolve):
             self.verbose_logger.log(logginglevels.DEBUG_2, "looking at %s as a requirement of %s", r, pkgtup)                
             isok = False
             # now see if anything else is providing what we need
-            for provtup in self.rpmdb.whatProvides(r, None, None):
+            for provtup in self.rpmdb.whatProvides(*prov):
                 # check if this provider is being removed
                 if provtup in self._removing:
                     continue
@@ -1204,17 +1204,9 @@ class YumDepsolver(Depsolve):
                 provpo = self.getInstalledPackageObject(provtup)
                 if provpo in removeList:
                     continue
-                # check if provpo actually satisfies instpo's need for r
-                # if so, we're golden
-                ok = True
-                for (rr, rf, rv) in instpo.requires:
-                    if rr != r:
-                        continue
-                    if not provpo.checkPrco('provides', (rr, rf, rv)):
-                        ok = False
-                if ok:
-                    isok = True
-                    break
+
+                isok = True
+                break
 
             if isok:
                 continue
@@ -1238,17 +1230,9 @@ class YumDepsolver(Depsolve):
             # now do the same set of checks with packages that are
             # set to be installed.  
             for txmbr in self.tsInfo.getMembers(None, TS_INSTALL_STATES):
-                if txmbr.po.checkPrco('provides',
-                                      (r, None, (None,None,None))):
-                    ok = True
-                    for (rr, rf, rv) in instpo.requires:
-                        if rr != r:
-                            continue
-                        if not txmbr.po.checkPrco('provides', (rr, rf, rv)):
-                            ok = False
-                    if ok:
-                        isok = True
-                        break
+                if txmbr.po.checkPrco('provides', prov):
+                    isok = True
+                    break
 
                 # FIXME: it's ugly to have to check files separately here
                 elif r.startswith("/") and r in txmbr.po.filelist:

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel

Reply via email to