diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-12-11 01:24:34 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-12-11 01:24:34 +0000 |
commit | dff59172ed7a5f86302e873d1611961966aa35c3 (patch) | |
tree | 413f1668d8c335480d7db524366a17b1a9ead008 /bin/emerge | |
parent | 112404f0f14c65e807d078d35675a54e75464c63 (diff) | |
download | portage-dff59172ed7a5f86302e873d1611961966aa35c3.tar.gz portage-dff59172ed7a5f86302e873d1611961966aa35c3.tar.bz2 portage-dff59172ed7a5f86302e873d1611961966aa35c3.zip |
Ensure that the root of the vdb exists before attempting to lock it. Thanks to Flameeyes for reporting.
svn path=/main/trunk/; revision=5267
Diffstat (limited to 'bin/emerge')
-rwxr-xr-x | bin/emerge | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge index 93ec0706b..326c6c57c 100755 --- a/bin/emerge +++ b/bin/emerge @@ -715,6 +715,11 @@ class FakeVartree(portage.vartree): self.settings = real_vartree.settings self.dbapi = portage.fakedbapi(settings=real_vartree.settings) vdb_path = os.path.join(self.root, portage.VDB_PATH) + 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 os.access(vdb_path, os.W_OK): @@ -2759,6 +2764,11 @@ def unmerge(settings, myopts, vartree, unmerge_action, unmerge_files, xterm_titles = "notitles" not in settings.features vdb_path = os.path.join(settings["ROOT"], portage.VDB_PATH) + 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 os.access(vdb_path, os.W_OK): |