diff --git a/britney.py b/britney.py index 189eeec..dd42639 100755 --- a/britney.py +++ b/britney.py @@ -312,7 +312,8 @@ class Britney(object): if self.options.nuninst_cache: self.logger.info("Not building the list of non-installable packages, as requested") if self.options.print_uninst: - nuninst = self.get_nuninst(build=False) + nuninst = read_nuninst(self.options.noninst_status, + self.options.architectures) print('* summary') print('\n'.join('%4d %s' % (len(nuninst[x]), x) for x in self.options.architectures)) return @@ -356,7 +357,10 @@ class Britney(object): if not self.options.nuninst_cache: self.logger.info("Building the list of non-installable packages for the full archive") self._inst_tester.compute_testing_installability() - nuninst = self.get_nuninst(build=True) + nuninst = compile_nuninst(self.suite_info.target_suite.binaries, + self._inst_tester, + self.options.architectures, + self.options.nobreakall_arches) self.nuninst_orig = nuninst for arch in self.options.architectures: self.logger.info("> Found %d non-installable packages", len(nuninst[arch])) @@ -379,7 +383,8 @@ class Britney(object): self.logger.info("> - %s", stat) else: self.logger.info("Loading uninstallability counters from cache") - self.nuninst_orig = self.get_nuninst() + self.nuninst_orig = read_nuninst(self.options.noninst_status, + self.options.architectures) # nuninst_orig may get updated during the upgrade process self.nuninst_orig_save = clone_nuninst(self.nuninst_orig, architectures=self.options.architectures) @@ -1735,28 +1740,6 @@ class Britney(object): # Upgrade run # ----------- - def get_nuninst(self, build=False): - """Return the uninstallability statistic for all the architectures - - To calculate the uninstallability counters, the method checks the - installability of all the packages for all the architectures, and - tracks dependencies in a recursive way. The architecture - independent packages are checked only for the `nobreakall` - architectures. - - It returns a dictionary with the architectures as keys and the list - of uninstallable packages as values. - """ - # if we are not asked to build the nuninst, read it from the cache - if not build: - return read_nuninst(self.options.noninst_status, - self.options.architectures) - - return compile_nuninst(self.suite_info.target_suite.binaries, - self._inst_tester, - self.options.architectures, - self.options.nobreakall_arches) - def eval_nuninst(self, nuninst, original=None): """Return a string which represents the uninstallability counters @@ -2416,7 +2399,10 @@ class Britney(object): cached_nuninst = self.nuninst_orig self._inst_tester.compute_testing_installability() - computed_nuninst = self.get_nuninst(build=True) + computed_nuninst = compile_nuninst(self.suite_info.target_suite.binaries, + self._inst_tester, + self.options.architectures, + self.options.nobreakall_arches) if cached_nuninst != computed_nuninst: # pragma: no cover only_on_break_archs = True self.logger.error("==================== NUNINST OUT OF SYNC =========================")