diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-24 22:01:35 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-24 22:01:35 -0700 |
commit | 8f93d096a3838caf64f955bba6962b6ad0ff27fe (patch) | |
tree | 16bfb20bb517f7be78d3507797539c7569e3eb61 | |
parent | 5a5a15fe39adab09d9a0e0d2b1d4ee7064278c09 (diff) | |
download | portage-8f93d096a3838caf64f955bba6962b6ad0ff27fe.tar.gz portage-8f93d096a3838caf64f955bba6962b6ad0ff27fe.tar.bz2 portage-8f93d096a3838caf64f955bba6962b6ad0ff27fe.zip |
dblink: use config._init_dirs() when necessary
-rw-r--r-- | pym/portage/dbapi/vartree.py | 10 |
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 |