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)')
################################################################################
if depends == '':
reject("%s: Depends field is empty." % (file))
+ # Sanity-check the Provides field
+ provides = control.Find("Provides")
+ if provides:
+ provide = re_spacestrip.sub('', provides)
+ if provide == '':
+ reject("%s: Provides field is empty." % (file))
+ prov_list = provide.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: ")
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):