diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-11-22 01:33:24 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-11-22 01:33:24 +0000 |
commit | 2714af5f630efa33ea33c2186a85ba0432a6aec0 (patch) | |
tree | dbedcb2d6b42b5e0548d461e891375ecb65eaa22 | |
parent | 7771b760daca83fb323a647827195b1b1305d8e2 (diff) | |
download | portage-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__.py | 5 |
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 |