From: Zac Medico Date: Thu, 26 Feb 2009 07:50:49 +0000 (-0000) Subject: In traversing deps to add to Scheduler._unsatisfied_system_deps, only traverse X-Git-Tag: v2.2_rc24~101 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=dbe8584ad36f01ef3fdb1ca4245d346c181f972e;p=portage.git In traversing deps to add to Scheduler._unsatisfied_system_deps, 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. svn path=/main/trunk/; revision=12714 --- 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: