MigrationManager: Create a is_nuninst_worse

Signed-off-by: Niels Thykier <niels@thykier.net>
ubuntu/rebased
Niels Thykier 6 years ago
parent aa6dd4a0f3
commit 89fcccba13
No known key found for this signature in database
GPG Key ID: A65B78DBE67C7AAC

@ -24,6 +24,16 @@ def compute_eqv_set(pkg_universe, updates, rms):
return eqv_set
def is_nuninst_worse(must_be_installable, nuninst_now_arch, nuninst_after_arch):
if len(nuninst_after_arch) > len(nuninst_now_arch):
return True
regression = nuninst_after_arch - nuninst_now_arch
if not regression.isdisjoint(must_be_installable):
return True
return False
class MigrationManager(object):
def __init__(self, options, suite_info, all_binaries, pkg_universe, constraints):
@ -406,13 +416,8 @@ class MigrationManager(object):
# if the uninstallability counter is worse than before, break the loop
if stop_on_first_regression:
worse = False
if len(nuninst_after[arch]) > len(nuninst_now[arch]):
worse = True
else:
regression = nuninst_after[arch] - nuninst_now[arch]
if not regression.isdisjoint(must_be_installable):
worse = True
worse = is_nuninst_worse(must_be_installable, nuninst_now[arch], nuninst_after[arch])
# ... except for a few special cases
if worse and ((not is_source_migration and arch not in new_arches) or
(arch not in break_arches)):

Loading…
Cancel
Save