summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-11-22 01:33:24 +0000
committerZac Medico <zmedico@gentoo.org>2008-11-22 01:33:24 +0000
commit2714af5f630efa33ea33c2186a85ba0432a6aec0 (patch)
treedbedcb2d6b42b5e0548d461e891375ecb65eaa22
parent7771b760daca83fb323a647827195b1b1305d8e2 (diff)
downloadportage-2714af5f630efa33ea33c2186a85ba0432a6aec0.tar.gz
portage-2714af5f630efa33ea33c2186a85ba0432a6aec0.tar.bz2
portage-2714af5f630efa33ea33c2186a85ba0432a6aec0.zip
Fix some cases in dep_zapdeps() where blocker atoms are inappropriately tested
for availablity. Thanks to Jorge Manuel B. S. Vicetto <jmbsvicetto@g.o> for reporting. svn path=/main/trunk/; revision=12024
-rw-r--r--pym/portage/__init__.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 76ff91233..efdb6fcd5 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -6385,6 +6385,8 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
all_available = True
versions = {}
for atom in atoms:
+ if atom[:1] == "!":
+ continue
avail_pkg = mydbapi.match(atom)
if avail_pkg:
avail_pkg = avail_pkg[-1] # highest (ascending order)
@@ -6402,7 +6404,8 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
# If any version of a package is installed then we assume that it
# is preferred over other possible packages choices.
all_installed = True
- for atom in set([dep_getkey(atom) for atom in atoms]):
+ for atom in set([dep_getkey(atom) for atom in atoms \
+ if atom[:1] != "!"]):
# New-style virtuals have zero cost to install.
if not vardb.match(atom) and not atom.startswith("virtual/"):
all_installed = False