diff --git a/pym/update/update.py b/pym/update/update.py index 26e6f00..138ec49 100644 --- a/pym/update/update.py +++ b/pym/update/update.py @@ -1558,7 +1558,7 @@ class Update(MethodsInterface): return True @variable_module("update") - def _search_best_binhost(self, binhosts_data, stabilization): + def _search_best_binhost(self, binhosts_data, stabilization, ignore_level=False): if not self.clVars.Get('cl_ebuild_phase'): logger = self._get_binhost_logger() if logger: @@ -1588,9 +1588,9 @@ class Update(MethodsInterface): else: # SUCCESS - if self.compare_update_level(binhost.level) < 0: + if not ignore_level and self.compare_update_level(binhost.level) < 0: reason = self.Reason.LevelWrong - if not binhost.downgraded or stabilization: + elif not binhost.downgraded or stabilization: host = "-> %s" % host reason = self.Reason.Success else: @@ -1734,7 +1734,7 @@ class Update(MethodsInterface): current_level_is_valid = self.check_current_level() if not ignore_level else None self.startTask(_("Searching new binhost")) retval = self._search_best_binhost(self.binhosts_data, - stabilization) + stabilization, ignore_level) self.clVars.Set('update.cl_update_binhost_data',