From b4bed1ca62f2cc3c3aa6d2f37aedc0d0b2b5d62d Mon Sep 17 00:00:00 2001 From: "Adam D. Barratt" Date: Mon, 27 Apr 2015 19:43:54 +0000 Subject: [PATCH] britney.py: reverse sense of tests for architecture-indep packages It's more natural to say "check this package if the current arch is in this list" than "do not check this package if the current arch is not in this list" Signed-off-by: Adam D. Barratt --- britney.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/britney.py b/britney.py index 9bd4a60..5c2171e 100755 --- a/britney.py +++ b/britney.py @@ -1764,9 +1764,7 @@ class Britney(object): for arch in self.options.architectures: if requested_arch and arch != requested_arch: continue # if it is in the nobreakall ones, check arch-independent packages too - if arch not in self.options.nobreakall_arches.split(): - skip_archall = True - else: skip_archall = False + check_archall = arch in self.options.nobreakall_arches.split() # check all the packages for this architecture nuninst[arch] = set() @@ -1778,7 +1776,7 @@ class Britney(object): # if they are not required, remove architecture-independent packages nuninst[arch + "+all"] = nuninst[arch].copy() - if skip_archall: + if not check_archall: for pkg in nuninst[arch + "+all"]: bpkg = binaries[arch][0][pkg] if bpkg[ARCHITECTURE] == 'all': @@ -2188,7 +2186,7 @@ class Britney(object): return (affected, undo) - def _check_packages(self, binaries, arch, affected, skip_archall, nuninst): + def _check_packages(self, binaries, arch, affected, check_archall, nuninst): broken = nuninst[arch + "+all"] to_check = [] @@ -2200,7 +2198,8 @@ class Britney(object): version = pkgdata[VERSION] parch = pkgdata[ARCHITECTURE] nuninst_arch = None - if not (skip_archall and parch == 'all'): + # only check arch:all packages if requested + if check_archall or parch != 'all': nuninst_arch = nuninst[arch] self._installability_test(p, version, arch, broken, to_check, nuninst_arch) @@ -2215,7 +2214,8 @@ class Britney(object): version = pkgdata[VERSION] parch = pkgdata[ARCHITECTURE] nuninst_arch = None - if not (skip_archall and parch == 'all'): + # only check arch:all packages if requested + if check_archall or parch != 'all': nuninst_arch = nuninst[arch] self._installability_test(p, version, arch, broken, to_check, nuninst_arch) @@ -2264,12 +2264,9 @@ class Britney(object): nuninst[arch + '+all'] = set(x for x in nuninst_arch_all if x in binaries_t_a) for arch in self.options.architectures: - if arch not in nobreakall_arches: - skip_archall = True - else: - skip_archall = False + check_archall = arch in nobreakall_arches - check_packages(arch, all_affected, skip_archall, nuninst) + check_packages(arch, all_affected, check_archall, nuninst) return nuninst @@ -2337,15 +2334,12 @@ class Britney(object): # check the affected packages on all the architectures for arch in (item.architecture == 'source' and architectures or (item.architecture,)): - if arch not in nobreakall_arches: - skip_archall = True - else: - skip_archall = False + check_archall = arch in nobreakall_arches nuninst[arch] = set(x for x in nuninst_comp[arch] if x in binaries[arch][0]) nuninst[arch + "+all"] = set(x for x in nuninst_comp[arch + "+all"] if x in binaries[arch][0]) - check_packages(arch, affected, skip_archall, nuninst) + check_packages(arch, affected, check_archall, nuninst) # if the uninstallability counter is worse than before, break the loop if ((item.architecture != 'source' and arch not in new_arches) or \