summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-04-27 09:13:51 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-04 12:27:40 -0700
commita76dd07a2569eb515855ecc6ce3487d39ff8005d (patch)
tree8fb591dc71bf000b9f9cf9590aa1d7ab6b296983 /pym/_emerge
parent4abea4acc567de87264f734428d883fef4e0abb6 (diff)
downloadportage-a76dd07a2569eb515855ecc6ce3487d39ff8005d.tar.gz
portage-a76dd07a2569eb515855ecc6ce3487d39ff8005d.tar.bz2
portage-a76dd07a2569eb515855ecc6ce3487d39ff8005d.zip
expand_new_virt: don't traverse blockers
Diffstat (limited to 'pym/_emerge')
-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 68b828256..1c6829816 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1295,11 +1295,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