From: Zac Medico Date: Wed, 20 Aug 2008 04:24:21 +0000 (-0000) Subject: Fix dep_wordreduce() so that it doesn't cancel out blocker atoms that happen X-Git-Tag: v2.2_rc9~70 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=063049e95f2db6adf2e0b73a557e715a88378644;p=portage.git Fix dep_wordreduce() so that it doesn't cancel out blocker atoms that happen to be matched by package.provided. svn path=/main/trunk/; revision=11442 --- diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 42124708f..20c65fc4c 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -6485,12 +6485,14 @@ def dep_check(depstring, mydbapi, mysettings, use="yes", mode=None, myuse=None, def dep_wordreduce(mydeplist,mysettings,mydbapi,mode,use_cache=1): "Reduces the deplist to ones and zeros" deplist=mydeplist[:] - for mypos in xrange(len(deplist)): + for mypos, token in enumerate(deplist): if isinstance(deplist[mypos], list): #recurse deplist[mypos]=dep_wordreduce(deplist[mypos],mysettings,mydbapi,mode,use_cache=use_cache) elif deplist[mypos]=="||": pass + elif token[:1] == "!": + deplist[mypos] = False else: mykey = dep_getkey(deplist[mypos]) if mysettings and mykey in mysettings.pprovideddict and \