]> git.decadent.org.uk Git - dak.git/blobdiff - dak/make_overrides.py
Merge remote-tracking branch 'nthykier/auto-decruft'
[dak.git] / dak / make_overrides.py
index 02c7f7c2988843d8f6ffe31364c5e58ca789ac2e..569ee7696d831f4312ddad7e9e012b57a5232587 100755 (executable)
@@ -104,44 +104,42 @@ def main ():
     for i in [ "help" ]:
         if not cnf.has_key("Make-Overrides::Options::%s" % (i)):
             cnf["Make-Overrides::Options::%s" % (i)] = ""
-    apt_pkg.ParseCommandLine(cnf.Cnf, Arguments, sys.argv)
-    Options = cnf.SubTree("Make-Overrides::Options")
+    apt_pkg.parse_commandline(cnf.Cnf, Arguments, sys.argv)
+    Options = cnf.subtree("Make-Overrides::Options")
     if Options["Help"]:
         usage()
 
     d = DBConn()
     session = d.session()
 
-    for suite_name in cnf.SubTree("Check-Overrides::OverrideSuites").List():
-        suite = get_suite(suite_name.lower(), session)
-        if not suite:
-            utils.fubar('Suite %s not found' % suite_name)
+    for suite in session.query(Suite).filter(Suite.overrideprocess==True):
         if suite.untouchable:
+            print "Skipping %s as it is marked as untouchable" % suite.suite_name
             continue
 
         sys.stderr.write("Processing %s...\n" % (suite.suite_name))
-        override_suite = suite.overridecodename
+        override_suite = suite.overridecodename or suite.codename
 
-        for component_name in cnf.SubTree("Component").List():
-            component = get_component(component_name, session)
-            if not component:
-                utils.fubar('Component %s not found' % component_name)
-
-            for otype_name in cnf.ValueList("OverrideType"):
-                otype = get_override_type(otype_name, session)
-                if not otype:
-                    utils.fubar('OverrideType %s not found' % otype_name)
+        for component in session.query(Component).all():
+            for otype in session.query(OverrideType).all():
+                otype_name = otype.overridetype
+                cname = component.component_name
 
+                # TODO: Stick suffix info in database (or get rid of it)
                 if otype_name == "deb":
                     suffix = ""
                 elif otype_name == "udeb":
-                    if component == "contrib":
+                    if cname == "contrib":
                         continue # Ick2
                     suffix = ".debian-installer"
                 elif otype_name == "dsc":
                     suffix = ".src"
+                else:
+                    utils.fubar("Don't understand OverrideType %s" % otype.overridetype)
+
+                cname = cname.replace('/', '_')
+                filename = os.path.join(cnf["Dir::Override"], "override.%s.%s%s" % (override_suite, cname, suffix))
 
-                filename = os.path.join(cnf["Dir::Override"], "override.%s.%s%s" % (override_suite, component.component_name, suffix))
                 output_file = utils.open_file(filename, 'w')
                 do_list(output_file, suite, component, otype, session)
                 output_file.close()