From: Zac Medico Date: Thu, 29 May 2008 05:27:40 +0000 (-0000) Subject: Save the content of CONFIG_MEMORY_FILE in dblink.treewalk() _before_ X-Git-Tag: v2.1.5.3~28 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a06f5c6df19a41847414d295bf23392a10248a69;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. (trunk r10476) svn path=/main/branches/2.1.2/; revision=10477 --- diff --git a/pym/portage.py b/pym/portage.py index 21f20539a..812aaaa5a 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -9661,6 +9661,12 @@ class dblink: outfile.flush() outfile.close() + # write out our collection of md5sums + cfgfiledict.pop("IGNORE", None) + portage_util.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 @@ -9747,17 +9753,6 @@ class dblink: 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) - portage_util.ensure_dirs( - my_private_path, gid=portage_gid, mode=02750, mask=02) - - writedict(cfgfiledict, conf_mem_file) - del conf_mem_file - #do postinst script self.settings["PORTAGE_UPDATE_ENV"] = \ os.path.join(self.dbpkgdir, "environment.bz2")