From 1d98bf293d256072b22be9f0d2ab2f59b596a86f Mon Sep 17 00:00:00 2001
From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
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 <adam@adam-barratt.org.uk>
---
 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 \