summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/FakeVartree.py17
1 files changed, 6 insertions, 11 deletions
diff --git a/pym/_emerge/FakeVartree.py b/pym/_emerge/FakeVartree.py
index fa490c2d6..ff092adfe 100644
--- a/pym/_emerge/FakeVartree.py
+++ b/pym/_emerge/FakeVartree.py
@@ -119,20 +119,15 @@ class FakeVartree(vartree):
after one or more packages may have been installed or
uninstalled.
"""
- vdb_path = os.path.join(self.settings['EROOT'], portage.VDB_PATH)
+ locked = False
try:
- # At least the parent needs to exist for the lock file.
- portage.util.ensure_dirs(vdb_path)
- except portage.exception.PortageException:
- pass
- vdb_lock = None
- try:
- if acquire_lock and os.access(vdb_path, os.W_OK):
- vdb_lock = portage.locks.lockdir(vdb_path)
+ if acquire_lock and os.access(self._real_vardb._dbroot, os.W_OK):
+ self._real_vardb.lock()
+ locked = True
self._sync()
finally:
- if vdb_lock:
- portage.locks.unlockdir(vdb_lock)
+ if locked:
+ self._real_vardb.unlock()
# Populate the old-style virtuals using the cached values.
# Skip the aux_get wrapper here, to avoid unwanted