Never call digestgen() inside doebuild() which only 'fetch' has been
authorZac Medico <zmedico@gentoo.org>
Wed, 11 Mar 2009 07:34:56 +0000 (07:34 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 11 Mar 2009 07:34:56 +0000 (07:34 -0000)
requested since it's not needed in this case. (trunk r12800)

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

pym/portage/__init__.py

index 06848450128b2c56c84dbad8d96074ecbc0f6291..ff86002f00dae7f3ba1702051a098add7724e599 100644 (file)
@@ -5999,8 +5999,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)