aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-04-27 09:13:51 -0700
committerZac Medico <zmedico@gentoo.org>2011-04-27 09:13:51 -0700
commit37b0564dc8013f4495be59eb6af8dc9535c7c695 (patch)
tree39df9a9341f5bc980ba3af489bae0226f7eb63e9 /pym/_emerge/actions.py
parentexpand_new_virt: validate EAPI, IUSE and USE (diff)
downloadportage-37b0564dc8013f4495be59eb6af8dc9535c7c695.tar.gz
portage-37b0564dc8013f4495be59eb6af8dc9535c7c695.tar.bz2
portage-37b0564dc8013f4495be59eb6af8dc9535c7c695.zip
expand_new_virt: don't traverse blockers
Diffstat (limited to 'pym/_emerge/actions.py')
-rw-r--r--pym/_emerge/actions.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index 99619fa86..59db58dbf 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1296,11 +1296,17 @@ def expand_new_virt(vardb, atom):
or it does not match an installed package then it is
yielded without any expansion.
"""
+ if not isinstance(atom, Atom):
+ atom = Atom(atom)
traversed = set()
stack = [atom]
while stack:
atom = stack.pop()
+ if atom.blocker:
+ yield atom
+ continue
+
matches = vardb.match(atom)
if not (matches and matches[-1].startswith("virtual/")):
yield atom