[Yum-devel] [PATCH] Minor opt. for allowedMultipleInstalls() and pkg.*_names callers
James Antill
james at and.org
Wed Oct 28 21:38:57 UTC 2009
---
yum/depsolve.py | 11 ++++++-----
yum/packages.py | 9 ++++-----
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/yum/depsolve.py b/yum/depsolve.py
index e5b3a42..4d3d5ca 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -188,13 +188,14 @@ class Depsolve(object):
"""takes a packageObject, returns 1 or 0 depending on if the package
should/can be installed multiple times with different vers
like kernels and kernel modules, for example"""
-
- if po.name in self.conf.installonlypkgs:
+
+ iopkgs = set(self.conf.installonlypkgs)
+ if po.name in iopkgs:
return True
- provides = po.provides_names
- if filter (lambda prov: prov in self.conf.installonlypkgs, provides):
- return True
+ for prov in po.provides_names:
+ if prov in iopkgs:
+ return True
return False
diff --git a/yum/packages.py b/yum/packages.py
index 71430fd..709e73e 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -454,11 +454,10 @@ class RpmBase(object):
return self.files.keys()
def returnPrcoNames(self, prcotype):
- results = []
- lists = self.returnPrco(prcotype)
- for (name, flag, vertup) in lists:
- results.append(name)
- return results
+ if not hasattr(self, '_cache_prco_names_' + prcotype):
+ data = [n for (n, f, v) in self.returnPrco(prcotype)]
+ setattr(self, '_cache_prco_names_' + prcotype, data)
+ return getattr(self, '_cache_prco_names_' + prcotype)
def getProvidesNames(self):
warnings.warn('getProvidesNames() will go away in a future version of Yum.\n',
--
1.6.2.5
More information about the Yum-devel
mailing list