commit:     bb0bb4104b0d6cab16abce9cd6e1683c0b6d5c8d
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  1 00:24:43 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Sep  1 00:30:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=bb0bb410

_backtrack_depgraph: fix premature backtracking termination (bug 693242)

Make backtracking continue as long as the backtracker has remaining
nodes to explore. This fixes a case where it would terminate prematurely
when the depgraph.need_restart() method returned False, even though the
backtracker had remaining nodes to explore.

Bug: https://bugs.gentoo.org/693242
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/_emerge/depgraph.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
index 3e99ac077..08240af67 100644
--- a/lib/_emerge/depgraph.py
+++ b/lib/_emerge/depgraph.py
@@ -9794,8 +9794,8 @@ def _backtrack_depgraph(settings, trees, myopts, 
myparams, myaction, myfiles, sp
                elif mydepgraph.need_restart():
                        backtracked += 1
                        backtracker.feedback(mydepgraph.get_backtrack_infos())
-               else:
-                       break
+               elif backtracker:
+                       backtracked += 1
 
        if not (success or mydepgraph.need_config_change()) and backtracked:
 

Reply via email to