summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-08-27 06:10:37 +0000
committerZac Medico <zmedico@gentoo.org>2009-08-27 06:10:37 +0000
commit5ff827ba5d086609cddd04bf9bf610de0445656b (patch)
treea7c649955c17416b08d14844ca5d2a95604c4f97
parent19da4173f212e248612b2f4f593dc2f839a24f1c (diff)
downloadportage-5ff827ba5d086609cddd04bf9bf610de0445656b.tar.gz
portage-5ff827ba5d086609cddd04bf9bf610de0445656b.tar.bz2
portage-5ff827ba5d086609cddd04bf9bf610de0445656b.zip
Fix the code from bug #275796 to ensure that choices always go into the
preferred_in_graph slot when appropriate. svn path=/main/trunk/; revision=14164
-rw-r--r--pym/portage/__init__.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 27fa52cc2..8669dd7f8 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -7705,7 +7705,7 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
not slot_atom.startswith("virtual/"):
all_installed_slots = False
break
- if all_installed:
+ if graph_db is None and all_installed:
if all_installed_slots:
preferred_installed.append(this_choice)
else:
@@ -7750,7 +7750,13 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
else:
preferred_in_graph.append(this_choice)
else:
- preferred_non_installed.append(this_choice)
+ if all_installed:
+ if all_installed_slots:
+ preferred_installed.append(this_choice)
+ else:
+ preferred_any_slot.append(this_choice)
+ else:
+ preferred_non_installed.append(this_choice)
else:
other.append(this_choice)