[yum-git] yum/depsolve.py

Seth Vidal skvidal at linux.duke.edu
Tue Mar 4 17:00:01 UTC 2008


 yum/depsolve.py |    9 +++++++++
 1 file changed, 9 insertions(+)

New commits:
commit b5bf1e4713d35a2290698dc79a5f24e31d031680
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Tue Mar 4 11:58:45 2008 -0500

    make sure best doesn't obsolete po before we do the arch tests in _compare_providers()

diff --git a/yum/depsolve.py b/yum/depsolve.py
index be3605b..ffa4af3 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -954,6 +954,7 @@ class Depsolve(object):
                     # we do this b/c it is possible for two entries to oscillate in this
                     # test - obsolete should trump no matter what
                     # NOTE: mutually obsoleting providers is completely and utterly doom
+                    # but this should 'break the loop'
                     for obs in bestpkg.obsoletes:
                         if po.inPrcoRange('provides', obs):
                             self.verbose_logger.log(logginglevels.DEBUG_4,
@@ -963,6 +964,14 @@ class Depsolve(object):
                        _("po %s obsoletes best: %s") %(po, bestpkg))
                             
                     return po
+
+            # just check if best obsoletes po
+            for obs in bestpkg.obsoletes:
+                if po.inPrcoRange('provides', obs):
+                    self.verbose_logger.log(logginglevels.DEBUG_4,
+                     _("best %s obsoletes po: %s") %(bestpkg, po))
+                    return bestpkg
+
                     
             if reqpo.arch != 'noarch':
                 best_dist = archDifference(reqpo.arch, bestpkg.arch)



More information about the Yum-cvs-commits mailing list