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 <niels@thykier.net>
master
Niels Thykier 10 years ago
parent a2d63a1c73
commit 04afa83ad8

@ -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,

Loading…
Cancel
Save