Fix issues with an empty string being passed into
authorZac Medico <zmedico@gentoo.org>
Mon, 14 Apr 2008 19:18:35 +0000 (19:18 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 14 Apr 2008 19:18:35 +0000 (19:18 -0000)
PreservedLibsRegistry.register() now that COUNTER is not loaded
via config.load_infodir(). Thanks to grobian for reporting.

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

pym/portage/dbapi/vartree.py

index cba96cacdb179a6be722bfdaa4db2a3e3afd36dc..77c589195dc06938db412e288561819efaab6088 100644 (file)
@@ -1168,7 +1168,8 @@ class dblink(object):
                        
                        # Remove the registration of preserved libs for this pkg instance
                        plib_registry = self.vartree.dbapi.plib_registry
-                       plib_registry.unregister(self.mycpv, self.settings["SLOT"], self.settings["COUNTER"])
+                       plib_registry.unregister(self.mycpv, self.settings["SLOT"],
+                               self.vartree.dbapi.cpv_counter(self.mycpv))
 
                        if myebuildpath:
                                ebuild_phase = "postrm"
@@ -1879,6 +1880,10 @@ class dblink(object):
                #       has to be before the counter is written) - genone
                counter = self.vartree.dbapi.counter_tick(self.myroot, mycpv=self.mycpv)
 
+               # Save this for unregistering preserved-libs if the merge fails.
+               self.settings["COUNTER"] = str(counter)
+               self.settings.backup_changes("COUNTER")
+
                myfilelist = []
                mylinklist = []
                def onerror(e):