From 8ea2157d7919495633db8375de5fa754517edd14 Mon Sep 17 00:00:00 2001 From: Niels Thykier Date: Wed, 6 Aug 2014 20:57:31 +0200 Subject: [PATCH] Avoid unnecessary nuninst regressions for break archs The "do_all"-method now checks the architectures of all changes applied. If they entirely consist of items from "break archs", then "do_all" will disregard the current "break archs" setting when comparing nuninst counters. This change avoids unintended installability regressions on break arches when a hint (manual or automatic) apply only to packages on break arches. Signed-off-by: Niels Thykier --- britney.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/britney.py b/britney.py index 2f9cb50..986213a 100755 --- a/britney.py +++ b/britney.py @@ -2366,7 +2366,12 @@ class Britney(object): newly_uninst(nuninst_start, nuninst_end)) + "\n") if not force: - break_arches = self.options.break_arches.split() + break_arches = set(self.options.break_arches.split()) + if all(x.architecture in break_arches for x in selected): + # If we only migrated items from break-arches, then we + # do not allow any regressions on these architectures. + # This usually only happens with hints + break_arches = set() better = is_nuninst_asgood_generous(self.options.architectures, self.nuninst_orig, nuninst_end,