summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-08-20 04:24:21 +0000
committerZac Medico <zmedico@gentoo.org>2008-08-20 04:24:21 +0000
commit063049e95f2db6adf2e0b73a557e715a88378644 (patch)
tree007ba1584b8eb0a2ebfffadbc14b93d56f918ce0 /pym
parentd3bd321b554cbc13fb78a797e5fc2a96e282267a (diff)
downloadportage-063049e95f2db6adf2e0b73a557e715a88378644.tar.gz
portage-063049e95f2db6adf2e0b73a557e715a88378644.tar.bz2
portage-063049e95f2db6adf2e0b73a557e715a88378644.zip
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
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/__init__.py4
1 files changed, 3 insertions, 1 deletions
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 \