X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fcompare_suites.py;h=01652d94fc953a93a2c58e5b53624f3c5a0c5a50;hb=b43ed3ff3738940ce46caa836d88b6937a76582c;hp=ea0bbc21065dc7ef98bb3ddb1c93b5cc1892a71e;hpb=59fd5aa2a8be3b76dbc968429c457f096adfa472;p=dak.git diff --git a/dak/compare_suites.py b/dak/compare_suites.py index ea0bbc21..01652d94 100755 --- a/dak/compare_suites.py +++ b/dak/compare_suites.py @@ -1,8 +1,7 @@ #!/usr/bin/env python -# Check for fixable discrepancies between stable and unstable -# Copyright (C) 2000, 2001, 2002, 2003 James Troup -# $Id: andrea,v 1.10 2003-09-07 13:52:13 troup Exp $ +""" Check for fixable discrepancies between stable and unstable """ +# Copyright (C) 2000, 2001, 2002, 2003, 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,19 +20,20 @@ ################################################################################ -import pg, sys; -import utils, db_access; -import apt_pkg; +import pg, sys +import apt_pkg +from daklib import database +from daklib import utils ################################################################################ -Cnf = None; -projectB = None; +Cnf = None +projectB = None ################################################################################ def usage(exit_code=0): - print """Usage: andrea + print """Usage: dak compare-suites Looks for fixable descrepancies between stable and unstable. -h, --help show this help and exit.""" @@ -42,42 +42,42 @@ Looks for fixable descrepancies between stable and unstable. ################################################################################ def main (): - global Cnf, projectB; + global Cnf, projectB - Cnf = utils.get_conf(); - Arguments = [('h',"help","Andrea::Options::Help")]; + Cnf = utils.get_conf() + Arguments = [('h',"help","Compare-Suites::Options::Help")] for i in [ "help" ]: - if not Cnf.has_key("Andrea::Options::%s" % (i)): - Cnf["Andrea::Options::%s" % (i)] = ""; + if not Cnf.has_key("Compare-Suites::Options::%s" % (i)): + Cnf["Compare-Suites::Options::%s" % (i)] = "" - apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv); + apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv) - Options = Cnf.SubTree("Andrea::Options") + Options = Cnf.SubTree("Compare-Suites::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"])) + database.init(Cnf, projectB) - src_suite = "stable"; - dst_suite = "unstable"; + src_suite = "stable" + dst_suite = "unstable" - src_suite_id = db_access.get_suite_id(src_suite); - dst_suite_id = db_access.get_suite_id(dst_suite); - arch_all_id = db_access.get_architecture_id("all"); - dsc_type_id = db_access.get_override_type_id("dsc"); + src_suite_id = database.get_suite_id(src_suite) + dst_suite_id = database.get_suite_id(dst_suite) + arch_all_id = database.get_architecture_id("all") + dsc_type_id = database.get_override_type_id("dsc") - for arch in Cnf.ValueList("Suite::%s::Architectures" % (src_suite)): + for arch in database.get_suite_architectures(src_suite_id): if arch == "source": - continue; + continue # Arch: all doesn't work; consider packages which go from # arch: all to arch: any, e.g. debconf... needs more checks # and thought later. if arch == "all": - continue; - arch_id = db_access.get_architecture_id(arch); + continue + arch_id = database.get_architecture_id(arch) q = projectB.query(""" SELECT b_src.package, b_src.version, a.arch_string FROM binaries b_src, bin_associations ba, override o, architecture a @@ -91,12 +91,11 @@ SELECT b_src.package, b_src.version, a.arch_string (SELECT 1 FROM bin_associations ba3, binaries b2 WHERE ba3.bin = b2.id AND ba3.suite = %s AND b2.package = b_dst.package)) ORDER BY b_src.package;""" - % (src_suite_id, arch_id, dst_suite_id, dsc_type_id, arch_id, arch_all_id, dst_suite_id, dst_suite_id)); + % (src_suite_id, arch_id, dst_suite_id, dsc_type_id, arch_id, arch_all_id, dst_suite_id, dst_suite_id)) for i in q.getresult(): - print " ".join(i); + print " ".join(i) ####################################################################################### if __name__ == '__main__': main() -