_add_dep: remove questionable need_restart logic v2.2.0_alpha166
authorZac Medico <zmedico@gentoo.org>
Tue, 5 Mar 2013 01:38:48 +0000 (17:38 -0800)
committerZac Medico <zmedico@gentoo.org>
Tue, 5 Mar 2013 01:38:48 +0000 (17:38 -0800)
This need_restart logic was apparently intended to interact with
want_restart_for_use_change, but doesn't appear to be necessary
anymore. We really don't want the need_restart flag to prevent
"missing dependency" backtracking.

pym/_emerge/depgraph.py

index 90332851a6036fd74522dd39cc698106ae8682eb..34ad41353c663ea10d5008c80c7a64d3650137ff 100644 (file)
@@ -1695,9 +1695,13 @@ class depgraph(object):
                                        self._slot_operator_unsatisfied_probe(dep):
                                        self._slot_operator_unsatisfied_backtrack(dep)
                                        return 1
-                               elif not self.need_restart():
+                               else:
                                        # Do not backtrack if only USE have to be changed in
-                                       # order to satisfy the dependency.
+                                       # order to satisfy the dependency. Note that when
+                                       # want_restart_for_use_change sets the need_restart
+                                       # flag, it causes _select_pkg_highest_available to
+                                       # return None, and eventually we come through here
+                                       # and skip the "missing dependency" backtracking path.
                                        dep_pkg, existing_node = \
                                                self._select_package(dep.root, dep.atom.without_use,
                                                        onlydeps=dep.onlydeps)