[Yum-devel] [PATCH 2/3] Move the rpmdb cache to yum persistent storage.

James Antill james at and.org
Wed May 5 20:17:19 UTC 2010


---
 yum/__init__.py |    6 ++----
 yum/rpmsack.py  |    8 ++++----
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/yum/__init__.py b/yum/__init__.py
index c2313a0..550e5cc 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -490,8 +490,7 @@ class YumBase(depsolve.Depsolve):
                                     _('Reading Local RPMDB'))
             self._rpmdb = rpmsack.RPMDBPackageSack(root=self.conf.installroot,
                                                    releasever=self.conf.yumvar['releasever'],
-                                                   persistdir=self.conf.persistdir,
-                                                   cachedir=self.conf.cachedir)
+                                                   persistdir=self.conf.persistdir)
             self.verbose_logger.debug('rpmdb time: %0.3f' % (time.time() - rpmdb_st))
         return self._rpmdb
 
@@ -1923,7 +1922,7 @@ class YumBase(depsolve.Depsolve):
         return self._cleanFiles(exts, 'cachedir', 'metadata')
 
     def cleanRpmDB(self):
-        cachedir = self.conf.cachedir + "/installed/"
+        cachedir = self.conf.persistdir + "/rpmdb-indexes/"
         if not os.path.exists(cachedir):
             filelist = []
         else:
@@ -4493,7 +4492,6 @@ class YumBase(depsolve.Depsolve):
 
         cachedir += varReplace(suffix, self.conf.yumvar)
         self.repos.setCacheDir(cachedir)
-        self.rpmdb.setCacheDir(cachedir)
         self.conf.cachedir = cachedir
         return True # We got a new cache dir
 
diff --git a/yum/rpmsack.py b/yum/rpmsack.py
index b457cc9..a11c6d5 100644
--- a/yum/rpmsack.py
+++ b/yum/rpmsack.py
@@ -169,7 +169,7 @@ class RPMDBPackageSack(PackageSackBase):
         self._get_req_cache  = {}
         self._loaded_gpg_keys = False
         if cachedir is None:
-            cachedir = misc.getCacheDir()
+            cachedir = persistdir + "/rpmdb-indexes"
         self.setCacheDir(cachedir)
         if not os.path.normpath(persistdir).startswith(self.root):
             self._persistdir = root +  '/' + persistdir
@@ -233,11 +233,11 @@ class RPMDBPackageSack(PackageSackBase):
 
     def setCacheDir(self, cachedir):
         """ Sets the internal cachedir value for the rpmdb, to be the
-            "installed" directory from this parent. """
+            "rpmdb-indexes" directory in the persisent yum storage. """
         if not os.path.normpath(cachedir).startswith(self.root):
-            self._cachedir = self.root + '/' + cachedir + "/installed/"
+            self._cachedir = self.root + '/' + cachedir
         else:
-            self._cachedir = '/' + cachedir + "/installed/"
+            self._cachedir = '/' + cachedir
 
     def readOnlyTS(self):
         if not self.ts:
-- 
1.7.0.1



More information about the Yum-devel mailing list