diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-08-20 04:24:21 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-08-20 04:24:21 +0000 |
commit | 063049e95f2db6adf2e0b73a557e715a88378644 (patch) | |
tree | 007ba1584b8eb0a2ebfffadbc14b93d56f918ce0 | |
parent | d3bd321b554cbc13fb78a797e5fc2a96e282267a (diff) | |
download | portage-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
-rw-r--r-- | pym/portage/__init__.py | 4 |
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 \ |