summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/__init__.py2
-rw-r--r--pym/portage/__init__.py3
2 files changed, 4 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index d03a2eacb..328b7f1e9 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2484,12 +2484,14 @@ class depgraph(object):
myuse=myuse, strict=strict)
if True:
try:
+ self.trees[root]["selective"] = "selective" in self.myparams
if not strict:
portage.dep._dep_check_strict = False
mycheck = portage.dep_check(depstring, None,
pkgsettings, myuse=myuse,
myroot=root, trees=trees)
finally:
+ self.trees[root]["selective"] = False
portage.dep._dep_check_strict = True
if not mycheck[0]:
raise portage.exception.InvalidDependString(mycheck[1])
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 745ecb38c..9407d2a90 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -5315,6 +5315,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 []
@@ -5378,7 +5379,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),