Save the content of CONFIG_MEMORY_FILE in dblink.treewalk() _before_
authorZac Medico <zmedico@gentoo.org>
Thu, 29 May 2008 05:23:18 +0000 (05:23 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 29 May 2008 05:23:18 +0000 (05:23 -0000)
unmerging other instances, in order to avoid overwritting/undoing
the pruning that's done during unmerge.

svn path=/main/trunk/; revision=10476

pym/portage/dbapi/vartree.py

index ed61bcd7cb3b68ce71dd34276024297fe442170d..8f89262311ef82c356f123909018a6f90cb2a6af 100644 (file)
@@ -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()