Save the content of CONFIG_MEMORY_FILE in dblink.treewalk() _before_
authorZac Medico <zmedico@gentoo.org>
Thu, 29 May 2008 05:27:40 +0000 (05:27 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 29 May 2008 05:27:40 +0000 (05:27 -0000)
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

pym/portage.py

index 21f20539acd41d1e2c0de48aad0fd021f91ff3c8..812aaaa5a21b9f0fcfbc94343cd46dc982ae9dcc 100644 (file)
@@ -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")