Never call digestgen() inside doebuild() which only 'fetch' has been
authorZac Medico <zmedico@gentoo.org>
Mon, 9 Mar 2009 03:47:10 +0000 (03:47 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 9 Mar 2009 03:47:10 +0000 (03:47 -0000)
requested since it's not needed in this case.

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

pym/portage/__init__.py

index fe3a7b1684621637f730a357fb21355ec5fb4429..9903cd820bd02eb1bec6134fca75c498d270f56e 100644 (file)
@@ -6009,8 +6009,11 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
                        elif mydo == "digest":
                                return not digestgen(aalist, mysettings, overwrite=1,
                                        myportdb=mydbapi)
-                       elif not emerge_skip_digest and not parallel_fetchonly and \
+                       elif mydo != 'fetch' and not emerge_skip_digest and \
                                "digest" in mysettings.features:
+                               # Don't do this when called by emerge or when called just
+                               # for fetch (especially parallel-fetch) since it's not needed
+                               # and it can interfere with parallel tasks.
                                digestgen(aalist, mysettings, overwrite=0, myportdb=mydbapi)
                except portage.exception.PermissionDenied, e:
                        writemsg("!!! Permission Denied: %s\n" % (e,), noiselevel=-1)