]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_upload.py
Merge remote branch 'origin/master' into contents
[dak.git] / dak / process_upload.py
index 4d1cbc2f6677da8d5ae58fe4c05ea2beef6b97f6..13474071c34600cb82d3eae1d7a1e37df857ef21 100755 (executable)
@@ -176,6 +176,7 @@ from daklib.urgencylog import UrgencyLog
 from daklib.summarystats import SummaryStats
 from daklib.holding import Holding
 from daklib.config import Config
+from daklib.regexes import re_match_expired
 
 ###############################################################################
 
@@ -378,6 +379,12 @@ def process_it(changes_file, session):
         if u.pkg.changes["fingerprint"]:
             valid_changes_p = u.load_changes(changespath)
         else:
+            for reason in rejects:
+                if re_match_expired.match(reason):
+                    # Hrm, key expired. Lets see if we can still parse the .changes before
+                    # we reject. Then we would be able to mail the maintainer, instead of
+                    # just silently dropping the upload.
+                    u.load_changes(changespath)
             valid_changes_p = False
             u.rejects.extend(rejects)
 
@@ -387,8 +394,9 @@ def process_it(changes_file, session):
             valid_dsc_p = u.check_dsc(not Options["No-Action"])
             if valid_dsc_p and not Options["No-Action"]:
                 u.check_source()
-                u.check_lintian()
             u.check_hashes()
+            if valid_dsc_p and not Options["No-Action"] and not len(u.rejects):
+                u.check_lintian()
             u.check_urgency()
             u.check_timestamps()
             u.check_signed_by_key()