X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fchecks.py;h=9916cc755fab492a35e7763692f1ccc6cdde416d;hb=391f5ec09a119131dc846b796ca791f4cecc69e4;hp=2eec769def845f125f40882163541d918efbb318;hpb=38d8ab043fa9d5bc062be20e6656f751a5025362;p=dak.git diff --git a/daklib/checks.py b/daklib/checks.py index 2eec769d..9916cc75 100644 --- a/daklib/checks.py +++ b/daklib/checks.py @@ -719,11 +719,22 @@ class NoSourceOnlyCheck(Check): and 'all' not in changes.architectures \ and 'experimental' not in changes.distributions \ and 'unstable' not in changes.distributions \ + and 'sid' not in changes.distributions \ and changes.source.package_list.has_arch_indep_packages(): raise Reject('Uploads not including architecture-independent packages are not allowed.') return True +class ArchAllBinNMUCheck(Check): + """Check for arch:all binNMUs""" + def check(self, upload): + changes = upload.changes + + if 'all' in changes.architectures and changes.changes.get('Binary-Only') == 'yes': + raise Reject('arch:all binNMUs are not allowed.') + + return True + class LintianCheck(Check): """Check package using lintian""" def check(self, upload): @@ -798,6 +809,14 @@ class SourceFormatCheck(Check): if query.first() is None: raise Reject('source format {0} is not allowed in suite {1}'.format(source_format, suite.suite_name)) +class SuiteCheck(Check): + def per_suite_check(self, upload, suite): + if not suite.accept_source_uploads and upload.changes.source is not None: + raise Reject('The suite "{0}" does not accept source uploads.'.format(suite.suite_name)) + if not suite.accept_binary_uploads and len(upload.changes.binaries) != 0: + raise Reject('The suite "{0}" does not accept binary uploads.'.format(suite.suite_name)) + return True + class SuiteArchitectureCheck(Check): def per_suite_check(self, upload, suite): session = upload.session