summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/dep/dep_check.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/pym/portage/dep/dep_check.py b/pym/portage/dep/dep_check.py
index cf62d337b..cd740cda3 100644
--- a/pym/portage/dep/dep_check.py
+++ b/pym/portage/dep/dep_check.py
@@ -257,6 +257,7 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
unsat_use_installed = []
unsat_use_non_installed = []
other_installed = []
+ other_installed_some = []
other = []
# unsat_use_* must come after preferred_non_installed
@@ -270,6 +271,7 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
unsat_use_installed,
unsat_use_non_installed,
other_installed,
+ other_installed_some,
other,
)
@@ -427,12 +429,18 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
unsat_use_non_installed.append(this_choice)
else:
all_installed = True
+ some_installed = False
for atom in atoms:
- if not atom.blocker and not vardb.match(atom):
- all_installed = False
- break
+ if not atom.blocker:
+ if vardb.match(atom):
+ some_installed = True
+ else:
+ all_installed = False
+
if all_installed:
other_installed.append(this_choice)
+ elif some_installed:
+ other_installed_some.append(this_choice)
else:
other.append(this_choice)