summaryrefslogtreecommitdiffstats
path: root/pym/cache
diff options
context:
space:
mode:
Diffstat (limited to 'pym/cache')
-rw-r--r--pym/cache/flat_hash.py2
-rw-r--r--pym/cache/metadata_overlay.py5
2 files changed, 5 insertions, 2 deletions
diff --git a/pym/cache/flat_hash.py b/pym/cache/flat_hash.py
index a8adb2205..48e8a175e 100644
--- a/pym/cache/flat_hash.py
+++ b/pym/cache/flat_hash.py
@@ -17,7 +17,7 @@ class database(fs_template.FsBased):
self.location = os.path.join(self.location,
self.label.lstrip(os.path.sep).rstrip(os.path.sep))
- if not os.path.exists(self.location):
+ if not self.readonly and not os.path.exists(self.location):
self._ensure_dirs()
def __getitem__(self, cpv):
diff --git a/pym/cache/metadata_overlay.py b/pym/cache/metadata_overlay.py
index c4d18c173..b829ea579 100644
--- a/pym/cache/metadata_overlay.py
+++ b/pym/cache/metadata_overlay.py
@@ -19,7 +19,10 @@ class database(template.database):
**config):
super(database, self).__init__(location, label, auxdbkeys)
self.db_rw = db_rw(location, label, auxdbkeys, **config)
- self.db_ro = db_ro(label,"metadata/cache",auxdbkeys)
+ self.commit = self.db_rw.commit
+ ro_config = config.copy()
+ ro_config["readonly"] = True
+ self.db_ro = db_ro(label, "metadata/cache", auxdbkeys, **ro_config)
def __getitem__(self, cpv):
"""funnel whiteout validation through here, since value needs to be fetched"""