[yum-cvs] yum/rpmsack.py

Tim Lauridsen timlau at linux.duke.edu
Tue Aug 14 10:49:35 UTC 2007


 yum/rpmsack.py |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit ed0a3183864d5dc856c7b7affdb3a962377dc8ec
Author: Tim Lauridsen <tla at rasmil.dk>
Date:   Tue Aug 14 12:44:18 2007 +0200

    Added patch by ffesti: Have only one instance of a RpmSack package at once

diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index c2d5e52..1bed494 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -46,6 +46,7 @@ class RPMDBPackageSack(PackageSackBase):
 
     def __init__(self, root='/'):
         self.root = root
+        self._idx2pkg = {}
         self._header_dict = {}
         self._header_by_name = {}
         self.ts = None
@@ -285,8 +286,11 @@ class RPMDBPackageSack(PackageSackBase):
 
 
     def _makePackageObject(self, hdr, index):
+        if self._idx2pkg.has_key(index):
+            return self._idx2pkg[index]
         po = YumInstalledPackage(hdr)
         po.idx = index
+        self._idx2pkg[index] = po
         return po
         
     def _hdr2pkgTuple(self, hdr):



More information about the Yum-cvs-commits mailing list