]> git.decadent.org.uk Git - dak.git/blobdiff - jennifer
adapt for renaming of katie to kelly
[dak.git] / jennifer
index a567e1ef9cd919400d8c4b1a190e4e976fb8c9c0..1df7e7a815e0a11411e9fb80701cd5401f7fd571 100755 (executable)
--- a/jennifer
+++ b/jennifer
@@ -2,7 +2,7 @@
 
 # Checks Debian packages from Incoming
 # Copyright (C) 2000, 2001, 2002  James Troup <james@nocrew.org>
-# $Id: jennifer,v 1.24 2002-06-22 22:34:35 troup Exp $
+# $Id: jennifer,v 1.26 2002-07-14 18:19:25 troup Exp $
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@ re_valid_pkg_name = re.compile(r"^[\dA-Za-z][\dA-Za-z\+\-\.]+$");
 ################################################################################
 
 # Globals
-jennifer_version = "$Revision: 1.24 $";
+jennifer_version = "$Revision: 1.26 $";
 
 Cnf = None;
 Options = None;
@@ -842,11 +842,35 @@ def check_md5sums ():
         try:
             file_handle = utils.open_file(file);
         except utils.cant_open_exc:
-            pass;
-        else:
-            if apt_pkg.md5sum(file_handle) != files[file]["md5sum"]:
-                reject("md5sum check failed for %s." % (file));
-            file_handle.close();
+            continue;
+
+        # Check md5sum
+        if apt_pkg.md5sum(file_handle) != files[file]["md5sum"]:
+            reject("%s: md5sum check failed." % (file));
+        file_handle.close();
+        # Check size
+        actual_size = os.stat(file)[stat.ST_SIZE];
+        size = int(files[file]["size"]);
+        if size != actual_size:
+            reject("%s: actual file size (%s) does not match size (%s) in .changes"
+                   % (file, actual_size, size));
+
+    for file in dsc_files.keys():
+        try:
+            file_handle = utils.open_file(file);
+        except utils.cant_open_exc:
+            continue;
+
+        # Check md5sum
+        if apt_pkg.md5sum(file_handle) != dsc_files[file]["md5sum"]:
+            reject("%s: md5sum check failed." % (file));
+        file_handle.close();
+        # Check size
+        actual_size = os.stat(file)[stat.ST_SIZE];
+        size = int(dsc_files[file]["size"]);
+        if size != actual_size:
+            reject("%s: actual file size (%s) does not match size (%s) in .dsc"
+                   % (file, actual_size, size));
 
 ################################################################################
 
@@ -1103,9 +1127,9 @@ def process_it (changes_file):
             while reprocess:
                 check_distributions();
                 check_files();
-                check_md5sums();
                 check_dsc();
                 check_diff();
+                check_md5sums();
                 check_urgency();
                 check_timestamps();
         Katie.update_subst(reject_message);