diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-29 05:23:18 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-29 05:23:18 +0000 |
commit | 58b45681cb6bc0a1dd2064f9d44bcab1e32b7278 (patch) | |
tree | eda75e63faf2fb55eaaabe506cbea8ec3b561032 | |
parent | 62922180cd7add6eda865aa331e471cef978b740 (diff) | |
download | portage-58b45681cb6bc0a1dd2064f9d44bcab1e32b7278.tar.gz portage-58b45681cb6bc0a1dd2064f9d44bcab1e32b7278.tar.bz2 portage-58b45681cb6bc0a1dd2064f9d44bcab1e32b7278.zip |
Save the content of CONFIG_MEMORY_FILE in dblink.treewalk() _before_
unmerging other instances, in order to avoid overwritting/undoing
the pruning that's done during unmerge.
svn path=/main/trunk/; revision=10476
-rw-r--r-- | pym/portage/dbapi/vartree.py | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index ed61bcd7c..8f8926231 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -2323,6 +2323,12 @@ class dblink(object): outfile.flush() outfile.close() + # write out our collection of md5sums + cfgfiledict.pop("IGNORE", None) + ensure_dirs(os.path.dirname(conf_mem_file), + gid=portage_gid, mode=02750, mask=02) + writedict(cfgfiledict, conf_mem_file) + # These caches are populated during collision-protect and the data # they contain is now invalid. It's very important to invalidate # the contents_inodes cache so that FEATURES=unmerge-orphans @@ -2410,16 +2416,6 @@ class dblink(object): self.vartree.dbapi.cpcache.pop(self.mysplit[0], None) contents = self.getcontents() - #write out our collection of md5sums - if cfgfiledict.has_key("IGNORE"): - del cfgfiledict["IGNORE"] - - my_private_path = os.path.join(destroot, PRIVATE_PATH) - ensure_dirs(my_private_path, gid=portage_gid, mode=02750, mask=02) - - writedict(cfgfiledict, conf_mem_file) - del conf_mem_file - # regenerate reverse NEEDED map self.vartree.dbapi.linkmap.rebuild() |