]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_unchecked.py
Merge mainline
[dak.git] / dak / process_unchecked.py
index 0b8241e47a99cad82564bb0035c3b4c0bd403d96..04038a2568409ad503a03215b57941d13c7e8528 100755 (executable)
@@ -463,13 +463,15 @@ def check_files():
                 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))
+            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)
@@ -1083,6 +1085,12 @@ def check_signed_by_key():
         if uid_name == "": sponsored = 1
     else:
         sponsored = 1
+        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):
+                changes["sponsoremail"] = uid_email
 
     if sponsored and not may_sponsor: 
         reject("%s is not authorised to sponsor uploads" % (uid))