1 |
commit: 37b0564dc8013f4495be59eb6af8dc9535c7c695 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Apr 27 16:13:51 2011 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Apr 27 16:13:51 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=37b0564d |
7 |
|
8 |
expand_new_virt: don't traverse blockers |
9 |
|
10 |
--- |
11 |
pym/_emerge/actions.py | 6 ++++++ |
12 |
1 files changed, 6 insertions(+), 0 deletions(-) |
13 |
|
14 |
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py |
15 |
index 99619fa..59db58d 100644 |
16 |
--- a/pym/_emerge/actions.py |
17 |
+++ b/pym/_emerge/actions.py |
18 |
@@ -1296,11 +1296,17 @@ def expand_new_virt(vardb, atom): |
19 |
or it does not match an installed package then it is |
20 |
yielded without any expansion. |
21 |
""" |
22 |
+ if not isinstance(atom, Atom): |
23 |
+ atom = Atom(atom) |
24 |
traversed = set() |
25 |
stack = [atom] |
26 |
|
27 |
while stack: |
28 |
atom = stack.pop() |
29 |
+ if atom.blocker: |
30 |
+ yield atom |
31 |
+ continue |
32 |
+ |
33 |
matches = vardb.match(atom) |
34 |
if not (matches and matches[-1].startswith("virtual/")): |
35 |
yield atom |