]> git.decadent.org.uk Git - dak.git/blobdiff - katie
sync
[dak.git] / katie
diff --git a/katie b/katie
index 1ee6352d2553547f3438394a0fd886684f2f8a68..a83cf069f460779e5b3d3a69ad51eeffb60a1ba2 100755 (executable)
--- a/katie
+++ b/katie
@@ -1,8 +1,8 @@
 #!/usr/bin/env python
 
 # Installs Debian packaes
-# Copyright (C) 2000  James Troup <james@nocrew.org>
-# $Id: katie,v 1.27 2001-02-04 04:27:47 troup Exp $
+# Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
+# $Id: katie,v 1.30 2001-03-02 02:36:23 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
@@ -427,6 +427,10 @@ def check_files():
             if component_id == -1:
                 reject_message = reject_message + "Rejected: file '%s' has unknown component '%s'.\n" % (file, component);
                 continue;
+
+            # Validate the priority
+            if string.find(files[file]["priority"],'/') != -1:
+                reject_message = reject_message + "Rejected: file '%s' has invalid priority '%s' [contains '/'].\n" % (file, files[file]["priority"]);
             
             # Check the md5sum & size against existing files (if any)
             location = Cnf["Dir::PoolDir"];
@@ -460,13 +464,13 @@ def check_dsc ():
             try:
                 dsc = utils.parse_changes(file, 1)
             except utils.cant_open_exc:
-                reject_message = reject_message + "Rejected: can't read changes file '%s'.\n" % (filename)
+                reject_message = reject_message + "Rejected: can't read changes file '%s'.\n" % (file)
                 return 0;
             except utils.changes_parse_error_exc, line:
-                reject_message = reject_message + "Rejected: error parsing changes file '%s', can't grok: %s.\n" % (filename, line)
+                reject_message = reject_message + "Rejected: error parsing changes file '%s', can't grok: %s.\n" % (file, line)
                 return 0;
             except utils.invalid_dsc_format_exc, line:
-                reject_message = reject_message + "Rejected: syntax error in .dsc file '%s', line %s.\n" % (filename, line)
+                reject_message = reject_message + "Rejected: syntax error in .dsc file '%s', line %s.\n" % (file, line)
                 return 0;
             try:
                 dsc_files = utils.build_file_list(dsc, 1)
@@ -474,7 +478,7 @@ def check_dsc ():
                 reject_message = reject_message + "Rejected: no Files: field in .dsc file.\n";
                 continue;
             except utils.changes_parse_error_exc, line:
-                reject_message = "Rejected: error parsing .dsc file '%s', can't grok: %s.\n" % (filename, line);
+                reject_message = "Rejected: error parsing .dsc file '%s', can't grok: %s.\n" % (file, line);
                 continue;
 
             # Try and find all files mentioned in the .dsc.  This has
@@ -609,7 +613,7 @@ def check_override ():
 
     summary = ""
     for file in files.keys():
-        if not files[file].has_key("new") and (files[file]["type"] == "dsc" or files[file]["type"] == "deb"):
+        if not files[file].has_key("new") and files[file]["type"] == "deb":
             section = files[file]["section"];
             override_section = files[file]["override section"];
             if section != override_section and section != "-":
@@ -617,11 +621,10 @@ def check_override ():
                 if string.lower(section) == "non-us/main" and string.lower(override_section) == "non-us":
                     continue;
                 summary = summary + "%s: section is overridden from %s to %s.\n" % (file, section, override_section);
-            if files[file]["type"] == "deb": # don't do priority for source
-                priority = files[file]["priority"];
-                override_priority = files[file]["override priority"];
-                if priority != override_priority and priority != "-":
-                    summary = summary + "%s: priority is overridden from %s to %s.\n" % (file, priority, override_priority);
+            priority = files[file]["priority"];
+            override_priority = files[file]["override priority"];
+            if priority != override_priority and priority != "-":
+                summary = summary + "%s: priority is overridden from %s to %s.\n" % (file, priority, override_priority);
 
     if summary == "":
         return;
@@ -861,7 +864,10 @@ def install (changes_filename, summary, short_summary):
 
     projectB.query("COMMIT WORK");
 
-    utils.move (changes_filename, Cnf["Dir::IncomingDir"] + 'DONE/' + os.path.basename(changes_filename))
+    try:
+        utils.move (changes_filename, Cnf["Dir::IncomingDir"] + 'DONE/' + os.path.basename(changes_filename))
+    except:
+        sys.stderr.write("W: couldn't move changes file '%s' to DONE directory [Got %s].\n" % (os.path.basename(changes_filename), sys.exc_type));
 
     install_count = install_count + 1;
 
@@ -985,7 +991,7 @@ def reject (changes_filename, manual_reject_mail_filename):
     try:
         utils.move (changes_filename, "%s/REJECT/%s" % (Cnf["Dir::IncomingDir"], base_changes_filename));
     except:
-        sys.stderr.write("W: couldn't reject changes file '%s' [Got %s]" % (base_changes_filename, sys.exc_type));
+        sys.stderr.write("W: couldn't reject changes file '%s' [Got %s].\n" % (base_changes_filename, sys.exc_type));
         pass;
     for file in files.keys():
         if os.path.exists(file):
@@ -1049,7 +1055,7 @@ Subject: %s REJECTED
     if manual_reject_message == "":
         result = os.system("vi +6 %s" % (reject_file))
         if result != 0:
-            sys.stderr.write ("vi invocation failed for `%s'!" % (reject_file))
+            sys.stderr.write ("vi invocation failed for `%s'!\n" % (reject_file))
             sys.exit(result)
 
     # Then process it as if it were an automatic rejection
@@ -1162,7 +1168,7 @@ administrators by mailing ftpmaster@debian.org)
         control_message = ""
         for bug in bugs:
             summary = summary + "%s " % (bug)
-            control_message = control_message + "severity %s fixed\n" % (bug)
+            control_message = control_message + "tag %s + fixed\n" % (bug)
         if action and control_message != "":
             mail_message = """Return-Path: %s
 From: %s