diff options
-rw-r--r-- | pym/_emerge/__init__.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 0ea40b905..8b7c69e7c 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -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: |