summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-03-30 00:55:46 +0000
committerZac Medico <zmedico@gentoo.org>2008-03-30 00:55:46 +0000
commit13538539f7818ec6fc77e68fd20c41017caf946b (patch)
tree7f5d56133007ecce94dbbb4418cd0e4130eb6871 /pym
parent0ed7e5ea5cc2dae19e5013a5a79c59ee93702544 (diff)
downloadportage-13538539f7818ec6fc77e68fd20c41017caf946b.tar.gz
portage-13538539f7818ec6fc77e68fd20c41017caf946b.tar.bz2
portage-13538539f7818ec6fc77e68fd20c41017caf946b.zip
For bugs #197810 and #215308, pass the depgraph's "selective" parameter
down into dep_check() for better atom preference selection when handling virtuals and other disjunctive || dependencies. svn path=/main/branches/2.1.2/; revision=9610
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 2cbc2ef07..7db532787 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -5290,6 +5290,7 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
if trees is None:
global db
trees = db
+ selective = trees[myroot].get("selective", False)
writemsg("ZapDeps -- %s\n" % (use_binaries), 2)
if not reduced or unreduced == ["||"] or dep_eval(reduced):
return []
@@ -5353,7 +5354,7 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
has_mask = False
if hasattr(mydbapi, "xmatch"):
has_mask = bool(mydbapi.xmatch("match-all", atom))
- if (use_binaries or not has_mask):
+ if (selective or use_binaries or not has_mask):
avail_pkg = best(vardb.match(atom))
if avail_pkg:
avail_slot = "%s:%s" % (dep_getkey(atom),