[yum-git] yum/packageSack.py

James Antill james at linux.duke.edu
Tue Mar 18 04:41:04 UTC 2008


 yum/packageSack.py |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

New commits:
commit 9c3638c2cfc8a1c049a158e246ef66326dccc4a5
Author: James Antill <james at and.org>
Date:   Tue Mar 18 00:40:58 2008 -0400

    Fix packagesNewestByName() to have multiple pkgs/arches per. name/version

diff --git a/yum/packageSack.py b/yum/packageSack.py
index 85fc25e..24d1436 100644
--- a/yum/packageSack.py
+++ b/yum/packageSack.py
@@ -818,14 +818,22 @@ class PackageSack(PackageSackBase):
         return matches
 
 def packagesNewestByName(pkgs):
+    """ Does the same as PackageSack.returnNewestByName() """
     newest = {}
     for pkg in pkgs:
         key = pkg.name
-        if key in newest and pkg <= newest[key]:
+        if key not in newest or pkg > newest[key][0]:
+            newest[key] = [pkg]
+        elif pkg < newest[key][0]:
             continue
-        newest[key] = pkg
-    return newest.values()
+        else:
+            newest[key].append(pkg)
+    ret = []
+    for vals in newest.itervalues():
+        ret.extend(vals)
+    return ret
 def packagesNewestByNameArch(pkgs):
+    """ Does the same as PackageSack.returnNewestByNameArch() """
     newest = {}
     for pkg in pkgs:
         key = (pkg.name, pkg.arch)



More information about the Yum-cvs-commits mailing list