summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2008-03-02 11:40:50 +0000
committerMarius Mauch <genone@gentoo.org>2008-03-02 11:40:50 +0000
commitc956a435365bc19f746eb75650b21a5613683783 (patch)
treeb979f485ba4e81244ee44ac1749f276994a97b6d /pym
parent8fc64639748d9b5382bddeffffc41d12f672ed00 (diff)
downloadportage-c956a435365bc19f746eb75650b21a5613683783.tar.gz
portage-c956a435365bc19f746eb75650b21a5613683783.tar.bz2
portage-c956a435365bc19f746eb75650b21a5613683783.zip
undo registrations of preserved libraries if the merge fails, bug #210501
svn path=/main/trunk/; revision=9406
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/dbapi/vartree.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 3c47d24fd..f49eb9dbc 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -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: