summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-24 22:01:35 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-24 22:01:35 -0700
commit8f93d096a3838caf64f955bba6962b6ad0ff27fe (patch)
tree16bfb20bb517f7be78d3507797539c7569e3eb61
parent5a5a15fe39adab09d9a0e0d2b1d4ee7064278c09 (diff)
downloadportage-8f93d096a3838caf64f955bba6962b6ad0ff27fe.tar.gz
portage-8f93d096a3838caf64f955bba6962b6ad0ff27fe.tar.bz2
portage-8f93d096a3838caf64f955bba6962b6ad0ff27fe.zip
dblink: use config._init_dirs() when necessary
-rw-r--r--pym/portage/dbapi/vartree.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 0079e4f3e..159871bc3 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -3723,9 +3723,13 @@ class dblink(object):
# write out our collection of md5sums
if cfgfiledict != cfgfiledict_orig:
cfgfiledict.pop("IGNORE", None)
- ensure_dirs(os.path.dirname(self.vartree.dbapi._conf_mem_file),
- gid=portage_gid, mode=0o2750, mask=0o2)
- writedict(cfgfiledict, self.vartree.dbapi._conf_mem_file)
+ try:
+ writedict(cfgfiledict, self.vartree.dbapi._conf_mem_file)
+ except IOError as e:
+ if e.errno != errno.ENOENT:
+ raise
+ self.settings._init_dirs()
+ writedict(cfgfiledict, self.vartree.dbapi._conf_mem_file)
return os.EX_OK