summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-03-11 01:03:30 +0000
committerZac Medico <zmedico@gentoo.org>2006-03-11 01:03:30 +0000
commit14128dbfe0557248545d19184a3ede23e9a78664 (patch)
treed15ebb3092c9c5903a2bcaba1c14590d3b0cf0b0
parentConsolidate duplicate "myebuild" logic in the dblink.treewalk() method. (diff)
downloadportage-multirepo-14128dbfe0557248545d19184a3ede23e9a78664.tar.gz
portage-multirepo-14128dbfe0557248545d19184a3ede23e9a78664.tar.bz2
portage-multirepo-14128dbfe0557248545d19184a3ede23e9a78664.zip
Do the clean phase at the end of dblink.treewalk() to ensure that it is triggered when both source and binary packages are merged. See bug #105706.
svn path=/main/trunk/; revision=2843
-rwxr-xr-xbin/emerge9
-rw-r--r--pym/portage.py3
2 files changed, 3 insertions, 9 deletions
diff --git a/bin/emerge b/bin/emerge
index c69725c1..7faf822a 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -2069,18 +2069,11 @@ class depgraph:
os.execv(mynewargv[0], mynewargv)
if ("--pretend" not in myopts) and ("--fetchonly" not in myopts) and ("--fetch-all-uri" not in myopts):
- if "noclean" not in portage.features and x[0] != "binary":
+ if "noclean" not in portage.features:
short_msg = "emerge: (%s of %s) %s Clean Post" % \
(mergecount, len(mymergelist), x[pkgindex])
emergelog(" === (%s of %s) Post-Build Cleaning (%s::%s)" % \
(mergecount, len(mymergelist), x[pkgindex], y), short_msg=short_msg)
- retval = portage.doebuild(y, "clean", myroot,
- self.pkgsettings, edebug, cleanup=1, tree="porttree")
- if (retval == None):
- portage_util.writemsg("Unable to run required binary.\n")
- sys.exit(127)
- if retval:
- sys.exit(retval)
emergelog(" ::: completed emerge ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[2]+" to "+x[1])
# Unsafe for parallel merges
diff --git a/pym/portage.py b/pym/portage.py
index af446927..122f2e12 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6097,7 +6097,8 @@ class dblink:
# Process ebuild logfiles
elog_process(self.mycpv, self.settings)
-
+ if "noclean" not in features:
+ doebuild(myebuild, "clean", root, self.settings, cleanup=cleanup, tree=self.treetype)
return 0
def mergeme(self,srcroot,destroot,outfile,secondhand,stufftomerge,cfgfiledict,thismtime):