X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fchecks.py;h=70e1f5e398dd3b17e4e5d1f9127f15e4dfb84abb;hb=03a86547e5d9b209016cc0b23f825d3baea92f8c;hp=c5a3f35dc6cdad45e3dca0438f9017acfc081283;hpb=934c6eaee7864ecaaffaa8a85afa5464f7884268;p=dak.git diff --git a/daklib/checks.py b/daklib/checks.py index c5a3f35d..70e1f5e3 100644 --- a/daklib/checks.py +++ b/daklib/checks.py @@ -57,7 +57,7 @@ class Reject(Exception): """exception raised by failing checks""" pass -class RejectStupidMaintainerException(Exception): +class RejectExternalFilesMismatch(Reject): """exception raised by failing the external hashes check""" def __str__(self): @@ -256,16 +256,16 @@ class ExternalHashesCheck(Check): return if ext_size != f.size: - raise RejectStupidMaintainerException(f.filename, 'size', f.size, ext_size) + raise RejectExternalFilesMismatch(f.filename, 'size', f.size, ext_size) if ext_md5sum != f.md5sum: - raise RejectStupidMaintainerException(f.filename, 'md5sum', f.md5sum, ext_md5sum) + raise RejectExternalFilesMismatch(f.filename, 'md5sum', f.md5sum, ext_md5sum) if ext_sha1sum != f.sha1sum: - raise RejectStupidMaintainerException(f.filename, 'sha1sum', f.sha1sum, ext_sha1sum) + raise RejectExternalFilesMismatch(f.filename, 'sha1sum', f.sha1sum, ext_sha1sum) if ext_sha256sum != f.sha256sum: - raise RejectStupidMaintainerException(f.filename, 'sha256sum', f.sha256sum, ext_sha256sum) + raise RejectExternalFilesMismatch(f.filename, 'sha256sum', f.sha256sum, ext_sha256sum) def check(self, upload): cnf = Config() @@ -361,6 +361,11 @@ class BinaryCheck(Check): except: raise Reject('{0}: APT could not parse {1} field'.format(fn, field)) + # "Multi-Arch: no" breaks wanna-build, #768353 + multi_arch = control.get("Multi-Arch") + if multi_arch == 'no': + raise Reject('{0}: Multi-Arch: no support in Debian is broken (#768353)'.format(fn)) + class BinaryTimestampCheck(Check): """check timestamps of files in binary packages @@ -684,6 +689,7 @@ class NoSourceOnlyCheck(Check): if not allow_no_arch_indep_uploads \ and 'all' not in changes.architectures \ + and 'experimental' not in changes.distributions \ and changes.source.package_list.has_arch_indep_packages(): raise Reject('Uploads not including architecture-independent packages are not allowed.')