Bug #261675 - When doebuild() is called by emerge, don't call digestgen()
authorZac Medico <zmedico@gentoo.org>
Mon, 9 Mar 2009 01:50:33 +0000 (01:50 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 9 Mar 2009 01:50:33 +0000 (01:50 -0000)
for FEATURES=digest because it's redundant and it can cause interference
with parallel-fetch and parallel builds.

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

pym/portage/__init__.py

index a8d55ca6be8f3d31d87b6aa5d4242cfc3433baa3..66fc8d8bd819d3d3ac4b370aa34b62bd47debe79 100644 (file)
@@ -5952,6 +5952,7 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                mycpv = "/".join((mysettings["CATEGORY"], mysettings["PF"]))
 
                emerge_skip_distfiles = returnpid
+               emerge_skip_digest = returnpid
                # Only try and fetch the files if we are going to need them ...
                # otherwise, if user has FEATURES=noauto and they run `ebuild clean
                # unpack compile install`, we will try and fetch 4 times :/
@@ -6008,7 +6009,7 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                        elif mydo == "digest":
                                return not digestgen(aalist, mysettings, overwrite=1,
                                        myportdb=mydbapi)
-                       elif "digest" in mysettings.features:
+                       elif not emerge_skip_digest and "digest" in mysettings.features:
                                digestgen(aalist, mysettings, overwrite=0, myportdb=mydbapi)
                except portage.exception.PermissionDenied, e:
                        writemsg("!!! Permission Denied: %s\n" % (e,), noiselevel=-1)