summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-11-22 01:43:38 +0000
committerZac Medico <zmedico@gentoo.org>2008-11-22 01:43:38 +0000
commit14dd807380f3366454d3831f4f2d80b137eb2e38 (patch)
treee1f425fe030c748abd4e32102eab826154ec9a92
parentf1c99a9a19f4a14b811a4036483343ec0d5834ae (diff)
downloadportage-14dd807380f3366454d3831f4f2d80b137eb2e38.tar.gz
portage-14dd807380f3366454d3831f4f2d80b137eb2e38.tar.bz2
portage-14dd807380f3366454d3831f4f2d80b137eb2e38.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. (trunk r12024) svn path=/main/branches/2.1.6/; revision=12025
-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 b6f5cf8be..f3a0b1413 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -6372,6 +6372,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)
@@ -6389,7 +6391,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