From: Zac Medico Date: Sat, 22 Nov 2008 01:43:38 +0000 (-0000) Subject: Fix some cases in dep_zapdeps() where blocker atoms are inappropriately tested X-Git-Tag: v2.1.6_rc1~24 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=14dd807380f3366454d3831f4f2d80b137eb2e38;p=portage.git Fix some cases in dep_zapdeps() where blocker atoms are inappropriately tested for availablity. Thanks to Jorge Manuel B. S. Vicetto for reporting. (trunk r12024) svn path=/main/branches/2.1.6/; revision=12025 --- 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