summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-09-21 00:58:49 +0000
committerZac Medico <zmedico@gentoo.org>2006-09-21 00:58:49 +0000
commit6c711c380e203c74b35477a81ac8c13421aa8c67 (patch)
tree77344780a269f97a3662d53e3e752caf3bec81d7 /bin/emerge
parent79582e327b6df1a2481c6d2048e691bf5a23a291 (diff)
downloadportage-6c711c380e203c74b35477a81ac8c13421aa8c67.tar.gz
portage-6c711c380e203c74b35477a81ac8c13421aa8c67.tar.bz2
portage-6c711c380e203c74b35477a81ac8c13421aa8c67.zip
Fix depgraph.validate_blockers() logic so that match_from_list works correctly.
svn path=/main/trunk/; revision=4487
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge9
1 files changed, 6 insertions, 3 deletions
diff --git a/bin/emerge b/bin/emerge
index ce449c720..5cf60720b 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1241,9 +1241,12 @@ class depgraph:
for blocker in all_blockers:
mytype, myroot, mydep = blocker.split()
mykey = portage.dep_getkey(mydep)
- if mykey not in self.pkg_slots[myroot] or \
- not portage.match_from_list(mydep, \
- self.pkg_slots[myroot][mykey].values()):
+ valid = False
+ pkgs = self.pkg_slots[myroot].get(mykey, None)
+ if pkgs and portage.match_from_list(mydep,
+ [pkgs[myslot] for myslot in pkgs]):
+ valid = True
+ if not valid:
self.digraph.remove(blocker)
def altlist(self, reversed=False):