summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-09 02:30:36 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-09 02:30:36 +0000
commit68b72fae927fcc442de104d9bb2c3155b24103c3 (patch)
tree555043076668072eb58fac4d06c135e1749bef54
parentBug #261675 - Also don't call digestgen() from parallel-fetch processes. (diff)
downloadportage-multirepo-68b72fae927fcc442de104d9bb2c3155b24103c3.tar.gz
portage-multirepo-68b72fae927fcc442de104d9bb2c3155b24103c3.tar.bz2
portage-multirepo-68b72fae927fcc442de104d9bb2c3155b24103c3.zip
Bug #261675 - Generate manifests in advance when FEATURES=digest is enabled.
svn path=/main/trunk/; revision=12799
-rw-r--r--pym/_emerge/__init__.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index df7db268..4449f893 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -14572,7 +14572,14 @@ def action_build(settings, trees, mtimedb,
# Convert Atom instances to plain str.
mtimedb["resume"]["favorites"] = [str(x) for x in favorites]
- if ("--digest" in myopts) and not ("--fetchonly" in myopts or "--fetch-all-uri" in myopts):
+ digest = '--digest' in myopts
+ if not digest:
+ for pkgsettings in mydepgraph.pkgsettings.itervalues():
+ if 'digest' in pkgsettings.features:
+ digest = True
+ break
+
+ if digest and '--fetchonly' not in myopts:
for pkgline in mydepgraph.altlist():
if pkgline[0]=="ebuild" and pkgline[3]=="merge":
y = trees[pkgline[1]]["porttree"].dbapi.findname(pkgline[2])