the merge list, because some uninstall nodes may not be in the merge list
since they will be performed as part of an upgrade within a slot. This solves
a problem with Scheduler._choose_pkg() not parallelizing in some cases when
it should, due to an uninstall node not having it's edge reversed like it's
supposed to.
svn path=/main/trunk/; revision=11839
graph = self._digraph
- for node in self._mergelist:
+ # Iterate over all nodes rather than just the merge list, because
+ # some uninstall nodes may not be in the merge list since they will
+ # be performed as part of an upgrade within a slot.
+ for node in graph.all_nodes():
if not isinstance(node, Package) or \
node.operation != "uninstall":
continue