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

svn path=/main/branches/2.1.6/; revision=13031

pym/portage/__init__.py

index b59c16f20d6d2c32de491373f90d7a6d8939ca79..6f81318ac5303bf3766599e634dde14bb4d25129 100644 (file)
@@ -5942,6 +5942,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 :/
@@ -5998,7 +5999,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)