undo registrations of preserved libraries if the merge fails, bug #210501
authorMarius Mauch <genone@gentoo.org>
Sun, 2 Mar 2008 11:40:50 +0000 (11:40 -0000)
committerMarius Mauch <genone@gentoo.org>
Sun, 2 Mar 2008 11:40:50 +0000 (11:40 -0000)
svn path=/main/trunk/; revision=9406

pym/portage/dbapi/vartree.py

index 3c47d24fd18e0fd7e37c71f738bd566f4bdc42da..f49eb9dbc47210a058f114d435666aa2448ad9d4 100644 (file)
@@ -2511,6 +2511,9 @@ class dblink(object):
                try:
                        retval = self.treewalk(mergeroot, myroot, inforoot, myebuild,
                                cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
+                       # undo registrations of preserved libraries, bug #210501
+                       if retval != os.EX_OK:
+                               self.vartree.dbapi.plib_registry.unregister(self.mycpv, self.settings["SLOT"], self.settings["COUNTER"])
                        # Process ebuild logfiles
                        elog_process(self.mycpv, self.settings, phasefilter=filter_mergephases)
                        if retval == os.EX_OK and "noclean" not in self.settings.features: