From 063049e95f2db6adf2e0b73a557e715a88378644 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 20 Aug 2008 04:24:21 +0000 Subject: 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 --- pym/portage/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pym') 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 \ -- cgit v1.2.3-1-g7c22