diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-12 12:02:27 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-12 12:02:27 -0700 |
commit | 5d76c94e173df56aafcc1a5a740c01ffc51f2f0b (patch) | |
tree | 7a78493190f09ec55696536ea660f218b49934a1 | |
parent | d4d1e7145554a4dd3bdd7094b73243aef75d79f4 (diff) | |
download | portage-5d76c94e173df56aafcc1a5a740c01ffc51f2f0b.tar.gz portage-5d76c94e173df56aafcc1a5a740c01ffc51f2f0b.tar.bz2 portage-5d76c94e173df56aafcc1a5a740c01ffc51f2f0b.zip |
porttree: use pure volatile cache if necessary
-rw-r--r-- | pym/portage/dbapi/porttree.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index 379cc68cd..a30c9d7b4 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -170,12 +170,18 @@ class portdbapi(dbapi): # to the cache entries/directories. if secpass < 1 or not depcachedir_w_ok: for x in self.porttrees: - db_ro = self.auxdbmodule(self.depcachedir, x, - filtered_auxdbkeys, gid=portage_gid, readonly=True) - self.auxdb[x] = metadata_overlay.database( - self.depcachedir, x, filtered_auxdbkeys, - gid=portage_gid, db_rw=volatile.database, - db_ro=db_ro) + try: + db_ro = self.auxdbmodule(self.depcachedir, x, + filtered_auxdbkeys, readonly=True, **cache_kwargs) + except CacheError: + self.auxdb[x] = volatile.database( + self.depcachedir, x, filtered_auxdbkeys, + **cache_kwargs) + else: + self.auxdb[x] = metadata_overlay.database( + self.depcachedir, x, filtered_auxdbkeys, + db_rw=volatile.database, db_ro=db_ro, + **cache_kwargs) else: for x in self.porttrees: if x in self.auxdb: |