From: Zac Medico Date: Thu, 29 May 2008 05:23:18 +0000 (-0000) Subject: Save the content of CONFIG_MEMORY_FILE in dblink.treewalk() _before_ X-Git-Tag: v2.2_pre8~77 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=58b45681cb6bc0a1dd2064f9d44bcab1e32b7278;p=portage.git 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 --- 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()