[yum-commits] yum/depsolve.py

James Antill james at osuosl.org
Mon Aug 26 04:16:58 UTC 2013


 yum/depsolve.py |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit 047844595ff1c37b615887fd70d9db6ba9497250
Author: James Antill <james at and.org>
Date:   Mon Aug 26 00:16:45 2013 -0400

    Deal with multiple winners in providers vercmp (usually multilib).

diff --git a/yum/depsolve.py b/yum/depsolve.py
index 4d16ef2..dcfd05a 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -1598,10 +1598,13 @@ class Depsolve(object):
                 self.verbose_logger.log(logginglevels.DEBUG_4,
                                         _('provides vercmp: %s') % str(req))
                 newest = sorted(prov_depsolve,
-                                key = lambda x: PackageEVR(*prov_depsolve[x]))[-1]
-                self.verbose_logger.log(logginglevels.DEBUG_4,
-                                        _(' Winner: %s') % newest)
-                pkgresults[newest] += 1
+                                key = lambda x: PackageEVR(*prov_depsolve[x]))
+                for winner in reversed(newest):
+                    if prov_depsolve[winner] != prov_depsolve[newest[-1]]:
+                        break
+                    self.verbose_logger.log(logginglevels.DEBUG_4,
+                                            _(' Winner: %s') % winner)
+                    pkgresults[winner] += 1
                 
         #  If we have more than one "best", see what would happen if we picked
         # each package ... ie. what things do they require that _aren't_ already


More information about the Yum-commits mailing list