diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-01-03 17:13:24 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-01-03 17:13:24 -0800 |
commit | 68bdfe7c15fcc6c268f66d1b89348cf7ed4f2eb5 (patch) | |
tree | c610a13f660af3d7bab3230c9665d6602833defd /pym/portage | |
parent | 1780dc89b5e3a5e51dc7cdc397385841aecef83f (diff) | |
download | portage-68bdfe7c15fcc6c268f66d1b89348cf7ed4f2eb5.tar.gz portage-68bdfe7c15fcc6c268f66d1b89348cf7ed4f2eb5.tar.bz2 portage-68bdfe7c15fcc6c268f66d1b89348cf7ed4f2eb5.zip |
dep_zapdeps: add other_installed choice bin
Hopefully this will fix bug #350488.
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/dep/dep_check.py | 12 |
1 files changed, 11 insertions, 1 deletions
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 |