]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_new.py
add support for udebs in any section containing "debian-installer"
[dak.git] / dak / process_new.py
index 6af50896a1a512fed590e30fd87de3586b561233..ec5987c41248077f582a751eee220c8f0c08795e 100755 (executable)
@@ -163,10 +163,10 @@ def determine_new (changes, files):
             new[pkg]["othercomponents"] = f["othercomponents"]
 
     for suite in changes["suite"].keys():
-        suite_id = database.get_suite_id(suite)
+        suite_id = daklib.database.get_suite_id(suite)
         for pkg in new.keys():
-            component_id = database.get_component_id(new[pkg]["component"])
-            type_id = database.get_override_type_id(new[pkg]["type"])
+            component_id = daklib.database.get_component_id(new[pkg]["component"])
+            type_id = daklib.database.get_override_type_id(new[pkg]["type"])
             q = projectB.query("SELECT package FROM override WHERE package = '%s' AND suite = %s AND component = %s AND type = %s" % (pkg, suite_id, component_id, type_id))
             ql = q.getresult()
             if ql:
@@ -325,11 +325,11 @@ def check_valid (new):
         section = new[pkg]["section"]
         priority = new[pkg]["priority"]
         type = new[pkg]["type"]
-        new[pkg]["section id"] = database.get_section_id(section)
-        new[pkg]["priority id"] = database.get_priority_id(new[pkg]["priority"])
+        new[pkg]["section id"] = daklib.database.get_section_id(section)
+        new[pkg]["priority id"] = daklib.database.get_priority_id(new[pkg]["priority"])
         # Sanity checks
-        if (section == "debian-installer" and type != "udeb") or \
-           (section != "debian-installer" and type == "udeb"):
+        di = section.find("debian-installer") != -1
+        if (di and type != "udeb") or (not di and type == "udeb"):
             new[pkg]["section id"] = -1
         if (priority == "source" and type != "dsc") or \
            (priority != "source" and type == "dsc"):
@@ -376,7 +376,7 @@ def get_type (f):
         daklib.utils.fubar("invalid type (%s) for new.  Dazed, confused and sure as heck not continuing." % (type))
 
     # Validate the override type
-    type_id = database.get_override_type_id(type)
+    type_id = daklib.database.get_override_type_id(type)
     if type_id == -1:
         daklib.utils.fubar("invalid type (%s) for new.  Say wha?" % (type))
 
@@ -517,7 +517,7 @@ def edit_overrides (new):
         got_answer = 0
         while not got_answer:
             answer = daklib.utils.our_raw_input(prompt)
-            if not daklib.utils.str_isnum(answer):
+            if not answer.isdigit():
                 answer = answer[:1].upper()
             if answer == "E" or answer == "D":
                 got_answer = 1
@@ -624,10 +624,10 @@ def add_overrides (new):
 
     projectB.query("BEGIN WORK")
     for suite in changes["suite"].keys():
-        suite_id = database.get_suite_id(suite)
+        suite_id = daklib.database.get_suite_id(suite)
         for pkg in new.keys():
-            component_id = database.get_component_id(new[pkg]["component"])
-            type_id = database.get_override_type_id(new[pkg]["type"])
+            component_id = daklib.database.get_component_id(new[pkg]["component"])
+            type_id = daklib.database.get_override_type_id(new[pkg]["type"])
             priority_id = new[pkg]["priority id"]
             section_id = new[pkg]["section id"]
             projectB.query("INSERT INTO override (suite, component, type, package, priority, section, maintainer) VALUES (%s, %s, %s, '%s', %s, %s, '')" % (suite_id, component_id, type_id, pkg, priority_id, section_id))
@@ -701,11 +701,19 @@ def do_new():
     for suite in changes["suite"].keys():
         override = Cnf.Find("Suite::%s::OverrideSuite" % (suite))
         if override:
+           (olderr, newerr) = (daklib.database.get_suite_id(suite) == -1,
+             daklib.database.get_suite_id(override) == -1)
+           if olderr or newerr:
+               (oinv, newinv) = ("", "")
+               if olderr: oinv = "invalid "
+               if newerr: ninv = "invalid "
+               print "warning: overriding %ssuite %s to %ssuite %s" % (
+                       oinv, suite, ninv, override)
             del changes["suite"][suite]
             changes["suite"][override] = 1
     # Validate suites
     for suite in changes["suite"].keys():
-        suite_id = database.get_suite_id(suite)
+        suite_id = daklib.database.get_suite_id(suite)
         if suite_id == -1:
             daklib.utils.fubar("%s has invalid suite '%s' (possibly overriden).  say wha?" % (changes, suite))
 
@@ -942,7 +950,7 @@ def main():
 
     # Kill me now? **FIXME**
     Cnf["Dinstall::Options::No-Mail"] = ""
-    bcc = "X-DAK: dak process-new\nX-Katie: this header is obsolete"
+    bcc = "X-DAK: dak process-new\nX-Katie: lisa $Revision: 1.31 $"
     if Cnf.has_key("Dinstall::Bcc"):
         Upload.Subst["__BCC__"] = bcc + "\nBcc: %s" % (Cnf["Dinstall::Bcc"])
     else: