In traversing deps to add to Scheduler._unsatisfied_system_deps, only traverse
authorZac Medico <zmedico@gentoo.org>
Wed, 11 Mar 2009 06:21:17 +0000 (06:21 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 11 Mar 2009 06:21:17 +0000 (06:21 -0000)
completed 'merge' nodes since those are the only ones that need to be checked
for unsatisfied runtime deps, and it's normal for nodes that aren't yet
complete to have unsatisfied runtime deps. (trunk r12714)

svn path=/main/branches/2.1.6/; revision=12969

pym/_emerge/__init__.py

index 04df62a5d4b1ffd15f956aa8cd05ba67ac809fc0..4b0b08cbbe77afed578c477143ca3260e3a79d5c 100644 (file)
@@ -10806,7 +10806,14 @@ class Scheduler(PollScheduler):
                                        continue
                                if child is pkg:
                                        continue
-                               dep_stack.append(child)
+                               if child.operation == 'merge' and \
+                                       child in completed_tasks:
+                                       # When traversing children, only traverse completed
+                                       # 'merge' nodes since those are the only ones that need
+                                       # to be checked for unsatisfied runtime deps, and it's
+                                       # normal for nodes that aren't yet complete to have
+                                       # unsatisfied runtime deps.
+                                       dep_stack.append(child)
                                if child.operation == 'merge' and \
                                        child not in completed_tasks and \
                                        child in unsatisfied_runtime: