Inside Scheduler._dependent_on_scheduled_merges(), don't traverse children
authorZac Medico <zmedico@gentoo.org>
Sun, 29 Aug 2010 00:10:46 +0000 (17:10 -0700)
committerZac Medico <zmedico@gentoo.org>
Sun, 29 Aug 2010 00:10:46 +0000 (17:10 -0700)
of uninstall nodes since those aren't dependencies in the usual sense.

pym/_emerge/Scheduler.py

index 6979551a3fffae60805586519b6200ae02d78c2e..be4ef48af0d0b6d0a0c2ede67e0ff66ef7a8bae2 100644 (file)
@@ -1448,7 +1448,11 @@ class Scheduler(PollScheduler):
                                node in later):
                                dependent = True
                                break
-                       node_stack.extend(graph.child_nodes(node))
+
+                       # Don't traverse children of uninstall nodes since
+                       # those aren't dependencies in the usual sense.
+                       if node.operation != "uninstall":
+                               node_stack.extend(graph.child_nodes(node))
 
                return dependent