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:20:08 -0700 |
commit | 161437273b668f4b276f9669aae89ef99213d40d (patch) | |
tree | f8be57220cb070e6fe4f02c53f10587828e529a2 | |
parent | 2cbaaedecba82946546068aae55ce2492322aace (diff) | |
download | portage-161437273b668f4b276f9669aae89ef99213d40d.tar.gz portage-161437273b668f4b276f9669aae89ef99213d40d.tar.bz2 portage-161437273b668f4b276f9669aae89ef99213d40d.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 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: |