[yum-git] 2 commits - yum/__init__.py yum/rpmsack.py
Seth Vidal
skvidal at linux.duke.edu
Mon Mar 24 18:24:08 UTC 2008
yum/__init__.py | 6 ++----
yum/rpmsack.py | 7 ++++++-
2 files changed, 8 insertions(+), 5 deletions(-)
New commits:
commit 08b247e6541422db41c4c350c5df5b4c38a7f26c
Merge: e1bb34b... 72569b7...
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Mon Mar 24 14:19:12 2008 -0400
Merge branch 'master' of ssh://login.linux.duke.edu/home/groups/yum/git/yum
* 'master' of ssh://login.linux.duke.edu/home/groups/yum/git/yum:
Special workaround for depsolving, load prco data without keeping hdr
Add buildtime for hacky pkgid
commit e1bb34bd120e4db847f03470d9cde46bf62f90c5
Author: Seth Vidal <skvidal at fedoraproject.org>
Date: Mon Mar 24 14:18:51 2008 -0400
make rpmsack._pkglist return direct from the rpm hdr objects and not
pass through ReturnPackages() saves us a 1/2 second on any load of the
pkglist not preceded by a call to returnPackages()
diff --git a/yum/__init__.py b/yum/__init__.py
index bff85b9..d3b63c3 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -536,7 +536,7 @@ class YumBase(depsolve.Depsolve):
pass
else:
reposWithGroups.append(repo)
-
+
# now we know which repos actually have groups files.
overwrite = self.conf.overwrite_groups
self._comps = comps.Comps(overwrite_groups = overwrite)
@@ -562,10 +562,8 @@ class YumBase(depsolve.Depsolve):
if self._comps.compscount == 0:
raise Errors.GroupsError, _('No Groups Available in any repository')
-
- pkglist = self.rpmdb.simplePkgList()
- self._comps.compile(pkglist)
+ self._comps.compile(self.rpmdb.pkglist)
self.verbose_logger.debug('group time: %0.3f' % (time.time() - group_st))
return self._comps
diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index a8ad67a..e81b5a0 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -90,6 +90,7 @@ class RPMDBPackageSack(PackageSackBase):
self._name2pkg = {}
self._tup2pkg = {}
self._completely_loaded = False
+ self._simple_pkgtup_list = []
self.ts = None
self._cache = {
@@ -104,7 +105,11 @@ class RPMDBPackageSack(PackageSackBase):
'''Getter for the pkglist property.
Returns a list of package tuples.
'''
- return [po.pkgtup for po in self.returnPackages()]
+ if not self._simple_pkgtup_list:
+ for (hdr, mi) in self._all_packages():
+ self._simple_pkgtup_list.append(self._hdr2pkgTuple(hdr))
+
+ return self._simple_pkgtup_list
pkglist = property(_get_pkglist, None)
More information about the Yum-cvs-commits
mailing list