From f1d70ed933e99b406f1154f22b904cad7be84d33 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 3 Jan 2011 17:13:24 -0800 Subject: dep_zapdeps: add other_installed choice bin Hopefully this will fix bug #350488. --- pym/portage/dep/dep_check.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'pym') diff --git a/pym/portage/dep/dep_check.py b/pym/portage/dep/dep_check.py index fca1594a7..cf62d337b 100644 --- a/pym/portage/dep/dep_check.py +++ b/pym/portage/dep/dep_check.py @@ -256,6 +256,7 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None): unsat_use_in_graph = [] unsat_use_installed = [] unsat_use_non_installed = [] + other_installed = [] other = [] # unsat_use_* must come after preferred_non_installed @@ -268,6 +269,7 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None): unsat_use_in_graph, unsat_use_installed, unsat_use_non_installed, + other_installed, other, ) @@ -424,7 +426,15 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None): else: unsat_use_non_installed.append(this_choice) else: - other.append(this_choice) + all_installed = True + for atom in atoms: + if not atom.blocker and not vardb.match(atom): + all_installed = False + break + if all_installed: + other_installed.append(this_choice) + else: + other.append(this_choice) # Prefer choices which contain upgrades to higher slots. This helps # for deps such as || ( foo:1 foo:2 ), where we want to prefer the -- cgit v1.2.3-1-g7c22