* Allow _choose_pkg() to choose an uninstall node when it reaches the front
of the queue. TODO: fix order for uninstall operations.
* Fix _dependent_on_scheduled_merges() to handle direct circular deps
correctly.
svn path=/main/trunk/; revision=10994
return rval
def _choose_pkg(self):
- if self._max_jobs < 2:
+ """
+ TODO: fix order for uninstall operations
+ """
+ if self._max_jobs < 2 or self._jobs == 0 or \
+ self._pkg_queue[0].operation == "uninstall":
return self._pkg_queue.pop(0)
self._prune_digraph()
completed_tasks = self._completed_tasks
dependent = False
- traversed_nodes = set()
+ traversed_nodes = set([pkg])
node_stack = graph.child_nodes(pkg)
while node_stack:
node = node_stack.pop()