]> git.decadent.org.uk Git - dak.git/commitdiff
read all configs when utils is imported, allowing utils to make use ofconfig values...
authorRyan Murray <rmurray@debian.org>
Sun, 18 Nov 2001 19:57:58 +0000 (19:57 +0000)
committerRyan Murray <rmurray@debian.org>
Sun, 18 Nov 2001 19:57:58 +0000 (19:57 +0000)
25 files changed:
alyson
andrea
catherine
charisma
christina
cindy
claire.py
denise
fernanda
halle
heidi
jenna
jeri
julia
katie
madison
melanie
natalie.py
neve
rene
rhona
shania
tea
utils.py
ziyi

diff --git a/alyson b/alyson
index 4344f7904f4022a19f2acae35452c7e7ceafdaba..007063f171d3540b81b62035a19d8ff36fef3ab4 100755 (executable)
--- a/alyson
+++ b/alyson
@@ -2,7 +2,7 @@
 
 # Sync the ISC configuartion file and the SQL database
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: alyson,v 1.5 2001-09-27 14:42:02 troup Exp $
+# $Id: alyson,v 1.6 2001-11-18 19:57:58 rmurray 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
@@ -40,10 +40,8 @@ def get (c, i):
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
+    Cnf = utils.get_conf()
 
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
     Arguments = [('D',"debug","Alyson::Options::Debug", "IntVal"),
                  ('h',"help","Alyson::Options::Help"),
                  ('v',"version","Alyson::Options::Version")];
diff --git a/andrea b/andrea
index b678d9de3e08301722cb19d09bc70d7d30a988c5..be7e9b32f923652e9be9f7287b0bf32b0635c0e4 100755 (executable)
--- a/andrea
+++ b/andrea
@@ -2,7 +2,7 @@
 
 # Check for fixable discrepancies between stable and unstable
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: andrea,v 1.4 2001-09-27 01:23:41 troup Exp $
+# $Id: andrea,v 1.5 2001-11-18 19:57:58 rmurray 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
@@ -35,10 +35,7 @@ projectB = None;
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     apt_pkg.ParseCommandLine(Cnf,[],sys.argv);
 
index 16b7ad6669d750d3a29986c0229821fa2c4698d6..f7841b1214d36a02980ffcfdc6cfe9964a38652b 100755 (executable)
--- a/catherine
+++ b/catherine
@@ -2,7 +2,7 @@
 
 # Poolify (move packages from "legacy" type locations to pool locations)
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: catherine,v 1.12 2001-11-04 22:28:44 troup Exp $
+# $Id: catherine,v 1.13 2001-11-18 19:57:58 rmurray 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
@@ -134,17 +134,17 @@ def poolize (q, limit, verbose, no_action):
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
+    Cnf = utils.get_conf()
+
+    for i in ["help", "limit", "no-action", "verose" ]:
+       if not Cnf.has_key("Catherine::Options::%s" % (i)):
+           Cnf["Catherine::Options::%s" % (i)] = "";
 
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
 
     Arguments = [('h',"help","Catherine::Options::Help"),
                  ('l',"limit", "Catherine::Options::Limit", "HasArg"),
                  ('n',"no-action","Catherine::Options::No-Action"),
                  ('v',"verbose","Catherine::Options::Verbose")];
-    for i in ["help", "limit", "no-action", "verose" ]:
-        Cnf["Catherine::Options::%s" % (i)] = "";
 
     apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Catherine::Options")
index 63d9a918e29db617edaa54e6840ac69f08c82fe4..c88fa52559633e588458cb6c343511300010ba1b 100755 (executable)
--- 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 <james@nocrew.org>
-# $Id: charisma,v 1.11 2001-09-27 01:23:41 troup Exp $
+# $Id: charisma,v 1.12 2001-11-18 19:57:58 rmurray 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
@@ -76,13 +76,12 @@ def get_maintainer_from_source (source_id):
 def main():
     global Cnf, projectB;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Charisma::Options::Help")];
-    Cnf["Charisma::Options::Help"] = "";
+    if not Cnf.has_key("Charisma::Options::Help"):
+       Cnf["Charisma::Options::Help"] = "";
+
     extra_files = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Charisma::Options");
 
index b6af669b77df86a36f5ee5f8d3140abfcbfb9c6d..15b3a64dc32ee683f877b8be72175eff308fe286 100644 (file)
--- a/christina
+++ b/christina
@@ -2,7 +2,7 @@
 
 # Compares Packages-Arch-Specific (from Quinn-Diff) against the archive
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: christina,v 1.3 2001-11-04 22:28:44 troup Exp $
+# $Id: christina,v 1.4 2001-11-18 19:57:58 rmurray 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
@@ -97,10 +97,7 @@ def get_source ():
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
-    
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('d',"debug","Christina::Options::Debug", "IntVal"),
                  ('h',"help","Christina::Options::Help"),
diff --git a/cindy b/cindy
index 038a47964aa428b6226571320fa07fd8b8d12540..9f2393399a9087b326d22da1f0a4075ac8609d0a 100755 (executable)
--- a/cindy
+++ b/cindy
@@ -2,7 +2,7 @@
 
 # Output override files for apt-ftparchive and indices/
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: cindy,v 1.5 2001-11-04 22:28:44 troup Exp $
+# $Id: cindy,v 1.6 2001-11-18 19:57:58 rmurray 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
@@ -95,10 +95,7 @@ def process(suite, component, type):
 def main ():
     global Cnf, projectB, override;
 
-    apt_pkg.init();
-    
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
     Arguments = [('D',"debug","Denise::Options::Debug", "IntVal"),
                  ('h',"help","Denise::Options::Help"),
                  ('V',"version","Denise::Options::Version")];
index 1de00b68e09b3429fb860065fc7fcbc67e2f3b10..9982d2166ff4e50c4d9de83035234898d9eec0e0 100755 (executable)
--- a/claire.py
+++ b/claire.py
@@ -2,7 +2,7 @@
 
 # 'Fix' stable to make debian-cd and dpkg -BORGiE users happy
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: claire.py,v 1.10 2001-11-04 20:41:37 troup Exp $
+# $Id: claire.py,v 1.11 2001-11-18 19:57:58 rmurray 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
@@ -166,15 +166,14 @@ UNION SELECT DISTINCT ON (f.id) null, a.arch_string, sec.section, b.package,
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
+    Cnf = utils.get_conf()
     apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
 
     Arguments = [('h',"help","Claire::Options::Help"),
                  ('v',"verbose","Claire::Options::Verbose")];
     for i in ["help", "verbose" ]:
-        Cnf["Claire::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Claire::Options::%s" % (i)):
+           Cnf["Claire::Options::%s" % (i)] = "";
 
     apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Claire::Options")
diff --git a/denise b/denise
index 7d7ed1025c124407b35b1ece99163bd5b8458ebe..b17dad0537f5a8ec3fd61511a9831c5ca0aea3ca 100755 (executable)
--- a/denise
+++ b/denise
@@ -2,7 +2,7 @@
 
 # Output override files for apt-ftparchive and indices/
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: denise,v 1.8 2001-09-17 11:18:37 troup Exp $
+# $Id: denise,v 1.9 2001-11-18 19:57:58 rmurray 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
@@ -75,10 +75,7 @@ def list(suite, component, type):
 def main ():
     global Cnf, projectB, override;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
     Arguments = [('D',"debug","Denise::Options::Debug", "IntVal"),
                  ('h',"help","Denise::Options::Help"),
                  ('V',"version","Denise::Options::Version")];
index b9d8f50082b60eec25c991470abb70a571913d25..466f6197c349bfd7271539154fe3aec0b7407e4c 100755 (executable)
--- a/fernanda
+++ b/fernanda
@@ -2,7 +2,7 @@
 
 # Script to automate some parts of checking NEW packages
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: fernanda,v 1.4 2001-11-04 22:28:44 troup Exp $
+# $Id: fernanda,v 1.5 2001-11-18 19:57:58 rmurray 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
@@ -142,14 +142,12 @@ def check_changes (changes_filename):
 def main ():
     global Cnf, projectB, db_files, waste, excluded;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Fernanda::Options::Help")];
     for i in [ "help" ]:
-        Cnf["Fernanda::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Frenanda::Options::%s" % (i)):
+           Cnf["Fernanda::Options::%s" % (i)] = "";
 
     args = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Fernanda::Options")
diff --git a/halle b/halle
index 06f42a650e6fd7c6543b55d56855d8777af05bad..86d21ddf43f028dac6d0ce8269ad4635613549d9 100755 (executable)
--- a/halle
+++ b/halle
@@ -2,7 +2,7 @@
 
 # Remove obsolete .changes files from proposed-updates
 # Copyright (C) 2001  James Troup <james@nocrew.org>
-# $Id: halle,v 1.2 2001-11-04 22:28:44 troup Exp $
+# $Id: halle,v 1.3 2001-11-18 19:57:58 rmurray 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
@@ -144,10 +144,7 @@ ORDER BY package, version, arch_string;
 def main ():
     global Cnf, projectB, Options;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('q',"quiet","Halle::Options::Quiet"),
                  ('v',"verbose","Halle::Options::Verbose"),
@@ -155,7 +152,8 @@ def main ():
                  ('h',"help","Halle::Options::Help"),
                  ('V',"version","Halle::Options::Version")];
     for i in [ "quiet", "verbose", "help", "debug" ]:
-        Cnf["Halle::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Halle::Options::%s" % (i)):
+           Cnf["Halle::Options::%s" % (i)] = "";
 
     arguments = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Halle::Options")
diff --git a/heidi b/heidi
index 476cc2137c79bbe021d5876654b62fea717d0982..a523b1692a54f082401154b2226d5b2cf872c237 100755 (executable)
--- a/heidi
+++ b/heidi
@@ -2,7 +2,7 @@
 
 # Manipulate suite tags
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: heidi,v 1.10 2001-11-04 22:40:12 troup Exp $
+# $Id: heidi,v 1.11 2001-11-18 19:57:58 rmurray 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
@@ -232,10 +232,7 @@ def get_list (suite):
 def main ():
     global Cnf, projectB, Logger;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('a',"add","Heidi::Options::Add", "HasArg"),
                  ('h',"help","Heidi::Options::Help"),
@@ -244,7 +241,8 @@ def main ():
                  ('s',"set", "Heidi::Options::Set", "HasArg")];
 
     for i in ["add", "help", "list", "remove", "set", "version" ]:
-        Cnf["Heidi::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Heidi::Options::%s" % (i)):
+           Cnf["Heidi::Options::%s" % (i)] = "";
 
     file_list = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Heidi::Options")
diff --git a/jenna b/jenna
index 07e8ca79472024fb6b07a8613cb482af7729d35b..73fdf0cfd437e63a1ac82d354bd9485023b09c3e 100755 (executable)
--- a/jenna
+++ b/jenna
@@ -2,7 +2,7 @@
 
 # Generate file list which is then fed to apt-ftparchive to generate Packages and Sources files
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: jenna,v 1.14 2001-09-27 01:22:51 troup Exp $
+# $Id: jenna,v 1.15 2001-11-18 19:57:58 rmurray 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
@@ -217,10 +217,7 @@ def main():
     global Cnf, projectB, Logger;
     dislocated_files = {};
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('a',"architecture","Jenna::Options::Architecture", "HasArg"),
                  ('c',"component","Jenna::Options::Component", "HasArg"),
@@ -228,7 +225,8 @@ def main():
                  ('s',"suite", "Jenna::Options::Suite", "HasArg")];
 
     for i in ["architecture", "component", "help", "suite" ]:
-        Cnf["Jenna::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Jenna::Options::%s" % (i)):
+           Cnf["Jenna::Options::%s" % (i)] = "";
 
     apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Jenna::Options");
@@ -274,7 +272,7 @@ def main():
                     output = utils.open_file("%s/%s_%s_binary-%s.list" % (Cnf["Dir::ListsDir"], suite, component, architecture), "w");
                     generate_bin_list(suite, component, architecture, output, "deb", dislocated_files);
                     output.close();
-                    if component == "main" and (suite == "unstable" or suite == "testing"): # FIXME: must be a cleaner way to say debian-installer is main only?
+                    if component == "main" and (suite == "unstable" or suite == "testing") and Cnf.has_key("Section::debian-installer"): # FIXME: must be a cleaner way to say debian-installer is main only?
                         Logger.log(["Processing dists/%s/%s/debian-installer/binary-%s..." % (suite,component, architecture)]);
                         output = utils.open_file("%s/%s_%s_debian-installer_binary-%s.list" % (Cnf["Dir::ListsDir"], suite, component, architecture), "w");
                         generate_bin_list(suite, component, architecture, output, "udeb", dislocated_files);
diff --git a/jeri b/jeri
index 616c26729bfb13067b12980f91b12171097e3dc8..ea813541d3fb868701fe987589d962107948657d 100755 (executable)
--- a/jeri
+++ b/jeri
@@ -2,7 +2,7 @@
 
 # Dependency check proposed-updates
 # Copyright (C) 2001  James Troup <james@nocrew.org>
-# $Id: jeri,v 1.2 2001-11-04 22:28:44 troup Exp $
+# $Id: jeri,v 1.3 2001-11-18 19:57:58 rmurray 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
@@ -268,10 +268,7 @@ def parse_packages():
 def main ():
     global Cnf, projectB, Options;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('q',"quiet","Jeri::Options::Quiet"),
                  ('v',"verbose","Jeri::Options::Verbose"),
@@ -279,7 +276,8 @@ def main ():
                  ('h',"help","Jeri::Options::Help"),
                  ('V',"version","Jeri::Options::Version")];
     for i in [ "quiet", "verbose", "help", "debug" ]:
-        Cnf["Jeri::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Jeri::Options::%s" % (i)):
+           Cnf["Jeri::Options::%s" % (i)] = "";
 
     arguments = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Jeri::Options")
diff --git a/julia b/julia
index f3d8ac43890740b29e4ee56e8f43921bfed6b344..a9e6173058862e6417ba44b94c7f65df32f9ada3 100755 (executable)
--- a/julia
+++ b/julia
@@ -2,7 +2,7 @@
 
 # Sync PostgreSQL with (LDAP-generated) passwd file
 # Copyright (C) 2001  James Troup <james@nocrew.org>
-# $Id: julia,v 1.3 2001-11-04 22:28:44 troup Exp $
+# $Id: julia,v 1.4 2001-11-18 19:57:58 rmurray 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
@@ -54,16 +54,14 @@ Sync PostgreSQL's pg_user with PASSWD_FILE.
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('q',"quiet","Julia::Options::Quiet"),
                  ('v',"verbose","Julia::Options::Verbose"),
                  ('h',"help","Julia::Options::Help")];
     for i in ["quiet", "verbose", "help" ]:
-        Cnf["Julia::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Julia::Options::%s" % (i)):
+           Cnf["Julia::Options::%s" % (i)] = "";
 
     arguments = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Julia::Options")
diff --git a/katie b/katie
index 01a8313154030b0a79d4bb5ab4785f145decdbb6..eb7e0d8d9a631bf931e3e3372110284e2aa3226a 100755 (executable)
--- a/katie
+++ b/katie
@@ -2,7 +2,7 @@
 
 # Installs Debian packages
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: katie,v 1.62 2001-11-04 22:41:31 troup Exp $
+# $Id: katie,v 1.63 2001-11-18 19:57:58 rmurray 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
@@ -70,17 +70,14 @@ orig_tar_location = "";
 legacy_source_untouchable = {};
 Subst = {};
 nmu = None;
-katie_version = "$Revision: 1.62 $";
+katie_version = "$Revision: 1.63 $";
 
 ###############################################################################
 
 def init():
     global Cnf, Options;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('a',"automatic","Dinstall::Options::Automatic"),
                  ('h',"help","Dinstall::Options::Help"),
@@ -94,7 +91,8 @@ def init():
 
     for i in ["automatic", "help", "ack-new", "manual-reject", "no-action",
               "no-lock", "no-mail", "override-distribution", "version"]:
-        Cnf["Dinstall::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Dinstall::Options::%s" % (i)):
+           Cnf["Dinstall::Options::%s" % (i)] = "";
 
     changes_files = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Dinstall::Options")
diff --git a/madison b/madison
index 47e33f6aeb17f7985df6eded70d5795490585923..a04615130fd2ef442eac853635d7e80285c316e5 100755 (executable)
--- a/madison
+++ b/madison
@@ -2,7 +2,7 @@
 
 # Display information about package(s) (suite, version, etc.)
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: madison,v 1.12 2001-11-04 22:35:11 troup Exp $
+# $Id: madison,v 1.13 2001-11-18 19:57:58 rmurray 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
@@ -65,16 +65,14 @@ Both ARCH and SUITE can be space seperated lists, e.g.
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('a',"architecture","Madison::Options::Architecture", "HasArg"),
                  ('s',"suite","Madison::Options::Suite", "HasArg"),
                  ('h',"help","Madison::Options::Help")];
     for i in ["architecture", "suite", "help" ]:
-        Cnf["Madison::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Madison::Options::%s" % (i)):
+           Cnf["Madison::Options::%s" % (i)] = "";
 
     packages = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Madison::Options")
diff --git a/melanie b/melanie
index 90260fe20e963a3907b8c4ad0efce848cd644a85..0232c2c4a0dcb57f3a52fea9fbd2c4ea57742475 100755 (executable)
--- a/melanie
+++ b/melanie
@@ -2,7 +2,7 @@
 
 # General purpose package removal tool for ftpmaster
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: melanie,v 1.18 2001-11-04 22:35:11 troup Exp $
+# $Id: melanie,v 1.19 2001-11-18 19:57:58 rmurray 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
@@ -75,10 +75,7 @@ def game_over():
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Melanie::Options::Help"),
                  ('a',"architecture","Melanie::Options::Architecture", "HasArg"),
@@ -94,8 +91,10 @@ def main ():
                  ];
 
     for i in ["help", "architecture", "binary", "component", "carbon-copy", "done", "reason", "no-action", "partial", "source-only" ]:
-        Cnf["Melanie::Options::%s" % (i)] = "";
-    Cnf["Melanie::Options::Suite"] = "unstable";
+       if not Cnf.has_key("Melanie::Options::%s" % (i)):
+           Cnf["Melanie::Options::%s" % (i)] = "";
+    if not Cnf.has_key("Melanie::Options::Suite"):
+       Cnf["Melanie::Options::Suite"] = "unstable";
 
     arguments = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
     Options = Cnf.SubTree("Melanie::Options")
@@ -376,7 +375,7 @@ def main ():
             Subst["__BCC__"] = "Bcc: " + string.join(bcc, ", ");
         else:
             Subst["__BCC__"] = "X-Filler: 42";
-        Subst["__CC__"] = "X-Melanie: $Revision: 1.18 $";
+        Subst["__CC__"] = "X-Melanie: $Revision: 1.19 $";
         if carbon_copy:
             Subst["__CC__"] = Subst["__CC__"] + "\nCc: " + string.join(carbon_copy, ", ");
         Subst["__SUITE_LIST__"] = suites_list;
index 8626798eb55d9da6963e6142c8137c07f99db287..a0e5887a9049b7fb47463b1fd3a40f8c988c3051 100755 (executable)
@@ -2,7 +2,7 @@
 
 # Manipulate override files
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: natalie.py,v 1.12 2001-11-04 22:28:44 troup Exp $
+# $Id: natalie.py,v 1.13 2001-11-18 19:57:58 rmurray 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
@@ -205,10 +205,7 @@ def list(suite, component, type):
 def main ():
     global Cnf, projectB, Logger;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
     Arguments = [('h',"help","Natalie::Options::Help"),
                  ('c',"component", "Natalie::Options::Component", "HasArg"),
                  ('l',"list", "Natalie::Options::List"),
@@ -218,10 +215,14 @@ def main ():
 
     # Default arguments
     for i in ["help", "list", "set" ]:
-        Cnf["Natalie::Options::%s" % (i)] = "";
-    Cnf["Natalie::Options::Component"] = "main";
-    Cnf["Natalie::Options::Suite"] = "unstable";
-    Cnf["Natalie::Options::Type"] = "deb";
+       if not Cnf.has_key("Natalie::Options::%s" (i)):
+           Cnf["Natalie::Options::%s" % (i)] = "";
+    if not Cnf.has_key("Natalie::Options::Component"):
+       Cnf["Natalie::Options::Component"] = "main";
+    if not Cnf.has_key("Natalie::Options::Suite"):
+       Cnf["Natalie::Options::Suite"] = "unstable";
+    if not Cnf.has_key("Natalie::Options::Type"):
+       Cnf["Natalie::Options::Type"] = "deb";
 
     file_list = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
 
diff --git a/neve b/neve
index 100de615ab60a673588c08260b88f7929c1b8f9b..4b9b624967b8f9a5c0e64aaad8809635fe77e9a0 100755 (executable)
--- a/neve
+++ b/neve
@@ -2,7 +2,7 @@
 
 # Populate the DB
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: neve,v 1.6 2001-11-04 22:41:31 troup Exp $
+# $Id: neve,v 1.7 2001-11-18 19:57:58 rmurray 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
@@ -307,10 +307,7 @@ def do_sources(location, prefix, suite, component, server):
 def main ():
     global Cnf, projectB, query_cache, files_query_cache, source_query_cache, src_associations_query_cache, dsc_files_query_cache, bin_associations_query_cache, binaries_query_cache;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     print "Re-Creating DB..."
     (result, output) = commands.getstatusoutput("psql -f init_pool.sql")
diff --git a/rene b/rene
index b7a3eec1ade32f8252692da20e8e46ba16a18966..25039b5d10c0da66a3036edd0ee7a178e55b5cc7 100755 (executable)
--- a/rene
+++ b/rene
@@ -2,7 +2,7 @@
 
 # Check for obsolete binary packages
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: rene,v 1.8 2001-11-04 22:28:44 troup Exp $
+# $Id: rene,v 1.9 2001-11-18 19:57:58 rmurray 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
@@ -38,10 +38,7 @@ projectB = None;
 def main ():
     global Cnf, projectB;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     Arguments = [('D',"debug","Catherine::Options::Debug", "IntVal"),
                  ('h',"help","Catherine::Options::Help"),
diff --git a/rhona b/rhona
index f8a21fc10221afc84aa0a49eec079a2f66f746df..f371a0a61ccc81a7044fc87bf4e8ab65a65b6c64 100755 (executable)
--- a/rhona
+++ b/rhona
@@ -2,7 +2,7 @@
 
 # rhona, cleans up unassociated binary and source packages
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: rhona,v 1.17 2001-09-27 01:23:41 troup Exp $
+# $Id: rhona,v 1.18 2001-11-18 19:57:58 rmurray 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
@@ -263,10 +263,7 @@ SELECT m.id FROM maintainer m
 def main():
     global Cnf, Options, projectB, delete_date, now_date;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]));
 
diff --git a/shania b/shania
index 51febbb50a5612fad135976f10883b102b952832..cab1c1f79c9d41b67c76c1fb1c5d261b962cde3a 100755 (executable)
--- a/shania
+++ b/shania
@@ -2,7 +2,7 @@
 
 # Clean incoming of old unused files
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: shania,v 1.8 2001-11-16 21:35:56 rmurray Exp $
+# $Id: shania,v 1.9 2001-11-18 19:57:58 rmurray 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
@@ -131,7 +131,7 @@ def flush_orphans ():
             changes = utils.parse_changes(changes_filename, 0)
             files = utils.build_file_list(changes, "");
         except:
-            utils.warn("error processing '%s'; skipping it. [Got %s]" % (file, sys.exc_type));
+            utils.warn("error processing '%s'; skipping it. [Got %s]" % (changes_filename, sys.exc_type));
             continue;
 
         dsc_files = {};
@@ -173,13 +173,13 @@ def flush_orphans ():
 def main ():
     global Cnf, Options;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
+    Cnf = utils.get_conf()
 
     for i in ["Help", "Incoming", "No-Action", "Verbose" ]:
-        Cnf["Shania::Options::%s" % (i)] = "";
-    Cnf["Shania::Options::Days"] = "14";
+       if not Cnf.has_key("Shania::Options::%s" % (i)):
+           Cnf["Shania::Options::%s" % (i)] = "";
+    if not Cnf.has_key("Shania::Options::Days"):
+       Cnf["Shania::Options::Days"] = "14";
 
     apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
 
diff --git a/tea b/tea
index b6ff8c6cb151a37cfb27094a9404719d679b11d3..47107a37aa9efe150a5e77ab80e815b10506594a 100755 (executable)
--- a/tea
+++ b/tea
@@ -2,7 +2,7 @@
 
 # Sanity check the database
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: tea,v 1.13 2001-11-04 22:28:44 troup Exp $
+# $Id: tea,v 1.14 2001-11-18 19:57:58 rmurray 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
@@ -186,10 +186,7 @@ def check_md5sums():
 def main ():
     global Cnf, projectB, db_files, waste, excluded;
 
-    apt_pkg.init();
-
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
+    Cnf = utils.get_conf()
 
     apt_pkg.ParseCommandLine(Cnf,[],sys.argv);
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]));
index 97598f98ea8aa93c0b547262d7441113662e69dd..938134e8fc11764f327f5b3aec2d195881ce5580 100644 (file)
--- a/utils.py
+++ b/utils.py
@@ -1,6 +1,6 @@
 # Utility functions
 # Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: utils.py,v 1.35 2001-11-04 22:33:22 troup Exp $
+# $Id: utils.py,v 1.36 2001-11-18 19:57:58 rmurray 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
@@ -45,19 +45,8 @@ send_mail_invalid_args_exc = "Both arguments are non-null.";
 sendmail_failed_exc = "Sendmail invocation failed";
 tried_too_hard_exc = "Tried too hard to find a free filename.";
 
-# Valid components; used by extract_component_from_section() because
-# it doesn't know about Conf from it's caller.  FIXME
-
-valid_components = {
-    "main": "",
-    "contrib": "",
-    "non-free": ""
-    };
-
 default_config = "/etc/katie/katie.conf";
 default_apt_config = "/etc/katie/apt.conf";
-DefaultCnf = apt_pkg.newConfiguration();
-apt_pkg.ReadConfigFileISC(DefaultCnf,default_config);
 
 ######################################################################################
 
@@ -94,9 +83,6 @@ def str_isnum (s):
 
 ######################################################################################
 
-# Prefix and components hardcoded into this like a good'un; need to unhardcod at some
-# stage. [FIXME]
-
 def extract_component_from_section(section):
     component = "";
 
@@ -104,7 +90,7 @@ def extract_component_from_section(section):
         component = string.split(section, '/')[0];
     if string.lower(component) == "non-us" and string.count(section, '/') > 0:
         s = string.split(section, '/')[1];
-        if valid_components.has_key(s): # Avoid e.g. non-US/libs
+        if Cnf.has_key("Component::%s" % s): # Avoid e.g. non-US/libs
             component = string.split(section, '/')[0]+ '/' + string.split(section, '/')[1];
 
     if string.lower(section) == "non-us":
@@ -116,7 +102,7 @@ def extract_component_from_section(section):
 
     # Expand default component
     if component == "":
-        if valid_components.has_key(section):
+        if Cnf.has_key("Component::%s" % section):
             component = section;
         else:
             component = "main";
