X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fmake_overrides.py;h=53bf2dfad6ac634f6de8ae6c5bd2090b2c112ed4;hb=e7858bde0c543619876753639a40e031079dae41;hp=cae1bb6d16f6351c82aef7a0a04c3d62bba7084e;hpb=59fd5aa2a8be3b76dbc968429c457f096adfa472;p=dak.git diff --git a/dak/make_overrides.py b/dak/make_overrides.py index cae1bb6d..53bf2dfa 100755 --- a/dak/make_overrides.py +++ b/dak/make_overrides.py @@ -1,8 +1,7 @@ #!/usr/bin/env python # Output override files for apt-ftparchive and indices/ -# Copyright (C) 2000, 2001, 2002, 2004 James Troup -# $Id: denise,v 1.18 2005-11-15 09:50:32 ajt Exp $ +# Copyright (C) 2000, 2001, 2002, 2004, 2006 James Troup # 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 @@ -21,25 +20,26 @@ ################################################################################ # This is seperate because it's horribly Debian specific and I don't -# want that kind of horribleness in the otherwise generic natalie. It -# does duplicate code tho. +# want that kind of horribleness in the otherwise generic 'dak +# make-overrides'. It does duplicate code tho. ################################################################################ -import pg, sys; -import utils, db_access; -import apt_pkg; +import pg, sys +import apt_pkg +import daklib.database +import daklib.utils ################################################################################ -Cnf = None; -projectB = None; +Cnf = None +projectB = None override = {} ################################################################################ def usage(exit_code=0): - print """Usage: denise + print """Usage: dak make-overrides Outputs the override tables to text files. -h, --help show this help and exit.""" @@ -48,79 +48,79 @@ Outputs the override tables to text files. ################################################################################ def do_list(output_file, suite, component, otype): - global override; + global override - suite_id = db_access.get_suite_id(suite); + suite_id = daklib.database.get_suite_id(suite) if suite_id == -1: - utils.fubar("Suite '%s' not recognised." % (suite)); + daklib.utils.fubar("Suite '%s' not recognised." % (suite)) - component_id = db_access.get_component_id(component); + component_id = daklib.database.get_component_id(component) if component_id == -1: - utils.fubar("Component '%s' not recognised." % (component)); + daklib.utils.fubar("Component '%s' not recognised." % (component)) - otype_id = db_access.get_override_type_id(otype); + otype_id = daklib.database.get_override_type_id(otype) if otype_id == -1: - utils.fubar("Type '%s' not recognised. (Valid types are deb, udeb and dsc)" % (otype)); + daklib.utils.fubar("Type '%s' not recognised. (Valid types are deb, udeb and dsc)" % (otype)) - override.setdefault(suite, {}); - override[suite].setdefault(component, {}); - override[suite][component].setdefault(otype, {}); + override.setdefault(suite, {}) + override[suite].setdefault(component, {}) + override[suite][component].setdefault(otype, {}) if otype == "dsc": - q = projectB.query("SELECT o.package, s.section, o.maintainer FROM override o, section s WHERE o.suite = %s AND o.component = %s AND o.type = %s AND o.section = s.id ORDER BY s.section, o.package" % (suite_id, component_id, otype_id)); + q = projectB.query("SELECT o.package, s.section, o.maintainer FROM override o, section s WHERE o.suite = %s AND o.component = %s AND o.type = %s AND o.section = s.id ORDER BY s.section, o.package" % (suite_id, component_id, otype_id)) for i in q.getresult(): - override[suite][component][otype][i[0]] = i; - output_file.write(utils.result_join(i)+'\n'); + override[suite][component][otype][i[0]] = i + output_file.write(daklib.utils.result_join(i)+'\n') else: - q = projectB.query("SELECT o.package, p.priority, s.section, o.maintainer, p.level FROM override o, priority p, section s WHERE o.suite = %s AND o.component = %s AND o.type = %s AND o.priority = p.id AND o.section = s.id ORDER BY s.section, p.level, o.package" % (suite_id, component_id, otype_id)); + q = projectB.query("SELECT o.package, p.priority, s.section, o.maintainer, p.level FROM override o, priority p, section s WHERE o.suite = %s AND o.component = %s AND o.type = %s AND o.priority = p.id AND o.section = s.id ORDER BY s.section, p.level, o.package" % (suite_id, component_id, otype_id)) for i in q.getresult(): i = i[:-1]; # Strip the priority level - override[suite][component][otype][i[0]] = i; - output_file.write(utils.result_join(i)+'\n'); + override[suite][component][otype][i[0]] = i + output_file.write(daklib.utils.result_join(i)+'\n') ################################################################################ def main (): - global Cnf, projectB, override; + global Cnf, projectB, override - Cnf = utils.get_conf() - Arguments = [('h',"help","Denise::Options::Help")]; + Cnf = daklib.utils.get_conf() + Arguments = [('h',"help","Make-Overrides::Options::Help")] for i in [ "help" ]: - if not Cnf.has_key("Denise::Options::%s" % (i)): - Cnf["Denise::Options::%s" % (i)] = ""; - apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv); - Options = Cnf.SubTree("Denise::Options") + if not Cnf.has_key("Make-Overrides::Options::%s" % (i)): + Cnf["Make-Overrides::Options::%s" % (i)] = "" + apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv) + Options = Cnf.SubTree("Make-Overrides::Options") if Options["Help"]: - usage(); + usage() - projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"])); - db_access.init(Cnf, projectB); + projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"])) + daklib.database.init(Cnf, projectB) - for suite in Cnf.SubTree("Cindy::OverrideSuites").List(): + for suite in Cnf.SubTree("Check-Overrides::OverrideSuites").List(): if Cnf.has_key("Suite::%s::Untouchable" % suite) and Cnf["Suite::%s::Untouchable" % suite] != 0: continue suite = suite.lower() - sys.stderr.write("Processing %s...\n" % (suite)); - override_suite = Cnf["Suite::%s::OverrideCodeName" % (suite)]; + sys.stderr.write("Processing %s...\n" % (suite)) + override_suite = Cnf["Suite::%s::OverrideCodeName" % (suite)] for component in Cnf.SubTree("Component").List(): if component == "mixed": continue; # Ick for otype in Cnf.ValueList("OverrideType"): if otype == "deb": - suffix = ""; + suffix = "" elif otype == "udeb": - if component != "main": + if component == "contrib": continue; # Ick2 - suffix = ".debian-installer"; + suffix = ".debian-installer" elif otype == "dsc": - suffix = ".src"; - filename = "%s/override.%s.%s%s" % (Cnf["Dir::Override"], override_suite, component.replace("non-US/", ""), suffix); - output_file = utils.open_file(filename, 'w'); - do_list(output_file, suite, component, otype); - output_file.close(); + suffix = ".src" + filename = "%s/override.%s.%s%s" % (Cnf["Dir::Override"], override_suite, component, suffix) + output_file = daklib.utils.open_file(filename, 'w') + do_list(output_file, suite, component, otype) + output_file.close() ################################################################################ if __name__ == '__main__': - main(); + main()