summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-11 06:57:32 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-11 06:57:32 +0000
commit2eaf1fe46193cf7374ed5c039977f7aaec1bd8e6 (patch)
tree7640a7f9244580ce3eacd9b7085e7a77d0469463
parentBug #261675 - Also don't call digestgen() from parallel-fetch processes. (diff)
downloadportage-multirepo-2eaf1fe46193cf7374ed5c039977f7aaec1bd8e6.tar.gz
portage-multirepo-2eaf1fe46193cf7374ed5c039977f7aaec1bd8e6.tar.bz2
portage-multirepo-2eaf1fe46193cf7374ed5c039977f7aaec1bd8e6.zip
Bug #261675 - Generate manifests in advance when FEATURES=digest is enabled.
(trunk r12799) svn path=/main/branches/2.1.6/; revision=13033
-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 2fee5382..1eed4a0e 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -14218,7 +14218,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])