In traversing deps to add to Scheduler._unsatisfied_system_deps, only traverse
authorZac Medico <zmedico@gentoo.org>
Thu, 26 Feb 2009 07:50:49 +0000 (07:50 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 26 Feb 2009 07:50:49 +0000 (07:50 -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.

svn path=/main/trunk/; revision=12714

pym/_emerge/__init__.py

index 0ea40b905cb5a86224a843a93b578910924644e4..8b7c69e7c104f405c185a7810cd54c04f3dc40ca 100644 (file)
@@ -10822,7 +10822,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: