From 89ada75793da6403e6ceb74a66a119621f19bba4 Mon Sep 17 00:00:00 2001 From: James Troup Date: Thu, 13 Sep 2001 23:51:51 +0000 Subject: [PATCH] Postgres 7.1 fixes --- charisma | 12 ++++++------ denise | 24 ++++++++++++++++-------- natalie.py | 9 ++++++--- 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/charisma b/charisma index bc45aa40..6a23ab9c 100755 --- a/charisma +++ b/charisma @@ -2,7 +2,7 @@ # Generate Maintainers file used by e.g. the Debian Bug Tracking System # Copyright (C) 2000, 2001 James Troup -# $Id: charisma,v 1.8 2001-09-05 18:51:21 rmurray Exp $ +# $Id: charisma,v 1.9 2001-09-13 23:51:51 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 @@ -55,12 +55,12 @@ def get_maintainer (maintainer): def get_maintainer_from_source (source_id): global maintainer_from_source_cache - + if not maintainer_from_source_cache.has_key(source_id): q = projectB.query("SELECT m.name FROM maintainer m, source s WHERE s.id = %s and s.maintainer = m.id" % (source_id)); maintainer = q.getresult()[0][0] maintainer_from_source_cache[source_id] = fix_maintainer(maintainer) - + return maintainer_from_source_cache[source_id] #################################################################################################################################### @@ -69,7 +69,7 @@ def main(): global Cnf, projectB; apt_pkg.init(); - + Cnf = apt_pkg.newConfiguration(); apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file()); @@ -104,7 +104,7 @@ def main(): source_id = binary[1]; version = binary[3]; # Use the source maintainer first; falling back on the binary maintainer as a last resort only - if source_id != 0: + if source_id != 0 and source_id != None: maintainer = get_maintainer_from_source(source_id); else: maintainer = get_maintainer(binary[2]); @@ -125,7 +125,7 @@ def main(): if not packages.has_key(package): packages[package] = { "maintainer": maintainer, "priority": 0 } file.close() - + package_keys = packages.keys() package_keys.sort() for package in package_keys: diff --git a/denise b/denise index 5133e1d4..a6772c39 100755 --- a/denise +++ b/denise @@ -2,7 +2,7 @@ # Output override files for apt-ftparchive and indices/ # Copyright (C) 2000, 2001 James Troup -# $Id: denise,v 1.6 2001-06-23 19:16:27 troup Exp $ +# $Id: denise,v 1.7 2001-09-13 23:51:51 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 @@ -36,9 +36,18 @@ override = {} ################################################################################ +def result_join (original): + list = []; + for i in xrange(len(original)): + if original[i] == None: + list.append(""); + else: + list.append(original[i]); + return string.join(list, '\t'); + def list(suite, component, type): global override; - + suite_id = db_access.get_suite_id(suite); if suite_id == -1: utils.fubar("Suite '%s' not recognised." % (suite)); @@ -62,13 +71,13 @@ def list(suite, component, type): 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, type_id)); for i in q.getresult(): override[suite][component][type][i[0]] = i; - print string.join(i, '\t'); + print result_join(i); 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, type_id)); for i in q.getresult(): i = i[:-1]; # Strip the priority level override[suite][component][type][i[0]] = i; - print string.join(i, '\t'); + print result_join(i); ################################################################################ @@ -76,7 +85,7 @@ def main (): global Cnf, projectB, override; apt_pkg.init(); - + Cnf = apt_pkg.newConfiguration(); apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file()); Arguments = [('D',"debug","Denise::Options::Debug", "IntVal"), @@ -136,15 +145,14 @@ def main (): for i in q.getresult(): package = i[0]; if override["unstable"][component][type].has_key(package): - print string.join(override["unstable"][component][type][package], '\t'); + print result_join(override["unstable"][component][type][package]); elif override["stable"][component][type].has_key(package): - print string.join(override["stable"][component][type][package], '\t'); + print result_join(override["stable"][component][type][package]); else: if type == "dsc" and (override["unstable"][component]["deb"].has_key(package) or override["stable"][component]["deb"].has_key(package)): continue; # source falls back on binary; so accept silently utils.warn("Can't find override entry for testing package '%s' (component %s, type %s)." % (package, component, type)); sys.stdout.close(); - ####################################################################################### diff --git a/natalie.py b/natalie.py index 4f127a1e..47c1410b 100755 --- a/natalie.py +++ b/natalie.py @@ -2,7 +2,7 @@ # Manipulate override files # Copyright (C) 2000, 2001 James Troup -# $Id: natalie.py,v 1.8 2001-08-21 15:40:10 troup Exp $ +# $Id: natalie.py,v 1.9 2001-09-13 23:51:51 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 @@ -94,7 +94,7 @@ def process_file (file, suite, component, type): if line == "": continue; - maintainer_override = ""; + maintainer_override = None; if type == "dsc": split_line = string.split(line, None, 2); if len(split_line) == 2: @@ -200,7 +200,10 @@ def list(suite, component, type): 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, type_id)); for i in q.getresult(): - print string.join(i[:-1], '\t'); + if ( i[-2] ): + print string.join(i[:-1], '\t'); + else: + print string.join(i[:-2], '\t'); ################################################################################ -- GitLab