Fix emerge's "Post-Build Cleaning" so that it works with --buildpkgonly in FEATURES...
authorZac Medico <zmedico@gentoo.org>
Fri, 10 Mar 2006 11:52:26 +0000 (11:52 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 10 Mar 2006 11:52:26 +0000 (11:52 -0000)
svn path=/main/trunk/; revision=2839

bin/emerge

index 7e7d1c4d4fa0e61df1f0f1e47276d12700141ed9..c69725c112bbd983a97c1903d2be29fd42030ad4 100755 (executable)
@@ -2039,16 +2039,6 @@ class depgraph:
                                                os.path.join(myroot, portage.WORLD_FILE),
                                                "\n".join(myfavdict.values()))
 
-                               if ("noclean" not in portage.features) and (x[0] != "binary"):
-                                       short_msg = "emerge: ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" Clean Post"
-                                       emergelog(" === ("+str(mergecount)+" of "+str(len(mymergelist))+") Post-Build Cleaning ("+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)
-
                                if ("--pretend" not in myopts) and ("--fetchonly" not in myopts) and ("--fetch-all-uri" not in myopts):
                                        # Clean the old package that we have merged over top of it.
                                        if self.pkgsettings["AUTOCLEAN"]=="yes":
@@ -2079,6 +2069,18 @@ 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":
+                                       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