summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-03-02 20:12:14 +0000
committerZac Medico <zmedico@gentoo.org>2010-03-02 20:12:14 +0000
commit8bce58d56d8ec75289188297d711a905ba43d2df (patch)
tree22dd6d31fab6ef5af3d6a0b6b4c47edcad76ce2a /pym/_emerge
parentbf53782ad32ce5b0e4d1c3ddec0ae98fb7a443f5 (diff)
downloadportage-8bce58d56d8ec75289188297d711a905ba43d2df.tar.gz
portage-8bce58d56d8ec75289188297d711a905ba43d2df.tar.bz2
portage-8bce58d56d8ec75289188297d711a905ba43d2df.zip
Ignore blockers in DEPEND of built packages when --with-bdeps is enabled.
(trunk r15336) svn path=/main/branches/2.1.7/; revision=15565
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/depgraph.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index baf89e1b2..94fa06678 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1140,9 +1140,14 @@ class depgraph(object):
deps = (
(bdeps_root, edepend["DEPEND"],
self._priority(buildtime=(not bdeps_optional),
- optional=bdeps_optional)),
- (myroot, edepend["RDEPEND"], self._priority(runtime=True)),
- (myroot, edepend["PDEPEND"], self._priority(runtime_post=True))
+ optional=bdeps_optional),
+ pkg.built),
+ (myroot, edepend["RDEPEND"],
+ self._priority(runtime=True),
+ False),
+ (myroot, edepend["PDEPEND"],
+ self._priority(runtime_post=True),
+ False)
)
debug = "--debug" in self._frozen_config.myopts
@@ -1151,7 +1156,7 @@ class depgraph(object):
if not strict:
portage.dep._dep_check_strict = False
- for dep_root, dep_string, dep_priority in deps:
+ for dep_root, dep_string, dep_priority, ignore_blockers in deps:
if not dep_string:
continue
if debug:
@@ -1186,7 +1191,7 @@ class depgraph(object):
if not self._add_pkg_dep_string(
pkg, dep_root, dep_priority, dep_string,
- allow_unsatisfied):
+ allow_unsatisfied, ignore_blockers=ignore_blockers):
return 0
except portage.exception.AmbiguousPackageName as e:
@@ -1213,7 +1218,7 @@ class depgraph(object):
return 1
def _add_pkg_dep_string(self, pkg, dep_root, dep_priority, dep_string,
- allow_unsatisfied):
+ allow_unsatisfied, ignore_blockers=False):
depth = pkg.depth + 1
debug = "--debug" in self._frozen_config.myopts
strict = pkg.type_name != "installed"
@@ -1248,6 +1253,11 @@ class depgraph(object):
for atom, child in self._minimize_children(
pkg, dep_priority, root_config, selected_atoms[pkg]):
+ if ignore_blockers and atom.blocker:
+ # For --with-bdeps, ignore build-time only blockers
+ # that originate from built packages.
+ continue
+
mypriority = dep_priority.copy()
if not atom.blocker and vardb.match(atom):
mypriority.satisfied = True