[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