@@ -279,9 +265,6 @@ def fix_maintainer (maintainer):
 
 # sendmail wrapper, takes _either_ a message string or a file as arguments
 def send_mail (message, filename):
-       #### FIXME, how do I get this out of Cnf in katie?
-       sendmail_command = "/usr/sbin/sendmail -odq -oi -t";
-
        # Sanity check arguments
        if message != "" and filename != "":
             raise send_mail_invalid_args_exc;
@@ -294,7 +277,7 @@ def send_mail (message, filename):
             os.close (fd);
 
        # Invoke sendmail
-       (result, output) = commands.getstatusoutput("%s < %s" % (sendmail_command, filename));
+       (result, output) = commands.getstatusoutput("%s < %s" % (Cnf["Dinstall::SendmailCommand"], filename));
        if (result != 0):
             raise sendmail_failed_exc, output;
 
@@ -366,7 +349,7 @@ def copy (src, dest, overwrite = 0):
 
 def where_am_i ():
     res = socket.gethostbyaddr(socket.gethostname());
-    database_hostname = DefaultCnf.get("Config::" + res[0] + "::DatabaseHostname");
+    database_hostname = Cnf.get("Config::" + res[0] + "::DatabaseHostname");
     if database_hostname:
        return database_hostname;
     else:
@@ -374,15 +357,15 @@ def where_am_i ():
 
 def which_conf_file ():
     res = socket.gethostbyaddr(socket.gethostname());
-    if DefaultCnf.get("Config::" + res[0] + "::KatieConfig"):
-       return DefaultCnf["Config::" + res[0] + "::KatieConfig"]
+    if Cnf.get("Config::" + res[0] + "::KatieConfig"):
+       return Cnf["Config::" + res[0] + "::KatieConfig"]
     else:
        return default_config;
 
 def which_apt_conf_file ():
     res = socket.gethostbyaddr(socket.gethostname());
-    if DefaultCnf.get("Config::" + res[0] + "::AptConfig"):
-       return DefaultCnf["Config::" + res[0] + "::AptConfig"]
+    if Cnf.get("Config::" + res[0] + "::AptConfig"):
+       return Cnf["Config::" + res[0] + "::AptConfig"]
     else:
        return default_apt_config;
 
@@ -511,3 +494,18 @@ def result_join (original, sep = '\t'):
     return string.join(list, sep);
 
 ################################################################################
+
+def get_conf():
+       return Cnf;
+
+################################################################################
+
+apt_pkg.init()
+
+Cnf = apt_pkg.newConfiguration();
+apt_pkg.ReadConfigFileISC(Cnf,default_config);
+
+if which_conf_file() != default_config:
+       apt_pkg.ReadConfigFileISC(Cnf,which_conf_file())
+
+################################################################################
diff --git a/ziyi b/ziyi
index f9642af8fc072df133616d4e1d3f39dd703059f7..81db8cdb1e257b900f648b99d6bb413f9ed86008 100755 (executable)
--- a/ziyi
+++ b/ziyi
@@ -3,7 +3,7 @@
 # Create all the Release files
 
 # Copyright (C) 2001  Anthony Towns <ajt@debian.org>
-# $Id: ziyi,v 1.9 2001-11-04 22:33:22 troup Exp $
+# $Id: ziyi,v 1.10 2001-11-18 19:57:58 rmurray 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
@@ -90,18 +90,15 @@ def main ():
     global Cnf, AptCnf, projectB, out
     out = sys.stdout;
 
-
-    apt_pkg.init()
-
-    Cnf = apt_pkg.newConfiguration()
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file())
+    Cnf = utils.get_conf()
 
     AptCnf = apt_pkg.newConfiguration()
     apt_pkg.ReadConfigFileISC(AptCnf,utils.which_apt_conf_file())
 
     Arguments = [('h',"help","Ziyi::Options::Help")];
     for i in [ "help" ]:
-        Cnf["Ziyi::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Ziyi::Options::%s" % (i)):
+           Cnf["Ziyi::Options::%s" % (i)] = "";
 
     suites = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv)
     Options = Cnf.SubTree("Ziyi::Options")