mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-02-23 19:31:55 +00:00
Mark packages as uninstallable, even if this doesn't block migration
This allows the autopkgtest policy to skip tests for these packages.
This commit is contained in:
parent
c308361fc5
commit
a567dfd58d
@ -821,6 +821,11 @@ class DependsPolicy(BasePolicy):
|
||||
binary_u = packages_s_a[pkg_name]
|
||||
pkg_arch = binary_u.architecture
|
||||
|
||||
# in some cases, we want to track the uninstallability of a
|
||||
# package (because the autopkgtest policy uses this), but we still
|
||||
# want to allow the package to be uninstallable
|
||||
skip_dep_check = False
|
||||
|
||||
if (binary_u.source_version != source_data_srcdist.version):
|
||||
# don't check cruft in unstable
|
||||
continue
|
||||
@ -829,12 +834,15 @@ class DependsPolicy(BasePolicy):
|
||||
# we don't care about the existing arch: all binaries when
|
||||
# checking a binNMU item, because the arch: all binaries won't
|
||||
# migrate anyway
|
||||
continue
|
||||
skip_dep_check = True
|
||||
|
||||
if pkg_arch == 'all' and arch not in self.nobreakall_arches:
|
||||
skip_dep_check = True
|
||||
|
||||
if pkg_name in self.allow_uninst[arch]:
|
||||
# this binary is allowed to become uninstallable, so we don't
|
||||
# need to check anything
|
||||
continue
|
||||
skip_dep_check = True
|
||||
|
||||
if pkg_name in packages_t_a:
|
||||
oldbin = packages_t_a[pkg_name]
|
||||
@ -843,16 +851,16 @@ class DependsPolicy(BasePolicy):
|
||||
# uninstallable, the newer version is allowed to be
|
||||
# uninstallable as well, so we don't need to check
|
||||
# anything
|
||||
continue
|
||||
skip_dep_check = True
|
||||
|
||||
if pkg_id in self.broken_packages:
|
||||
# dependencies can't be satisfied by all the known binaries -
|
||||
# this certainly won't work...
|
||||
excuse.add_unsatisfiable_on_arch(arch)
|
||||
if pkg_arch == 'all' and arch not in self.nobreakall_arches:
|
||||
# ...but if the binary is arch all on a non-nobreakarch
|
||||
# all, we don't care
|
||||
# we still wan't the binary to be listed as uninstallable,
|
||||
if skip_dep_check:
|
||||
# ...but if the binary is allowed to become uninstallable,
|
||||
# we don't care
|
||||
# we still want the binary to be listed as uninstallable,
|
||||
# so the autopkgtest policy knows not to try to run tests
|
||||
continue
|
||||
verdict = PolicyVerdict.REJECTED_PERMANENTLY
|
||||
@ -860,7 +868,7 @@ class DependsPolicy(BasePolicy):
|
||||
pkg_name, arch))
|
||||
excuse.addreason("depends")
|
||||
|
||||
if pkg_arch == 'all' and arch not in self.nobreakall_arches:
|
||||
if skip_dep_check:
|
||||
continue
|
||||
|
||||
deps = self.pkg_universe.dependencies_of(pkg_id)
|
||||
|
Loading…
x
Reference in New Issue
Block a user