X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_unchecked.py;h=498eb49f0dd6a21da49cd2d76bb0e052c3efbf26;hb=3bb635cd8b8d524e808d537f469031125dba86fc;hp=82133068be56c33fb4d4b96b6908467eaafb14b5;hpb=df2a04bb5eb1f3398f61fef7139f267e430dc188;p=dak.git diff --git a/dak/process_unchecked.py b/dak/process_unchecked.py index 82133068..498eb49f 100755 --- a/dak/process_unchecked.py +++ b/dak/process_unchecked.py @@ -44,6 +44,7 @@ re_valid_pkg_name = re.compile(r"^[\dA-Za-z][\dA-Za-z\+\-\.]+$") re_changelog_versions = re.compile(r"^\w[-+0-9a-z.]+ \([^\(\) \t]+\)") re_strip_revision = re.compile(r"-([^-]+)$") re_strip_srcver = re.compile(r"\s+\(\S+\)$") +re_spacestrip = re.compile('(\s)') ################################################################################ @@ -461,6 +462,16 @@ def check_files(): if depends == '': reject("%s: Depends field is empty." % (file)) + # Sanity-check the Provides field + provides = re_spacestrip.sub('', control.Find("Provides")) + if provides == '': + reject("%s: Provides field is empty." % (file)) + prov_list = provides.split(",") + for prov in prov_list: + if not re_valid_pkg_name.match(prov): + reject("%s: Invalid Provides field content %s." % (file, prov)) + + # Check the section & priority match those given in the .changes (non-fatal) if control.Find("Section") and files[file]["section"] != "" and files[file]["section"] != control.Find("Section"): reject("%s control file lists section as `%s', but changes file has `%s'." % (file, control.Find("Section", ""), files[file]["section"]), "Warning: ") @@ -1072,7 +1083,8 @@ def check_signed_by_key(): if uid_name == "": sponsored = 1 else: sponsored = 1 - if daklib.utils.is_email_alias(uid_email): + if ("source" in changes["architecture"] and + daklib.utils.is_email_alias(uid_email)): sponsor_addresses = daklib.utils.gpg_get_key_addresses(changes["fingerprint"]) if (changes["maintaineremail"] not in sponsor_addresses and changes["changedbyemail"] not in sponsor_addresses):