summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-12 12:02:27 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-12 12:20:08 -0700
commit161437273b668f4b276f9669aae89ef99213d40d (patch)
treef8be57220cb070e6fe4f02c53f10587828e529a2
parent2cbaaedecba82946546068aae55ce2492322aace (diff)
downloadportage-161437273b668f4b276f9669aae89ef99213d40d.tar.gz
portage-161437273b668f4b276f9669aae89ef99213d40d.tar.bz2
portage-161437273b668f4b276f9669aae89ef99213d40d.zip
porttree: use pure volatile cache if necessary
-rw-r--r--pym/portage/dbapi/porttree.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py
index 231d1fb06..429f8cfa2 100644
--- a/pym/portage/dbapi/porttree.py
+++ b/pym/portage/dbapi/porttree.py
@@ -286,12 +286,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: