summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-11-17 02:01:11 +0000
committerZac Medico <zmedico@gentoo.org>2006-11-17 02:01:11 +0000
commit6962390b52baa11871f1488567f18e722875d1f9 (patch)
tree11217022f716ea8c3583d43918ec226e2405542b
parenta170d19cffae6d3298afdb71cc8046b6d7b952a4 (diff)
downloadportage-6962390b52baa11871f1488567f18e722875d1f9.tar.gz
portage-6962390b52baa11871f1488567f18e722875d1f9.tar.bz2
portage-6962390b52baa11871f1488567f18e722875d1f9.zip
Fix _expand_new_virtuals so that it doesn't allow any virtual deps to go unaccounted for.
svn path=/main/trunk/; revision=5066
-rw-r--r--pym/portage.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/pym/portage.py b/pym/portage.py
index fd44e81ac..eb82ff0be 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -3543,11 +3543,12 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/",
if cpv.startswith("virtual/"):
pkgs.append((cpv, pkgsplit(cpv)))
if not pkgs:
- # This one couldn't be expanded as a new-style virtual. In order
- # for dep_zapdeps to work properly, this atom must be eliminated
- # from the choices (dep_zapdeps assigns zero cost to any virtual/*
- # atoms that it encounters). Old-style virtuals have already been
- # expanded to real atoms via dep_virtual.
+ # This one couldn't be expanded as a new-style virtual. Old-style
+ # virtuals have already been expanded by dep_virtual, so this one
+ # is unavailable and dep_zapdeps will identify it as such. The
+ # atom is not eliminated here since it may still represent a
+ # dependency that needs to be satisfied.
+ newsplit.append(x)
continue
pkgs.sort(compare_pkgs) # Prefer higher versions.
if isblocker: