]> git.decadent.org.uk Git - dak.git/commitdiff
Merge commit 'sec-merge' into security
authorJoerg Jaspert <joerg@debian.org>
Wed, 24 Sep 2008 21:34:23 +0000 (23:34 +0200)
committerJoerg Jaspert <joerg@debian.org>
Wed, 24 Sep 2008 21:34:23 +0000 (23:34 +0200)
* commit 'sec-merge':
  cater for uid_email None in sponsor notification
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style
  Use "import daklib.foo as foo" style

Signed-off-by: Joerg Jaspert <joerg@debian.org>
20 files changed:
ChangeLog
dak/import_keyring.py [changed mode: 0644->0755]
dak/import_ldap_fingerprints.py [changed mode: 0644->0755]
dak/import_users_from_passwd.py [changed mode: 0644->0755]
dak/init_db.py [changed mode: 0644->0755]
dak/init_dirs.py [changed mode: 0644->0755]
dak/ls.py [changed mode: 0644->0755]
dak/make_maintainers.py [changed mode: 0644->0755]
dak/make_overrides.py [changed mode: 0644->0755]
dak/make_suite_file_list.py [changed mode: 0644->0755]
dak/new_security_install.py [changed mode: 0644->0755]
dak/override.py [changed mode: 0644->0755]
dak/process_accepted.py [changed mode: 0644->0755]
dak/process_new.py [changed mode: 0644->0755]
dak/process_unchecked.py [changed mode: 0644->0755]
dak/rm.py [changed mode: 0644->0755]
dak/show_new.py
dak/split_done.py [changed mode: 0644->0755]
dak/stats.py [changed mode: 0644->0755]
dak/transitions.py [changed mode: 0644->0755]

index 833a64bf860063d048d7f993c9938dbf58e8c3cf..05a17bc50864a5aa85db676c170410d1a4895820 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2008-05-04  Joerg Jaspert  <joerg@debian.org>
 
+       * dak/import_keyring.py: Remove unused daklib.logging and Logger
+       and add the actually used daklib/utils
+
        * dak/examine_package.py: remove daklib.queue import, never used
 
        * dak/check_proposed_updates.py: Import stuff from daklib as
        * dak/generate_index_diffs.py: likewise
        * dak/generate_releases.py: likewise
        * dak/import_archive.py: likewise
+       * dak/import_ldap_fingerprints.py: likewise
+       * dak/import_users_from_passwd.py: likewise
+       * dak/init_db.py: likewise
+       * dak/init_dirs.py: likewise
+       * dak/ls.py: likewise
+       * dak/make_maintainers.py: likewise
+       * dak/make_overrides.py: likewise
+       * dak/make_suite_file_list.py: likewise
+       * dak/new_security_install.py: likewise
+       * dak/override.py: likewise
+       * dak/process_accepted.py: likewise
+       * dak/process_new.py: likewise
+       * dak/process_unchecked.py: likewise
+       * dak/rm.py: likewise
+       * dak/show_new.py: likewise
+       * dak/split_done.py: likewise
+       * dak/stats.py: likewise
+       * dak/transitions.py: likewise
 
        * dak/check_archive.py (check_files_not_symlinks): Remove
        long-time unused and commented code. Import stuff from daklib as
old mode 100644 (file)
new mode 100755 (executable)
index 63c0724..6d91b46
@@ -19,7 +19,8 @@
 
 ################################################################################
 
-import daklib.database, daklib.logging
+import daklib.database as database
+import daklib.utils as utils
 import sys, os, re
 import apt_pkg, pg, ldap, email.Utils
 
@@ -27,7 +28,6 @@ import apt_pkg, pg, ldap, email.Utils
 Cnf = None
 Options = None
 projectB = None
-Logger = None
 
 ################################################################################
 
@@ -138,7 +138,7 @@ class Keyring:
                 keys[key]["uid"] = uid
 
                 if id != None: continue
-                id = daklib.database.get_or_set_uid_id(uid)
+                id = database.get_or_set_uid_id(uid)
                 byuid[id] = (uid, name)
                 byname[uid] = (id, name)
 
@@ -155,13 +155,13 @@ class Keyring:
                 keys[x]["uid"] = format % "invalid-uid"
             else:
                 uid = format % keys[x]["email"]
-                id = daklib.database.get_or_set_uid_id(uid)
+                id = database.get_or_set_uid_id(uid)
                 byuid[id] = (uid, keys[x]["name"])
                 byname[uid] = (id, keys[x]["name"])
                 keys[x]["uid"] = uid
         if any_invalid:
             uid = format % "invalid-uid"
-            id = daklib.database.get_or_set_uid_id(uid)
+            id = database.get_or_set_uid_id(uid)
             byuid[id] = (uid, "ungeneratable user id")
             byname[uid] = (id, "ungeneratable user id")
         return (byname, byuid)
@@ -181,7 +181,7 @@ def usage (exit_code=0):
 def main():
     global Cnf, projectB, Options
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     Arguments = [('h',"help","Import-Keyring::Options::Help"),
                  ('L',"import-ldap-users","Import-Keyring::Options::Import-Ldap-Users"),
                  ('U',"generate-users","Import-Keyring::Options::Generate-Users", "HasArg"),
@@ -209,7 +209,7 @@ def main():
     ### Initialise
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     projectB.query("BEGIN WORK")
 
@@ -222,7 +222,7 @@ def main():
     keyringname = keyring_names[0]
     keyring = Keyring(keyringname)
 
-    keyring_id = daklib.database.get_or_set_keyring_id(
+    keyring_id = database.get_or_set_keyring_id(
                         keyringname.split("/")[-1])
 
     ### Generate new uid entries if they're needed (from LDAP or the keyring)
old mode 100644 (file)
new mode 100755 (executable)
index f204a9f..85cd7a2
@@ -46,8 +46,8 @@
 
 import commands, ldap, pg, re, sys
 import apt_pkg
-import daklib.database
-import daklib.utils
+import daklib.database as database
+import daklib.utils as utils
 
 ################################################################################
 
@@ -88,7 +88,7 @@ def escape_string(str):
 def main():
     global Cnf, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     Arguments = [('h',"help","Import-LDAP-Fingerprints::Options::Help")]
     for i in [ "help" ]:
         if not Cnf.has_key("Import-LDAP-Fingerprints::Options::%s" % (i)):
@@ -101,7 +101,7 @@ def main():
         usage()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     LDAPDn = Cnf["Import-LDAP-Fingerprints::LDAPDn"]
     LDAPServer = Cnf["Import-LDAP-Fingerprints::LDAPServer"]
@@ -136,7 +136,7 @@ SELECT f.fingerprint, f.id, u.uid FROM fingerprint f, uid u WHERE f.uid = u.id
         fingerprints = entry["keyFingerPrint"]
         uid = entry["uid"][0]
         name = get_ldap_name(entry)
-        uid_id = daklib.database.get_or_set_uid_id(uid)
+        uid_id = database.get_or_set_uid_id(uid)
 
         if not db_uid_name.has_key(uid_id) or db_uid_name[uid_id] != name:
             q = projectB.query("UPDATE uid SET name = '%s' WHERE id = %d" % (escape_string(name), uid_id))
@@ -155,24 +155,24 @@ SELECT f.fingerprint, f.id, u.uid FROM fingerprint f, uid u WHERE f.uid = u.id
                     q = projectB.query("UPDATE fingerprint SET uid = %s WHERE id = %s" % (uid_id, fingerprint_id))
                     print "Promoting DM %s to DD %s with keyid 0x%s." % (existing_uid, uid, fingerprint)
                 else:
-                    daklib.utils.warn("%s has %s in LDAP, but projectB says it should be %s." % (uid, fingerprint, existing_uid))
+                    utils.warn("%s has %s in LDAP, but projectB says it should be %s." % (uid, fingerprint, existing_uid))
 
     # Try to update people who sign with non-primary key
     q = projectB.query("SELECT fingerprint, id FROM fingerprint WHERE uid is null")
     for i in q.getresult():
         (fingerprint, fingerprint_id) = i
         cmd = "gpg --no-default-keyring %s --fingerprint %s" \
-              % (daklib.utils.gpg_keyring_args(), fingerprint)
+              % (utils.gpg_keyring_args(), fingerprint)
         (result, output) = commands.getstatusoutput(cmd)
         if result == 0:
             m = re_gpg_fingerprint.search(output)
             if not m:
                 print output
-                daklib.utils.fubar("0x%s: No fingerprint found in gpg output but it returned 0?\n%s" % (fingerprint, daklib.utils.prefix_multi_line_string(output, " [GPG output:] ")))
+                utils.fubar("0x%s: No fingerprint found in gpg output but it returned 0?\n%s" % (fingerprint, utils.prefix_multi_line_string(output, " [GPG output:] ")))
             primary_key = m.group(1)
             primary_key = primary_key.replace(" ","")
             if not ldap_fin_uid_id.has_key(primary_key):
-                daklib.utils.warn("0x%s (from 0x%s): no UID found in LDAP" % (primary_key, fingerprint))
+                utils.warn("0x%s (from 0x%s): no UID found in LDAP" % (primary_key, fingerprint))
             else:
                 (uid, uid_id) = ldap_fin_uid_id[primary_key]
                 q = projectB.query("UPDATE fingerprint SET uid = %s WHERE id = %s" % (uid_id, fingerprint_id))
@@ -182,7 +182,7 @@ SELECT f.fingerprint, f.id, u.uid FROM fingerprint f, uid u WHERE f.uid = u.id
             for keyring in Cnf.ValueList("Import-LDAP-Fingerprints::ExtraKeyrings"):
                 extra_keyrings += " --keyring=%s" % (keyring)
             cmd = "gpg %s %s --list-key %s" \
-                  % (daklib.utils.gpg_keyring_args(), extra_keyrings, fingerprint)
+                  % (utils.gpg_keyring_args(), extra_keyrings, fingerprint)
             (result, output) = commands.getstatusoutput(cmd)
             if result != 0:
                 cmd = "gpg --keyserver=%s --allow-non-selfsigned-uid --recv-key %s" % (Cnf["Import-LDAP-Fingerprints::KeyServer"], fingerprint)
@@ -214,7 +214,7 @@ SELECT f.fingerprint, f.id, u.uid FROM fingerprint f, uid u WHERE f.uid = u.id
             # FIXME: default to the guessed ID
             uid = None
             while not uid:
-                uid = daklib.utils.our_raw_input("Map to which UID ? ")
+                uid = utils.our_raw_input("Map to which UID ? ")
                 Attrs = l.search_s(LDAPDn,ldap.SCOPE_ONELEVEL,"(uid=%s)" % (uid), ["cn","mn","sn"])
                 if not Attrs:
                     print "That UID doesn't exist in LDAP!"
@@ -223,9 +223,9 @@ SELECT f.fingerprint, f.id, u.uid FROM fingerprint f, uid u WHERE f.uid = u.id
                     entry = Attrs[0][1]
                     name = get_ldap_name(entry)
                     prompt = "Map to %s - %s (y/N) ? " % (uid, name.replace("  "," "))
-                    yn = daklib.utils.our_raw_input(prompt).lower()
+                    yn = utils.our_raw_input(prompt).lower()
                     if yn == "y":
-                        uid_id = daklib.database.get_or_set_uid_id(uid)
+                        uid_id = database.get_or_set_uid_id(uid)
                         projectB.query("UPDATE fingerprint SET uid = %s WHERE id = %s" % (uid_id, fingerprint_id))
                         print "Assigning %s to 0x%s." % (uid, fingerprint)
                     else:
old mode 100644 (file)
new mode 100755 (executable)
index fa34772..af9d123
@@ -31,7 +31,7 @@
 
 import pg, pwd, sys
 import apt_pkg
-import daklib.utils
+import daklib.utils as utils
 
 ################################################################################
 
@@ -54,7 +54,7 @@ Sync PostgreSQL's users with system users.
 def main ():
     global Cnf, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('n', "no-action", "Import-Users-From-Passwd::Options::No-Action"),
                  ('q', "quiet", "Import-Users-From-Passwd::Options::Quiet"),
@@ -70,7 +70,7 @@ def main ():
     if Options["Help"]:
         usage()
     elif arguments:
-        daklib.utils.warn("dak import-users-from-passwd takes no non-option arguments.")
+        utils.warn("dak import-users-from-passwd takes no non-option arguments.")
         usage(1)
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
old mode 100644 (file)
new mode 100755 (executable)
index 3185b6e..16a8d8b
@@ -21,8 +21,8 @@
 
 import pg, sys
 import apt_pkg
-import daklib.database
-import daklib.utils
+import daklib.database as database
+import daklib.utils as utils
 
 ################################################################################
 
@@ -101,9 +101,9 @@ def do_location():
     projectB.query("DELETE FROM location")
     for location in Cnf.SubTree("Location").List():
         location_config = Cnf.SubTree("Location::%s" % (location))
-        archive_id = daklib.database.get_archive_id(location_config["Archive"])
+        archive_id = database.get_archive_id(location_config["Archive"])
         if archive_id == -1:
-            daklib.utils.fubar("Archive '%s' for location '%s' not found."
+            utils.fubar("Archive '%s' for location '%s' not found."
                                % (location_config["Archive"], location))
         location_type = location_config.get("type")
         if location_type == "legacy-mixed":
@@ -112,13 +112,13 @@ def do_location():
                            % (location, archive_id, location_config["type"]))
         elif location_type == "legacy" or location_type == "pool":
             for component in Cnf.SubTree("Component").List():
-                component_id = daklib.database.get_component_id(component)
+                component_id = database.get_component_id(component)
                 projectB.query("INSERT INTO location (path, component, "
                                "archive, type) VALUES ('%s', %d, %d, '%s')"
                                % (location, component_id, archive_id,
                                   location_type))
         else:
-            daklib.utils.fubar("E: type '%s' not recognised in location %s."
+            utils.fubar("E: type '%s' not recognised in location %s."
                                % (location_type, location))
     projectB.query("COMMIT WORK")
 
@@ -136,9 +136,9 @@ def do_suite():
                        "description) VALUES ('%s', %s, %s, %s)"
                        % (suite.lower(), version, origin, description))
         for architecture in Cnf.ValueList("Suite::%s::Architectures" % (suite)):
-            architecture_id = daklib.database.get_architecture_id (architecture)
+            architecture_id = database.get_architecture_id (architecture)
             if architecture_id < 0:
-                daklib.utils.fubar("architecture '%s' not found in architecture"
+                utils.fubar("architecture '%s' not found in architecture"
                                    " table for suite %s."
                                    % (architecture, suite))
             projectB.query("INSERT INTO suite_architectures (suite, "
@@ -196,7 +196,7 @@ def main ():
 
     global Cnf, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     arguments = [('h', "help", "Init-DB::Options::Help")]
     for i in [ "help" ]:
         if not Cnf.has_key("Init-DB::Options::%s" % (i)):
@@ -208,12 +208,12 @@ def main ():
     if options["Help"]:
         usage()
     elif arguments:
-        daklib.utils.warn("dak init-db takes no arguments.")
+        utils.warn("dak init-db takes no arguments.")
         usage(exit_code=1)
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"],
                           int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     do_archive()
     do_architecture()
old mode 100644 (file)
new mode 100755 (executable)
index f9d3e80..f92515e
@@ -21,7 +21,7 @@
 
 import os, sys
 import apt_pkg
-import daklib.utils
+import daklib.utils as utils
 
 ################################################################################
 
@@ -47,7 +47,7 @@ it."""
 
     if os.path.exists(target):
         if not os.path.isdir(target):
-            daklib.utils.fubar("%s (%s) is not a directory."
+            utils.fubar("%s (%s) is not a directory."
                                % (target, config_name))
     else:
         print "Creating %s ..." % (target)
@@ -118,7 +118,7 @@ def main ():
 
     global AptCnf, Cnf
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     arguments = [('h', "help", "Init-Dirs::Options::Help")]
     for i in [ "help" ]:
         if not Cnf.has_key("Init-Dirs::Options::%s" % (i)):
@@ -130,11 +130,11 @@ def main ():
     if options["Help"]:
         usage()
     elif arguments:
-        daklib.utils.warn("dak init-dirs takes no arguments.")
+        utils.warn("dak init-dirs takes no arguments.")
         usage(exit_code=1)
 
     AptCnf = apt_pkg.newConfiguration()
-    apt_pkg.ReadConfigFileISC(AptCnf, daklib.utils.which_apt_conf_file())
+    apt_pkg.ReadConfigFileISC(AptCnf, utils.which_apt_conf_file())
 
     create_directories()
 
old mode 100644 (file)
new mode 100755 (executable)
index 6ed845f..2b445d8
--- a/dak/ls.py
+++ b/dak/ls.py
@@ -28,8 +28,8 @@
 
 import os, pg, sys
 import apt_pkg
-import daklib.database
-import daklib.utils
+import daklib.database as database
+import daklib.utils as utils
 
 ################################################################################
 
@@ -61,7 +61,7 @@ ARCH, COMPONENT and SUITE can be comma (or space) separated lists, e.g.
 def main ():
     global Cnf, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('a', "architecture", "Ls::Options::Architecture", "HasArg"),
                  ('b', "binarytype", "Ls::Options::BinaryType", "HasArg"),
@@ -85,29 +85,29 @@ def main ():
     if Options["Help"]:
         usage()
     if not packages:
-        daklib.utils.fubar("need at least one package name as an argument.")
+        utils.fubar("need at least one package name as an argument.")
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     # If cron.daily is running; warn the user that our output might seem strange
     if os.path.exists(os.path.join(Cnf["Dir::Root"], "Archive_Maintenance_In_Progress")):
-        daklib.utils.warn("Archive maintenance is in progress; database inconsistencies are possible.")
+        utils.warn("Archive maintenance is in progress; database inconsistencies are possible.")
 
     # Handle buildd maintenance helper options
     if Options["GreaterOrEqual"] or Options["GreaterThan"]:
         if Options["GreaterOrEqual"] and Options["GreaterThan"]:
-            daklib.utils.fubar("-g/--greaterorequal and -G/--greaterthan are mutually exclusive.")
+            utils.fubar("-g/--greaterorequal and -G/--greaterthan are mutually exclusive.")
         if not Options["Suite"]:
             Options["Suite"] = "unstable"
 
     # Parse -a/--architecture, -c/--component and -s/--suite
     (con_suites, con_architectures, con_components, check_source) = \
-                 daklib.utils.parse_args(Options)
+                 utils.parse_args(Options)
 
     if Options["BinaryType"]:
         if Options["BinaryType"] != "udeb" and Options["BinaryType"] != "deb":
-            daklib.utils.fubar("Invalid binary type.  'udeb' and 'deb' recognised.")
+            utils.fubar("Invalid binary type.  'udeb' and 'deb' recognised.")
         con_bintype = "AND b.type = '%s'" % (Options["BinaryType"])
         # REMOVE ME TRAMP
         if Options["BinaryType"] == "udeb":
@@ -178,7 +178,7 @@ SELECT s.source, s.version, 'source', su.suite_name, c.name, m.name
                 suites.sort()
                 for suite in suites:
                     arches = d[pkg][version][suite]
-                    arches.sort(daklib.utils.arch_compare_sw)
+                    arches.sort(utils.arch_compare_sw)
                     if Options["Format"] == "": #normal
                         sys.stdout.write("%10s | %10s | %13s | " % (pkg, version, suite))
                         sys.stdout.write(", ".join(arches))
old mode 100644 (file)
new mode 100755 (executable)
index 077386a..c3905af
@@ -27,8 +27,8 @@
 
 import pg, sys
 import apt_pkg
-import daklib.database
-import daklib.utils
+import daklib.database as database
+import daklib.utils as utils
 
 ################################################################################
 
@@ -54,12 +54,12 @@ def fix_maintainer (maintainer):
     global fixed_maintainer_cache
 
     if not fixed_maintainer_cache.has_key(maintainer):
-        fixed_maintainer_cache[maintainer] = daklib.utils.fix_maintainer(maintainer)[0]
+        fixed_maintainer_cache[maintainer] = utils.fix_maintainer(maintainer)[0]
 
     return fixed_maintainer_cache[maintainer]
 
 def get_maintainer (maintainer):
-    return fix_maintainer(daklib.database.get_maintainer(maintainer))
+    return fix_maintainer(database.get_maintainer(maintainer))
 
 def get_maintainer_from_source (source_id):
     global maintainer_from_source_cache
@@ -76,7 +76,7 @@ def get_maintainer_from_source (source_id):
 def main():
     global Cnf, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Make-Maintainers::Options::Help")]
     if not Cnf.has_key("Make-Maintainers::Options::Help"):
@@ -89,7 +89,7 @@ def main():
         usage()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     for suite in Cnf.SubTree("Suite").List():
         suite = suite.lower()
@@ -130,9 +130,9 @@ def main():
 
     # Process any additional Maintainer files (e.g. from pseudo packages)
     for filename in extra_files:
-        file = daklib.utils.open_file(filename)
+        file = utils.open_file(filename)
         for line in file.readlines():
-            line = daklib.utils.re_comments.sub('', line).strip()
+            line = utils.re_comments.sub('', line).strip()
             if line == "":
                 continue
             split = line.split()
old mode 100644 (file)
new mode 100755 (executable)
index 77074ed..77e7bb8
@@ -27,8 +27,8 @@
 
 import pg, sys
 import apt_pkg
-import daklib.database
-import daklib.utils
+import daklib.database as database
+import daklib.utils as utils
 
 ################################################################################
 
@@ -50,17 +50,17 @@ Outputs the override tables to text files.
 def do_list(output_file, suite, component, otype):
     global override
 
-    suite_id = daklib.database.get_suite_id(suite)
+    suite_id = database.get_suite_id(suite)
     if suite_id == -1:
-        daklib.utils.fubar("Suite '%s' not recognised." % (suite))
+        utils.fubar("Suite '%s' not recognised." % (suite))
 
-    component_id = daklib.database.get_component_id(component)
+    component_id = database.get_component_id(component)
     if component_id == -1:
-        daklib.utils.fubar("Component '%s' not recognised." % (component))
+        utils.fubar("Component '%s' not recognised." % (component))
 
-    otype_id = daklib.database.get_override_type_id(otype)
+    otype_id = database.get_override_type_id(otype)
     if otype_id == -1:
-        daklib.utils.fubar("Type '%s' not recognised. (Valid types are deb, udeb and dsc)" % (otype))
+        utils.fubar("Type '%s' not recognised. (Valid types are deb, udeb and dsc)" % (otype))
 
     override.setdefault(suite, {})
     override[suite].setdefault(component, {})
@@ -70,20 +70,20 @@ def do_list(output_file, suite, component, otype):
         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(daklib.utils.result_join(i)+'\n')
+            output_file.write(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))
         for i in q.getresult():
             i = i[:-1]; # Strip the priority level
             override[suite][component][otype][i[0]] = i
-            output_file.write(daklib.utils.result_join(i)+'\n')
+            output_file.write(utils.result_join(i)+'\n')
 
 ################################################################################
 
 def main ():
     global Cnf, projectB, override
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     Arguments = [('h',"help","Make-Overrides::Options::Help")]
     for i in [ "help" ]:
         if not Cnf.has_key("Make-Overrides::Options::%s" % (i)):
@@ -94,7 +94,7 @@ def main ():
         usage()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     for suite in Cnf.SubTree("Check-Overrides::OverrideSuites").List():
         if Cnf.has_key("Suite::%s::Untouchable" % suite) and Cnf["Suite::%s::Untouchable" % suite] != 0:
@@ -116,7 +116,7 @@ def main ():
                 elif otype == "dsc":
                     suffix = ".src"
                 filename = "%s/override.%s.%s%s" % (Cnf["Dir::Override"], override_suite, component, suffix)
-                output_file = daklib.utils.open_file(filename, 'w')
+                output_file = utils.open_file(filename, 'w')
                 do_list(output_file, suite, component, otype)
                 output_file.close()
 
old mode 100644 (file)
new mode 100755 (executable)
index a63a617..ca4e036
@@ -36,9 +36,9 @@
 import copy, os, pg, sys
 import apt_pkg
 import symlink_dists
-import daklib.database
-import daklib.logging
-import daklib.utils
+import daklib.database as database
+import daklib.logging as logging
+import daklib.utils as utils
 
 ################################################################################
 
@@ -77,7 +77,7 @@ def version_cmp(a, b):
 
 def delete_packages(delete_versions, pkg, dominant_arch, suite,
                     dominant_version, delete_table, delete_col, packages):
-    suite_id = daklib.database.get_suite_id(suite)
+    suite_id = database.get_suite_id(suite)
     for version in delete_versions:
         delete_unique_id = version[1]
         if not packages.has_key(delete_unique_id):
@@ -199,7 +199,7 @@ def cleanup(packages):
 def write_legacy_mixed_filelist(suite, list, packages, dislocated_files):
     # Work out the filename
     filename = os.path.join(Cnf["Dir::Lists"], "%s_-_all.list" % (suite))
-    output = daklib.utils.open_file(filename, "w")
+    output = utils.open_file(filename, "w")
     # Generate the final list of files
     files = {}
     for id in list:
@@ -211,7 +211,7 @@ def write_legacy_mixed_filelist(suite, list, packages, dislocated_files):
         else:
             filename = path + filename
         if files.has_key(filename):
-            daklib.utils.warn("%s (in %s) is duplicated." % (filename, suite))
+            utils.warn("%s (in %s) is duplicated." % (filename, suite))
         else:
             files[filename] = ""
     # Sort the files since apt-ftparchive doesn't
@@ -232,7 +232,7 @@ def write_filelist(suite, component, arch, type, list, packages, dislocated_file
         elif type == "deb":
             arch = "binary-%s" % (arch)
     filename = os.path.join(Cnf["Dir::Lists"], "%s_%s_%s.list" % (suite, component, arch))
-    output = daklib.utils.open_file(filename, "w")
+    output = utils.open_file(filename, "w")
     # Generate the final list of files
     files = {}
     for id in list:
@@ -245,7 +245,7 @@ def write_filelist(suite, component, arch, type, list, packages, dislocated_file
         else:
             filename = path + filename
         if files.has_key(pkg):
-            daklib.utils.warn("%s (in %s/%s, %s) is duplicated." % (pkg, suite, component, filename))
+            utils.warn("%s (in %s/%s, %s) is duplicated." % (pkg, suite, component, filename))
         else:
             files[pkg] = filename
     # Sort the files since apt-ftparchive doesn't
@@ -275,13 +275,13 @@ def write_filelists(packages, dislocated_files):
     if not Options["Suite"]:
         suites = Cnf.SubTree("Suite").List()
     else:
-        suites = daklib.utils.split_args(Options["Suite"])
+        suites = utils.split_args(Options["Suite"])
     for suite in [ i.lower() for i in suites ]:
         d.setdefault(suite, {})
         if not Options["Component"]:
             components = Cnf.ValueList("Suite::%s::Components" % (suite))
         else:
-            components = daklib.utils.split_args(Options["Component"])
+            components = utils.split_args(Options["Component"])
         udeb_components = Cnf.ValueList("Suite::%s::UdebComponents" % (suite))
         udeb_components = udeb_components
         for component in components:
@@ -293,7 +293,7 @@ def write_filelists(packages, dislocated_files):
             if not Options["Architecture"]:
                 architectures = Cnf.ValueList("Suite::%s::Architectures" % (suite))
             else:
-                architectures = daklib.utils.split_args(Options["Architectures"])
+                architectures = utils.split_args(Options["Architectures"])
             for arch in [ i.lower() for i in architectures ]:
                 d[suite][component].setdefault(arch, {})
                 if arch == "source":
@@ -343,7 +343,7 @@ def stable_dislocation_p():
     if not Options["Suite"]:
         return 1
     # Otherwise, look in what suites the user specified
-    suites = daklib.utils.split_args(Options["Suite"])
+    suites = utils.split_args(Options["Suite"])
 
     if "stable" in suites:
         return 1
@@ -356,16 +356,16 @@ def do_da_do_da():
     # If we're only doing a subset of suites, ensure we do enough to
     # be able to do arch: all mapping.
     if Options["Suite"]:
-        suites = daklib.utils.split_args(Options["Suite"])
+        suites = utils.split_args(Options["Suite"])
         for suite in suites:
             archall_suite = Cnf.get("Make-Suite-File-List::ArchAllMap::%s" % (suite))
             if archall_suite and archall_suite not in suites:
-                daklib.utils.warn("Adding %s as %s maps Arch: all from it." % (archall_suite, suite))
+                utils.warn("Adding %s as %s maps Arch: all from it." % (archall_suite, suite))
                 suites.append(archall_suite)
         Options["Suite"] = ",".join(suites)
 
     (con_suites, con_architectures, con_components, check_source) = \
-                 daklib.utils.parse_args(Options)
+                 utils.parse_args(Options)
 
     if stable_dislocation_p():
         dislocated_files = symlink_dists.find_dislocated_stable(Cnf, projectB)
@@ -409,7 +409,7 @@ SELECT s.id, s.source, 'source', s.version, l.path, f.filename, c.name, f.id,
 def main():
     global Cnf, projectB, Options, Logger
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     Arguments = [('a', "architecture", "Make-Suite-File-List::Options::Architecture", "HasArg"),
                  ('c', "component", "Make-Suite-File-List::Options::Component", "HasArg"),
                  ('h', "help", "Make-Suite-File-List::Options::Help"),
@@ -425,8 +425,8 @@ def main():
         usage()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
-    Logger = daklib.logging.Logger(Cnf, "make-suite-file-list")
+    database.init(Cnf, projectB)
+    Logger = logging.Logger(Cnf, "make-suite-file-list")
     do_da_do_da()
     Logger.close()
 
old mode 100644 (file)
new mode 100755 (executable)
index f2aea52..ca119c8
 
 ################################################################################
 
-import daklib.queue, daklib.logging, daklib.utils, daklib.database
+import daklib.queue as queue
+import daklib.logging as logging
+import daklib.utils as utils
+import daklib.database as database
 import apt_pkg, os, sys, pwd, time, re, commands
 
 re_taint_free = re.compile(r"^['/;\-\+\.~\s\w]+$");
@@ -37,7 +40,7 @@ srcverarches = {}
 def init():
     global Cnf, Upload, Options, Logger
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     Cnf["Dinstall::Options::No-Mail"] = "y"
     Arguments = [('h', "help", "Security-Install::Options::Help"),
                  ('a', "automatic", "Security-Install::Options::Automatic"),
@@ -69,13 +72,13 @@ def init():
         sys.exit(0)
 
     if len(arguments) == 0:
-        daklib.utils.fubar("Process what?")
+        utils.fubar("Process what?")
 
-    Upload = daklib.queue.Upload(Cnf)
+    Upload = queue.Upload(Cnf)
     if Options["No-Action"]:
         Options["Sudo"] = ""
     if not Options["Sudo"] and not Options["No-Action"]:
-        Logger = Upload.Logger = daklib.logging.Logger(Cnf, "new-security-install")
+        Logger = Upload.Logger = logging.Logger(Cnf, "new-security-install")
 
     return arguments
 
@@ -97,9 +100,9 @@ def load_args(arguments):
     changesfiles = {}
     for a in arguments:
         if "/" in a:
-            daklib.utils.fubar("can only deal with files in the current directory")
+            utils.fubar("can only deal with files in the current directory")
         if not a.endswith(".changes"):
-            daklib.utils.fubar("not a .changes file: %s" % (a))
+            utils.fubar("not a .changes file: %s" % (a))
         Upload.init_vars()
         Upload.pkg.changes_file = a
         Upload.update_vars()
@@ -111,7 +114,7 @@ def load_args(arguments):
 
     adv_ids = adv_ids.keys()
     if len(adv_ids) > 1:
-        daklib.utils.fubar("multiple advisories selected: %s" % (", ".join(adv_ids)))
+        utils.fubar("multiple advisories selected: %s" % (", ".join(adv_ids)))
     if adv_ids == []:
         advisory = None
     else:
@@ -171,7 +174,7 @@ def prompt(opts, default):
         a = default
 
     while a not in v:
-        a = daklib.utils.our_raw_input(p) + default
+        a = utils.our_raw_input(p) + default
         a = a[:1].upper()
 
     return v[a]
@@ -192,7 +195,7 @@ def add_changes(extras):
 def yes_no(prompt):
     if Options["Automatic"]: return True
     while 1:
-        answer = daklib.utils.our_raw_input(prompt + " ").lower()
+        answer = utils.our_raw_input(prompt + " ").lower()
         if answer in "yn":
             return answer == "y"
         print "Invalid answer; please try again."
@@ -218,9 +221,9 @@ def actually_upload(changes_files):
     uploads = {}; # uploads[uri] = file_list
     changesfiles = {}; # changesfiles[uri] = file_list
     package_list = {} # package_list[source_name][version]
-    changes_files.sort(daklib.utils.changes_compare)
+    changes_files.sort(utils.changes_compare)
     for changes_file in changes_files:
-        changes_file = daklib.utils.validate_changes_file_arg(changes_file)
+        changes_file = utils.validate_changes_file_arg(changes_file)
         # Reset variables
         components = {}
         upload_uris = {}
@@ -239,7 +242,7 @@ def actually_upload(changes_files):
         # Build the file list for this .changes file
         for file in files.keys():
             poolname = os.path.join(Cnf["Dir::Root"], Cnf["Dir::PoolRoot"],
-                                    daklib.utils.poolify(changes["source"], files[file]["component"]),
+                                    utils.poolify(changes["source"], files[file]["component"]),
                                     file)
             file_list.append(poolname)
             orig_component = files[file].get("original component", files[file]["component"])
@@ -251,10 +254,10 @@ def actually_upload(changes_files):
                 upload_uris[upload_uri] = ""
         num_upload_uris = len(upload_uris.keys())
         if num_upload_uris == 0:
-            daklib.utils.fubar("%s: No valid upload URI found from components (%s)."
+            utils.fubar("%s: No valid upload URI found from components (%s)."
                         % (changes_file, ", ".join(components.keys())))
         elif num_upload_uris > 1:
-            daklib.utils.fubar("%s: more than one upload URI (%s) from components (%s)."
+            utils.fubar("%s: more than one upload URI (%s) from components (%s)."
                         % (changes_file, ", ".join(upload_uris.keys()),
                            ", ".join(components.keys())))
         upload_uri = upload_uris.keys()[0]
@@ -285,7 +288,7 @@ def actually_upload(changes_files):
 
     if not Options["No-Action"]:
         filename = "%s/testing-processed" % (Cnf["Dir::Log"])
-        file = daklib.utils.open_file(filename, 'a')
+        file = utils.open_file(filename, 'a')
         for source in package_list.keys():
             for version in package_list[source].keys():
                 file.write(" ".join([source, version])+'\n')
@@ -298,7 +301,7 @@ def generate_advisory(template):
     updated_pkgs = {};  # updated_pkgs[distro][arch][file] = {path,md5,size}
 
     for arg in changes:
-        arg = daklib.utils.validate_changes_file_arg(arg)
+        arg = utils.validate_changes_file_arg(arg)
         Upload.pkg.changes_file = arg
         Upload.init_vars()
         Upload.update_vars()
@@ -319,7 +322,7 @@ def generate_advisory(template):
             md5 = files[file]["md5sum"]
             size = files[file]["size"]
             poolname = Cnf["Dir::PoolRoot"] + \
-                daklib.utils.poolify(src, files[file]["component"])
+                utils.poolify(src, files[file]["component"])
             if arch == "source" and file.endswith(".dsc"):
                 dscpoolname = poolname
             for suite in suites:
@@ -363,7 +366,7 @@ def generate_advisory(template):
         Subst["__BCC__"] = "Bcc: %s" % (Cnf["Dinstall::Bcc"])
 
     adv = ""
-    archive = Cnf["Archive::%s::PrimaryMirror" % (daklib.utils.where_am_i())]
+    archive = Cnf["Archive::%s::PrimaryMirror" % (utils.where_am_i())]
     for suite in updated_pkgs.keys():
         ver = Cnf["Suite::%s::Version" % suite]
         if ver != "": ver += " "
@@ -379,7 +382,7 @@ def generate_advisory(template):
         arches.sort()
 
         adv += "%s updates are available for %s.\n\n" % (
-                suite.capitalize(), daklib.utils.join_with_commas_and(arches))
+                suite.capitalize(), utils.join_with_commas_and(arches))
 
         for a in ["source", "all"] + arches:
             if not updated_pkgs[suite].has_key(a):
@@ -404,19 +407,19 @@ def generate_advisory(template):
 
     Subst["__ADVISORY_TEXT__"] = adv
 
-    adv = daklib.utils.TemplateSubst(Subst, template)
+    adv = utils.TemplateSubst(Subst, template)
     return adv
 
 def spawn(command):
     if not re_taint_free.match(command):
-        daklib.utils.fubar("Invalid character in \"%s\"." % (command))
+        utils.fubar("Invalid character in \"%s\"." % (command))
 
     if Options["No-Action"]:
         print "[%s]" % (command)
     else:
         (result, output) = commands.getstatusoutput(command)
         if (result != 0):
-            daklib.utils.fubar("Invocation of '%s' failed:\n%s\n" % (command, output), result)
+            utils.fubar("Invocation of '%s' failed:\n%s\n" % (command, output), result)
 
 
 ##################### ! ! ! N O T E ! ! !  #####################
@@ -429,7 +432,7 @@ def spawn(command):
 def sudo(arg, fn, exit):
     if Options["Sudo"]:
         if advisory == None:
-            daklib.utils.fubar("Must set advisory name")
+            utils.fubar("Must set advisory name")
         os.spawnl(os.P_WAIT, "/usr/bin/sudo", "/usr/bin/sudo", "-u", "dak", "-H",
                   "/usr/local/bin/dak", "new-security-install", "-"+arg, "--", advisory)
     else:
@@ -459,7 +462,7 @@ def _do_Approve():
     print "Updating file lists for apt-ftparchive..."
     spawn("dak make-suite-file-list")
     print "Updating Packages and Sources files..."
-    spawn("apt-ftparchive generate %s" % (daklib.utils.which_apt_conf_file()))
+    spawn("apt-ftparchive generate %s" % (utils.which_apt_conf_file()))
     print "Updating Release files..."
     spawn("dak generate-releases")
     print "Triggering security mirrors..."
@@ -473,11 +476,11 @@ def _do_Approve():
 def do_Disembargo(): sudo("D", _do_Disembargo, True)
 def _do_Disembargo():
     if os.getcwd() != Cnf["Dir::Queue::Embargoed"].rstrip("/"):
-        daklib.utils.fubar("Can only disembargo from %s" % Cnf["Dir::Queue::Embargoed"])
+        utils.fubar("Can only disembargo from %s" % Cnf["Dir::Queue::Embargoed"])
 
     dest = Cnf["Dir::Queue::Unembargoed"]
-    emb_q = daklib.database.get_or_set_queue_id("embargoed")
-    une_q = daklib.database.get_or_set_queue_id("unembargoed")
+    emb_q = database.get_or_set_queue_id("embargoed")
+    une_q = database.get_or_set_queue_id("unembargoed")
 
     for c in changes:
         print "Disembargoing %s" % (c)
@@ -507,14 +510,14 @@ def _do_Disembargo():
         Upload.projectB.query("COMMIT WORK")
 
         for file in Upload.pkg.files.keys():
-            daklib.utils.copy(file, os.path.join(dest, file))
+            utils.copy(file, os.path.join(dest, file))
             os.unlink(file)
 
     for c in changes:
-        daklib.utils.copy(c, os.path.join(dest, c))
+        utils.copy(c, os.path.join(dest, c))
         os.unlink(c)
         k = c[:-8] + ".dak"
-        daklib.utils.copy(k, os.path.join(dest, k))
+        utils.copy(k, os.path.join(dest, k))
         os.unlink(k)
 
 def do_Reject(): sudo("R", _do_Reject, True)
@@ -564,11 +567,11 @@ def do_DropAdvisory():
 def do_Edit():
     adv_file = "./advisory.%s" % (advisory)
     if not os.path.exists(adv_file):
-        daklib.utils.copy(Cnf["Dir::Templates"]+"/security-install.advisory", adv_file)
+        utils.copy(Cnf["Dir::Templates"]+"/security-install.advisory", adv_file)
     editor = os.environ.get("EDITOR", "vi")
     result = os.system("%s %s" % (editor, adv_file))
     if result != 0:
-        daklib.utils.fubar("%s invocation failed for %s." % (editor, adv_file))
+        utils.fubar("%s invocation failed for %s." % (editor, adv_file))
 
 def do_Show():
     adv_file = "./advisory.%s" % (advisory)
@@ -604,10 +607,10 @@ def main():
             add_changes(extras)
 
     if not advisory:
-        daklib.utils.fubar("Must specify an advisory id")
+        utils.fubar("Must specify an advisory id")
 
     if not changes:
-        daklib.utils.fubar("No changes specified")
+        utils.fubar("No changes specified")
 
     if Options["Approve"]:
         advisory_info()
@@ -649,7 +652,7 @@ def main():
             elif what == "Reject":
                 do_Reject()
             else:
-                daklib.utils.fubar("Impossible answer '%s', wtf?" % (what))
+                utils.fubar("Impossible answer '%s', wtf?" % (what))
 
 ################################################################################
 
old mode 100644 (file)
new mode 100755 (executable)
index 2e10bca..ffa6ae9
@@ -27,9 +27,9 @@
 
 import pg, sys
 import apt_pkg
-import daklib.logging
-import daklib.database
-import daklib.utils
+import daklib.logging as logging
+import daklib.database as database
+import daklib.utils as utils
 
 ################################################################################
 
@@ -38,9 +38,9 @@ projectB = None
 
 ################################################################################
 
-# Shamelessly stolen from 'dak rm'. Should probably end up in daklib.utils.py
+# Shamelessly stolen from 'dak rm'. Should probably end up in utils.py
 def game_over():
-    answer = daklib.utils.our_raw_input("Continue (y/N)? ").lower()
+    answer = utils.our_raw_input("Continue (y/N)? ").lower()
     if answer != "y":
         print "Aborted."
         sys.exit(1)
@@ -60,7 +60,7 @@ Make microchanges or microqueries of the binary overrides
 def main ():
     global Cnf, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Override::Options::Help"),
                  ('d',"done","Override::Options::Done", "HasArg"),
@@ -80,15 +80,15 @@ def main ():
         usage()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     if not arguments:
-        daklib.utils.fubar("package name is a required argument.")
+        utils.fubar("package name is a required argument.")
 
     package = arguments.pop(0)
     suite = Options["Suite"]
     if arguments and len(arguments) > 2:
-        daklib.utils.fubar("Too many arguments")
+        utils.fubar("Too many arguments")
 
     if arguments and len(arguments) == 1:
         # Determine if the argument is a priority or a section...
@@ -103,7 +103,7 @@ def main ():
         elif r[0][1] == 1:
             arguments = (".",arg)
         else:
-            daklib.utils.fubar("%s is not a valid section or priority" % (arg))
+            utils.fubar("%s is not a valid section or priority" % (arg))
 
     # Retrieve current section/priority...
     oldsection, oldsourcesection, oldpriority = None, None, None
@@ -126,7 +126,7 @@ def main ():
         if q.ntuples() == 0:
             continue
         if q.ntuples() > 1:
-            daklib.utils.fubar("%s is ambiguous. Matches %d packages" % (package,q.ntuples()))
+            utils.fubar("%s is ambiguous. Matches %d packages" % (package,q.ntuples()))
 
         r = q.getresult()
         if type == 'binary':
@@ -136,10 +136,10 @@ def main ():
             oldsourcesection = r[0][1]
 
     if not oldpriority and not oldsourcesection:
-        daklib.utils.fubar("Unable to find package %s" % (package))
+        utils.fubar("Unable to find package %s" % (package))
     if oldsection and oldsourcesection and oldsection != oldsourcesection:
         # When setting overrides, both source & binary will become the same section
-        daklib.utils.warn("Source is in section '%s' instead of '%s'" % (oldsourcesection, oldsection))
+        utils.warn("Source is in section '%s' instead of '%s'" % (oldsourcesection, oldsection))
     if not oldsection:
         oldsection = oldsourcesection
 
@@ -165,14 +165,14 @@ def main ():
         pg._quote(newsection,"str")))
 
     if q.ntuples() == 0:
-        daklib.utils.fubar("Supplied section %s is invalid" % (newsection))
+        utils.fubar("Supplied section %s is invalid" % (newsection))
     newsecid = q.getresult()[0][0]
 
     q = projectB.query("SELECT id FROM priority WHERE priority=%s" % (
         pg._quote(newpriority,"str")))
 
     if q.ntuples() == 0:
-        daklib.utils.fubar("Supplied priority %s is invalid" % (newpriority))
+        utils.fubar("Supplied priority %s is invalid" % (newpriority))
     newprioid = q.getresult()[0][0]
 
     if newpriority == oldpriority and newsection == oldsection:
@@ -180,7 +180,7 @@ def main ():
         sys.exit(0)
 
     if newpriority and not oldpriority:
-        daklib.utils.fubar("Trying to set priority of a source-only package")
+        utils.fubar("Trying to set priority of a source-only package")
 
     # If we're in no-action mode
     if Options["No-Action"]:
@@ -200,13 +200,13 @@ def main ():
 
     if not Options.has_key("Done"):
         pass
-        #daklib.utils.warn("No bugs to close have been specified. Noone will know you have done this.")
+        #utils.warn("No bugs to close have been specified. Noone will know you have done this.")
     else:
         print "I: Will close bug(s): %s" % (Options["Done"])
 
     game_over()
 
-    Logger = daklib.logging.Logger(Cnf, "override")
+    Logger = logging.Logger(Cnf, "override")
 
     projectB.query("BEGIN WORK")
     # We're in "do it" mode, we have something to do... do it
@@ -218,7 +218,7 @@ def main ():
            AND override.type != %d
            AND suite = (SELECT id FROM suite WHERE suite_name=%s)""" % (
             newprioid,
-            pg._quote(package,"str"), daklib.database.get_override_type_id("dsc"),
+            pg._quote(package,"str"), database.get_override_type_id("dsc"),
             pg._quote(suite,"str") ))
         Logger.log(["changed priority",package,oldpriority,newpriority])
 
@@ -250,7 +250,7 @@ def main ():
         Subst["__CC__"] = "X-DAK: dak override\nX-Katie: alicia $Revision: 1.6$"
         Subst["__ADMIN_ADDRESS__"] = Cnf["Dinstall::MyAdminAddress"]
         Subst["__DISTRO__"] = Cnf["Dinstall::MyDistribution"]
-        Subst["__WHOAMI__"] = daklib.utils.whoami()
+        Subst["__WHOAMI__"] = utils.whoami()
 
         summary = "Concerning package %s...\n" % (package)
         summary += "Operating on the %s suite\n" % (suite)
@@ -260,11 +260,11 @@ def main ():
             summary += "Changed section from %s to %s\n" % (oldsection,newsection)
         Subst["__SUMMARY__"] = summary
 
-        for bug in daklib.utils.split_args(Options["Done"]):
+        for bug in utils.split_args(Options["Done"]):
             Subst["__BUG_NUMBER__"] = bug
-            mail_message = daklib.utils.TemplateSubst(
+            mail_message = utils.TemplateSubst(
                 Subst,Cnf["Dir::Templates"]+"/override.bug-close")
-            daklib.utils.send_mail(mail_message)
+            utils.send_mail(mail_message)
             Logger.log(["closed bug",bug])
 
     Logger.close()
old mode 100644 (file)
new mode 100755 (executable)
index bb75d5e..605b5c2
 
 import errno, fcntl, os, sys, time, re
 import apt_pkg
-import daklib.database
-import daklib.logging
-import daklib.queue
-import daklib.utils
+import daklib.database as database
+import daklib.logging as logging
+import daklib.queue as queue
+import daklib.utils as utils
 
 ###############################################################################
 
@@ -72,11 +72,11 @@ class Urgency_Log:
         # Create the log directory if it doesn't exist
         self.log_dir = Cnf["Dir::UrgencyLog"]
         if not os.path.exists(self.log_dir) or not os.access(self.log_dir, os.W_OK):
-            daklib.utils.warn("UrgencyLog directory %s does not exist or is not writeable, using /srv/ftp.debian.org/tmp/ instead" % (self.log_dir))
+            utils.warn("UrgencyLog directory %s does not exist or is not writeable, using /srv/ftp.debian.org/tmp/ instead" % (self.log_dir))
             self.log_dir = '/srv/ftp.debian.org/tmp/'
         # Open the logfile
         self.log_filename = "%s/.install-urgencies-%s.new" % (self.log_dir, self.timestamp)
-        self.log_file = daklib.utils.open_file(self.log_filename, 'w')
+        self.log_file = utils.open_file(self.log_filename, 'w')
         self.writes = 0
 
     def log (self, source, version, urgency):
@@ -91,7 +91,7 @@ class Urgency_Log:
         self.log_file.close()
         if self.writes:
             new_filename = "%s/install-urgencies-%s" % (self.log_dir, self.timestamp)
-            daklib.utils.move(self.log_filename, new_filename)
+            utils.move(self.log_filename, new_filename)
         else:
             os.unlink(self.log_filename)
 
@@ -154,7 +154,7 @@ def check():
 def init():
     global Cnf, Options, Upload, projectB, changes, dsc, dsc_files, files, pkg, Subst
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('a',"automatic","Dinstall::Options::Automatic"),
                  ('h',"help","Dinstall::Options::Help"),
@@ -172,7 +172,7 @@ def init():
     if Options["Help"]:
         usage()
 
-    Upload = daklib.queue.Upload(Cnf)
+    Upload = queue.Upload(Cnf)
     projectB = Upload.projectB
 
     changes = Upload.pkg.changes
@@ -218,8 +218,8 @@ def action ():
             answer = 'I'
 
     while prompt.find(answer) == -1:
-        answer = daklib.utils.our_raw_input(prompt)
-        m = daklib.queue.re_default_answer.match(prompt)
+        answer = utils.our_raw_input(prompt)
+        m = queue.re_default_answer.match(prompt)
         if answer == "":
             answer = m.group(1)
         answer = answer[:1].upper()
@@ -245,7 +245,7 @@ def do_reject ():
     Subst["__REJECTOR_ADDRESS__"] = Cnf["Dinstall::MyEmailAddress"]
     Subst["__REJECT_MESSAGE__"] = reject_message
     Subst["__CC__"] = "Cc: " + Cnf["Dinstall::MyEmailAddress"]
-    reject_mail_message = daklib.utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/process-accepted.unaccept")
+    reject_mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/process-accepted.unaccept")
 
     # Write the rejection email out as the <foo>.reason file
     reason_filename = os.path.basename(pkg.changes_file[:-8]) + ".reason"
@@ -258,7 +258,7 @@ def do_reject ():
     os.write(fd, reject_mail_message)
     os.close(fd)
 
-    daklib.utils.send_mail(reject_mail_message)
+    utils.send_mail(reject_mail_message)
     Logger.log(["unaccepted", pkg.changes_file])
 
 ###############################################################################
@@ -280,22 +280,22 @@ def install ():
             version = dsc["version"]  # NB: not files[file]["version"], that has no epoch
             maintainer = dsc["maintainer"]
             maintainer = maintainer.replace("'", "\\'")
-            maintainer_id = daklib.database.get_or_set_maintainer_id(maintainer)
+            maintainer_id = database.get_or_set_maintainer_id(maintainer)
             changedby = changes["changed-by"]
             changedby = changedby.replace("'", "\\'")
-            changedby_id = daklib.database.get_or_set_maintainer_id(changedby)
-            fingerprint_id = daklib.database.get_or_set_fingerprint_id(dsc["fingerprint"])
+            changedby_id = database.get_or_set_maintainer_id(changedby)
+            fingerprint_id = database.get_or_set_fingerprint_id(dsc["fingerprint"])
             install_date = time.strftime("%Y-%m-%d")
             filename = files[file]["pool name"] + file
             dsc_component = files[file]["component"]
             dsc_location_id = files[file]["location id"]
             if not files[file].has_key("files id") or not files[file]["files id"]:
-                files[file]["files id"] = daklib.database.set_files_id (filename, files[file]["size"], files[file]["md5sum"], dsc_location_id)
+                files[file]["files id"] = database.set_files_id (filename, files[file]["size"], files[file]["md5sum"], dsc_location_id)
             projectB.query("INSERT INTO source (source, version, maintainer, changedby, file, install_date, sig_fpr) VALUES ('%s', '%s', %d, %d, %d, '%s', %s)"
                            % (package, version, maintainer_id, changedby_id, files[file]["files id"], install_date, fingerprint_id))
 
             for suite in changes["distribution"].keys():
-                suite_id = daklib.database.get_suite_id(suite)
+                suite_id = database.get_suite_id(suite)
                 projectB.query("INSERT INTO src_associations (suite, source) VALUES (%d, currval('source_id_seq'))" % (suite_id))
 
             # Add the source files to the DB (files and dsc_files)
@@ -306,10 +306,10 @@ def install ():
                 # files id is stored in dsc_files by check_dsc().
                 files_id = dsc_files[dsc_file].get("files id", None)
                 if files_id == None:
-                    files_id = daklib.database.get_files_id(filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], dsc_location_id)
+                    files_id = database.get_files_id(filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], dsc_location_id)
                 # FIXME: needs to check for -1/-2 and or handle exception
                 if files_id == None:
-                    files_id = daklib.database.set_files_id (filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], dsc_location_id)
+                    files_id = database.set_files_id (filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], dsc_location_id)
                 projectB.query("INSERT INTO dsc_files (source, file) VALUES (currval('source_id_seq'), %d)" % (files_id))
 
             # Add the src_uploaders to the DB
@@ -320,11 +320,11 @@ def install ():
                         u = u.replace("'", "\\'")
                         u = u.strip()
                         uploader_ids.append(
-                            daklib.database.get_or_set_maintainer_id(u))
+                            database.get_or_set_maintainer_id(u))
                 added_ids = {}
                 for u in uploader_ids:
                     if added_ids.has_key(u):
-                        daklib.utils.warn("Already saw uploader %s for source %s" % (u, package))
+                        utils.warn("Already saw uploader %s for source %s" % (u, package))
                         continue
                     added_ids[u]=1
                     projectB.query("INSERT INTO src_uploaders (source, maintainer) VALUES (currval('source_id_seq'), %d)" % (u))
@@ -337,19 +337,19 @@ def install ():
             version = files[file]["version"]
             maintainer = files[file]["maintainer"]
             maintainer = maintainer.replace("'", "\\'")
-            maintainer_id = daklib.database.get_or_set_maintainer_id(maintainer)
-            fingerprint_id = daklib.database.get_or_set_fingerprint_id(changes["fingerprint"])
+            maintainer_id = database.get_or_set_maintainer_id(maintainer)
+            fingerprint_id = database.get_or_set_fingerprint_id(changes["fingerprint"])
             architecture = files[file]["architecture"]
-            architecture_id = daklib.database.get_architecture_id (architecture)
+            architecture_id = database.get_architecture_id (architecture)
             type = files[file]["dbtype"]
             source = files[file]["source package"]
             source_version = files[file]["source version"]
             filename = files[file]["pool name"] + file
             if not files[file].has_key("location id") or not files[file]["location id"]:
-                files[file]["location id"] = daklib.database.get_location_id(Cnf["Dir::Pool"],files[file]["component"],daklib.utils.where_am_i())
+                files[file]["location id"] = database.get_location_id(Cnf["Dir::Pool"],files[file]["component"],utils.where_am_i())
             if not files[file].has_key("files id") or not files[file]["files id"]:
-                files[file]["files id"] = daklib.database.set_files_id (filename, files[file]["size"], files[file]["md5sum"], files[file]["location id"])
-            source_id = daklib.database.get_source_id (source, source_version)
+                files[file]["files id"] = database.set_files_id (filename, files[file]["size"], files[file]["md5sum"], files[file]["location id"])
+            source_id = database.get_source_id (source, source_version)
             if source_id:
                 projectB.query("INSERT INTO binaries (package, version, maintainer, source, architecture, file, type, sig_fpr) VALUES ('%s', '%s', %d, %d, %d, %d, '%s', %d)"
                                % (package, version, maintainer_id, source_id, architecture_id, files[file]["files id"], type, fingerprint_id))
@@ -357,7 +357,7 @@ def install ():
                 projectB.query("INSERT INTO binaries (package, version, maintainer, architecture, file, type, sig_fpr) VALUES ('%s', '%s', %d, %d, %d, '%s', %d)"
                                % (package, version, maintainer_id, architecture_id, files[file]["files id"], type, fingerprint_id))
             for suite in changes["distribution"].keys():
-                suite_id = daklib.database.get_suite_id(suite)
+                suite_id = database.get_suite_id(suite)
                 projectB.query("INSERT INTO bin_associations (suite, bin) VALUES (%d, currval('binaries_id_seq'))" % (suite_id))
 
     # If the .orig.tar.gz is in a legacy directory we need to poolify
@@ -375,10 +375,10 @@ def install ():
                 continue
             # First move the files to the new location
             legacy_filename = qid["path"] + qid["filename"]
-            pool_location = daklib.utils.poolify (changes["source"], files[file]["component"])
+            pool_location = utils.poolify (changes["source"], files[file]["component"])
             pool_filename = pool_location + os.path.basename(qid["filename"])
             destination = Cnf["Dir::Pool"] + pool_location
-            daklib.utils.move(legacy_filename, destination)
+            utils.move(legacy_filename, destination)
             # Then Update the DB's files table
             q = projectB.query("UPDATE files SET filename = '%s', location = '%s' WHERE id = '%s'" % (pool_filename, dsc_location_id, qid["files_id"]))
 
@@ -393,17 +393,17 @@ def install ():
         old_filename = ql[0] + ql[1]
         file_size = ql[2]
         file_md5sum = ql[3]
-        new_filename = daklib.utils.poolify(changes["source"], dsc_component) + os.path.basename(old_filename)
-        new_files_id = daklib.database.get_files_id(new_filename, file_size, file_md5sum, dsc_location_id)
+        new_filename = utils.poolify(changes["source"], dsc_component) + os.path.basename(old_filename)
+        new_files_id = database.get_files_id(new_filename, file_size, file_md5sum, dsc_location_id)
         if new_files_id == None:
-            daklib.utils.copy(old_filename, Cnf["Dir::Pool"] + new_filename)
-            new_files_id = daklib.database.set_files_id(new_filename, file_size, file_md5sum, dsc_location_id)
+            utils.copy(old_filename, Cnf["Dir::Pool"] + new_filename)
+            new_files_id = database.set_files_id(new_filename, file_size, file_md5sum, dsc_location_id)
             projectB.query("UPDATE dsc_files SET file = %s WHERE source = %s AND file = %s" % (new_files_id, source_id, orig_tar_id))
 
     # Install the files into the pool
     for file in files.keys():
         destination = Cnf["Dir::Pool"] + files[file]["pool name"] + file
-        daklib.utils.move(file, destination)
+        utils.move(file, destination)
         Logger.log(["installed", file, files[file]["type"], files[file]["size"], files[file]["architecture"]])
         install_bytes += float(files[file]["size"])
 
@@ -417,14 +417,14 @@ def install ():
         if Cnf.has_key("Suite::%s::CopyDotDak" % (suite)):
             copy_dot_dak[Cnf["Suite::%s::CopyDotDak" % (suite)]] = ""
     for dest in copy_changes.keys():
-        daklib.utils.copy(pkg.changes_file, Cnf["Dir::Root"] + dest)
+        utils.copy(pkg.changes_file, Cnf["Dir::Root"] + dest)
     for dest in copy_dot_dak.keys():
-        daklib.utils.copy(Upload.pkg.changes_file[:-8]+".dak", dest)
+        utils.copy(Upload.pkg.changes_file[:-8]+".dak", dest)
 
     projectB.query("COMMIT WORK")
 
     # Move the .changes into the 'done' directory
-    daklib.utils.move (pkg.changes_file,
+    utils.move (pkg.changes_file,
                 os.path.join(Cnf["Dir::Queue::Done"], os.path.basename(pkg.changes_file)))
 
     # Remove the .dak file
@@ -440,7 +440,7 @@ def install ():
         if suite not in Cnf.ValueList("Dinstall::QueueBuildSuites"):
             continue
         now_date = time.strftime("%Y-%m-%d %H:%M")
-        suite_id = daklib.database.get_suite_id(suite)
+        suite_id = database.get_suite_id(suite)
         dest_dir = Cnf["Dir::QueueBuild"]
         if Cnf.FindB("Dinstall::SecurityQueueBuild"):
             dest_dir = os.path.join(dest_dir, suite)
@@ -450,7 +450,7 @@ def install ():
             projectB.query("UPDATE queue_build SET in_queue = 'f', last_used = '%s' WHERE filename = '%s' AND suite = %s" % (now_date, dest, suite_id))
             if not Cnf.FindB("Dinstall::SecurityQueueBuild"):
                 # Update the symlink to point to the new location in the pool
-                pool_location = daklib.utils.poolify (changes["source"], files[file]["component"])
+                pool_location = utils.poolify (changes["source"], files[file]["component"])
                 src = os.path.join(Cnf["Dir::Pool"], pool_location, os.path.basename(file))
                 if os.path.islink(dest):
                     os.unlink(dest)
@@ -487,11 +487,11 @@ def stable_install (summary, short_summary):
             q = projectB.query("SELECT id FROM source WHERE source = '%s' AND version = '%s'" % (package, version))
             ql = q.getresult()
             if not ql:
-                daklib.utils.fubar("[INTERNAL ERROR] couldn't find '%s' (%s) in source table." % (package, version))
+                utils.fubar("[INTERNAL ERROR] couldn't find '%s' (%s) in source table." % (package, version))
             source_id = ql[0][0]
-            suite_id = daklib.database.get_suite_id('proposed-updates')
+            suite_id = database.get_suite_id('proposed-updates')
             projectB.query("DELETE FROM src_associations WHERE suite = '%s' AND source = '%s'" % (suite_id, source_id))
-            suite_id = daklib.database.get_suite_id('stable')
+            suite_id = database.get_suite_id('stable')
             projectB.query("INSERT INTO src_associations (suite, source) VALUES ('%s', '%s')" % (suite_id, source_id))
 
     # Add the binaries to stable (and remove it/them from proposed-updates)
@@ -503,17 +503,17 @@ def stable_install (summary, short_summary):
             q = projectB.query("SELECT b.id FROM binaries b, architecture a WHERE b.package = '%s' AND b.version = '%s' AND (a.arch_string = '%s' OR a.arch_string = 'all') AND b.architecture = a.id" % (package, version, architecture))
             ql = q.getresult()
             if not ql:
-                daklib.utils.fubar("[INTERNAL ERROR] couldn't find '%s' (%s for %s architecture) in binaries table." % (package, version, architecture))
+                utils.fubar("[INTERNAL ERROR] couldn't find '%s' (%s for %s architecture) in binaries table." % (package, version, architecture))
 
             binary_id = ql[0][0]
-            suite_id = daklib.database.get_suite_id('proposed-updates')
+            suite_id = database.get_suite_id('proposed-updates')
             projectB.query("DELETE FROM bin_associations WHERE suite = '%s' AND bin = '%s'" % (suite_id, binary_id))
-            suite_id = daklib.database.get_suite_id('stable')
+            suite_id = database.get_suite_id('stable')
             projectB.query("INSERT INTO bin_associations (suite, bin) VALUES ('%s', '%s')" % (suite_id, binary_id))
 
     projectB.query("COMMIT WORK")
 
-    daklib.utils.move (pkg.changes_file, Cnf["Dir::Morgue"] + '/process-accepted/' + os.path.basename(pkg.changes_file))
+    utils.move (pkg.changes_file, Cnf["Dir::Morgue"] + '/process-accepted/' + os.path.basename(pkg.changes_file))
 
     ## Update the Stable ChangeLog file
     new_changelog_filename = Cnf["Dir::Root"] + Cnf["Suite::Stable::ChangeLogBase"] + ".ChangeLog"
@@ -521,31 +521,31 @@ def stable_install (summary, short_summary):
     if os.path.exists(new_changelog_filename):
         os.unlink (new_changelog_filename)
 
-    new_changelog = daklib.utils.open_file(new_changelog_filename, 'w')
+    new_changelog = utils.open_file(new_changelog_filename, 'w')
     for file in files.keys():
         if files[file]["type"] == "deb":
             new_changelog.write("stable/%s/binary-%s/%s\n" % (files[file]["component"], files[file]["architecture"], file))
-        elif daklib.utils.re_issource.match(file):
+        elif utils.re_issource.match(file):
             new_changelog.write("stable/%s/source/%s\n" % (files[file]["component"], file))
         else:
             new_changelog.write("%s\n" % (file))
-    chop_changes = daklib.queue.re_fdnic.sub("\n", changes["changes"])
+    chop_changes = queue.re_fdnic.sub("\n", changes["changes"])
     new_changelog.write(chop_changes + '\n\n')
     if os.access(changelog_filename, os.R_OK) != 0:
-        changelog = daklib.utils.open_file(changelog_filename)
+        changelog = utils.open_file(changelog_filename)
         new_changelog.write(changelog.read())
     new_changelog.close()
     if os.access(changelog_filename, os.R_OK) != 0:
         os.unlink(changelog_filename)
-    daklib.utils.move(new_changelog_filename, changelog_filename)
+    utils.move(new_changelog_filename, changelog_filename)
 
     install_count += 1
 
     if not Options["No-Mail"] and changes["architecture"].has_key("source"):
         Subst["__SUITE__"] = " into stable"
         Subst["__SUMMARY__"] = summary
-        mail_message = daklib.utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/process-accepted.install")
-        daklib.utils.send_mail(mail_message)
+        mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/process-accepted.install")
+        utils.send_mail(mail_message)
         Upload.announce(short_summary, 1)
 
     # Finally remove the .dak file
@@ -599,7 +599,7 @@ def main():
     # Check that we aren't going to clash with the daily cron job
 
     if not Options["No-Action"] and os.path.exists("%s/Archive_Maintenance_In_Progress" % (Cnf["Dir::Root"])) and not Options["No-Lock"]:
-        daklib.utils.fubar("Archive maintenance in progress.  Try again later.")
+        utils.fubar("Archive maintenance in progress.  Try again later.")
 
     # If running from within proposed-updates; assume an install to stable
     if os.getcwd().find('proposed-updates') != -1:
@@ -612,10 +612,10 @@ def main():
             fcntl.lockf(lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
         except IOError, e:
             if errno.errorcode[e.errno] == 'EACCES' or errno.errorcode[e.errno] == 'EAGAIN':
-                daklib.utils.fubar("Couldn't obtain lock; assuming another 'dak process-accepted' is already running.")
+                utils.fubar("Couldn't obtain lock; assuming another 'dak process-accepted' is already running.")
             else:
                 raise
-        Logger = Upload.Logger = daklib.logging.Logger(Cnf, "process-accepted")
+        Logger = Upload.Logger = logging.Logger(Cnf, "process-accepted")
         if not installing_to_stable and Cnf.get("Dir::UrgencyLog"):
             Urgency_Logger = Urgency_Log(Cnf)
 
@@ -627,7 +627,7 @@ def main():
         Subst["__BCC__"] = bcc
 
     # Sort the .changes files so that we process sourceful ones first
-    changes_files.sort(daklib.utils.changes_compare)
+    changes_files.sort(utils.changes_compare)
 
     # Process the changes files
     for changes_file in changes_files:
@@ -638,7 +638,7 @@ def main():
         sets = "set"
         if install_count > 1:
             sets = "sets"
-        sys.stderr.write("Installed %d package %s, %s.\n" % (install_count, sets, daklib.utils.size_type(int(install_bytes))))
+        sys.stderr.write("Installed %d package %s, %s.\n" % (install_count, sets, utils.size_type(int(install_bytes))))
         Logger.log(["total",install_count,install_bytes])
 
     if not Options["No-Action"]:
old mode 100644 (file)
new mode 100755 (executable)
index 22469ad..c13ff78
 import copy, errno, os, readline, stat, sys, time
 import apt_pkg, apt_inst
 import examine_package
-import daklib.database
-import daklib.logging
-import daklib.queue
-import daklib.utils
+import daklib.database as database
+import daklib.logging as logging
+import daklib.queue as queue
+import daklib.utils as utils
 
 # Globals
 Cnf = None
@@ -81,7 +81,7 @@ def recheck():
             source_package = files[f]["source package"]
             if not Upload.pkg.changes["architecture"].has_key("source") \
                and not Upload.source_exists(source_package, source_version, Upload.pkg.changes["distribution"].keys()):
-                source_epochless_version = daklib.utils.re_no_epoch.sub('', source_version)
+                source_epochless_version = utils.re_no_epoch.sub('', source_version)
                 dsc_filename = "%s_%s.dsc" % (source_package, source_epochless_version)
                 found = 0
                 for q in ["Accepted", "Embargoed", "Unembargoed"]:
@@ -108,8 +108,8 @@ def recheck():
         prompt = "[R]eject, Skip, Quit ?"
 
         while prompt.find(answer) == -1:
-            answer = daklib.utils.our_raw_input(prompt)
-            m = daklib.queue.re_default_answer.match(prompt)
+            answer = utils.our_raw_input(prompt)
+            m = queue.re_default_answer.match(prompt)
             if answer == "":
                 answer = m.group(1)
             answer = answer[:1].upper()
@@ -262,7 +262,7 @@ class Priority_Completer:
 ################################################################################
 
 def print_new (new, indexed, file=sys.stdout):
-    daklib.queue.check_valid(new)
+    queue.check_valid(new)
     broken = 0
     index = 0
     for pkg in new.keys():
@@ -301,17 +301,17 @@ def index_range (index):
 
 def edit_new (new):
     # Write the current data to a temporary file
-    temp_filename = daklib.utils.temp_filename()
-    temp_file = daklib.utils.open_file(temp_filename, 'w')
+    temp_filename = utils.temp_filename()
+    temp_file = utils.open_file(temp_filename, 'w')
     print_new (new, 0, temp_file)
     temp_file.close()
     # Spawn an editor on that file
     editor = os.environ.get("EDITOR","vi")
     result = os.system("%s %s" % (editor, temp_filename))
     if result != 0:
-        daklib.utils.fubar ("%s invocation failed for %s." % (editor, temp_filename), result)
+        utils.fubar ("%s invocation failed for %s." % (editor, temp_filename), result)
     # Read the edited data back in
-    temp_file = daklib.utils.open_file(temp_filename)
+    temp_file = utils.open_file(temp_filename)
     lines = temp_file.readlines()
     temp_file.close()
     os.unlink(temp_filename)
@@ -325,7 +325,7 @@ def edit_new (new):
         s[len(s):3] = [None] * (3-len(s))
         (pkg, priority, section) = s[:3]
         if not new.has_key(pkg):
-            daklib.utils.warn("Ignoring unknown package '%s'" % (pkg))
+            utils.warn("Ignoring unknown package '%s'" % (pkg))
         else:
             # Strip off any invalid markers, print_new will readd them.
             if section.endswith("[!]"):
@@ -356,8 +356,8 @@ def edit_index (new, index):
         edit_priority = edit_section = 0
 
         while prompt.find(answer) == -1:
-            answer = daklib.utils.our_raw_input(prompt)
-            m = daklib.queue.re_default_answer.match(prompt)
+            answer = utils.our_raw_input(prompt)
+            m = queue.re_default_answer.match(prompt)
             if answer == "":
                 answer = m.group(1)
             answer = answer[:1].upper()
@@ -376,7 +376,7 @@ def edit_index (new, index):
             readline.set_completer(Priorities.complete)
             got_priority = 0
             while not got_priority:
-                new_priority = daklib.utils.our_raw_input("New priority: ").strip()
+                new_priority = utils.our_raw_input("New priority: ").strip()
                 if new_priority not in Priorities.priorities:
                     print "E: '%s' is not a valid priority, try again." % (new_priority)
                 else:
@@ -388,7 +388,7 @@ def edit_index (new, index):
             readline.set_completer(Sections.complete)
             got_section = 0
             while not got_section:
-                new_section = daklib.utils.our_raw_input("New section: ").strip()
+                new_section = utils.our_raw_input("New section: ").strip()
                 if new_section not in Sections.sections:
                     print "E: '%s' is not a valid section, try again." % (new_section)
                 else:
@@ -422,12 +422,12 @@ def edit_overrides (new):
 
         got_answer = 0
         while not got_answer:
-            answer = daklib.utils.our_raw_input(prompt)
+            answer = utils.our_raw_input(prompt)
             if not answer.isdigit():
                 answer = answer[:1].upper()
             if answer == "E" or answer == "D":
                 got_answer = 1
-            elif daklib.queue.re_isanum.match (answer):
+            elif queue.re_isanum.match (answer):
                 answer = int(answer)
                 if (answer < 1) or (answer > index):
                     print "%s is not a valid index (%s).  Please retry." % (answer, index_range(index))
@@ -447,24 +447,24 @@ def edit_overrides (new):
 
 def edit_note(note):
     # Write the current data to a temporary file
-    temp_filename = daklib.utils.temp_filename()
-    temp_file = daklib.utils.open_file(temp_filename, 'w')
+    temp_filename = utils.temp_filename()
+    temp_file = utils.open_file(temp_filename, 'w')
     temp_file.write(note)
     temp_file.close()
     editor = os.environ.get("EDITOR","vi")
     answer = 'E'
     while answer == 'E':
         os.system("%s %s" % (editor, temp_filename))
-        temp_file = daklib.utils.open_file(temp_filename)
+        temp_file = utils.open_file(temp_filename)
         note = temp_file.read().rstrip()
         temp_file.close()
         print "Note:"
-        print daklib.utils.prefix_multi_line_string(note,"  ")
+        print utils.prefix_multi_line_string(note,"  ")
         prompt = "[D]one, Edit, Abandon, Quit ?"
         answer = "XXX"
         while prompt.find(answer) == -1:
-            answer = daklib.utils.our_raw_input(prompt)
-            m = daklib.queue.re_default_answer.search(prompt)
+            answer = utils.our_raw_input(prompt)
+            m = queue.re_default_answer.search(prompt)
             if answer == "":
                 answer = m.group(1)
             answer = answer[:1].upper()
@@ -498,12 +498,12 @@ def check_pkg ():
             sys.stdout = stdout_fd
     except IOError, e:
         if e.errno == errno.EPIPE:
-            daklib.utils.warn("[examine_package] Caught EPIPE; skipping.")
+            utils.warn("[examine_package] Caught EPIPE; skipping.")
             pass
         else:
             raise
     except KeyboardInterrupt:
-        daklib.utils.warn("[examine_package] Caught C-c; skipping.")
+        utils.warn("[examine_package] Caught C-c; skipping.")
         pass
 
 ################################################################################
@@ -515,13 +515,13 @@ def do_bxa_notification():
     summary = ""
     for f in files.keys():
         if files[f]["type"] == "deb":
-            control = apt_pkg.ParseSection(apt_inst.debExtractControl(daklib.utils.open_file(f)))
+            control = apt_pkg.ParseSection(apt_inst.debExtractControl(utils.open_file(f)))
             summary += "\n"
             summary += "Package: %s\n" % (control.Find("Package"))
             summary += "Description: %s\n" % (control.Find("Description"))
     Upload.Subst["__BINARY_DESCRIPTIONS__"] = summary
-    bxa_mail = daklib.utils.TemplateSubst(Upload.Subst,Cnf["Dir::Templates"]+"/process-new.bxa_notification")
-    daklib.utils.send_mail(bxa_mail)
+    bxa_mail = utils.TemplateSubst(Upload.Subst,Cnf["Dir::Templates"]+"/process-new.bxa_notification")
+    utils.send_mail(bxa_mail)
 
 ################################################################################
 
@@ -531,10 +531,10 @@ def add_overrides (new):
 
     projectB.query("BEGIN WORK")
     for suite in changes["suite"].keys():
-        suite_id = daklib.database.get_suite_id(suite)
+        suite_id = database.get_suite_id(suite)
         for pkg in new.keys():
-            component_id = daklib.database.get_component_id(new[pkg]["component"])
-            type_id = daklib.database.get_override_type_id(new[pkg]["type"])
+            component_id = database.get_component_id(new[pkg]["component"])
+            type_id = database.get_override_type_id(new[pkg]["type"])
             priority_id = new[pkg]["priority id"]
             section_id = new[pkg]["section id"]
             projectB.query("INSERT INTO override (suite, component, type, package, priority, section, maintainer) VALUES (%s, %s, %s, '%s', %s, %s, '')" % (suite_id, component_id, type_id, pkg, priority_id, section_id))
@@ -552,21 +552,21 @@ def add_overrides (new):
 
 def prod_maintainer ():
     # Here we prepare an editor and get them ready to prod...
-    temp_filename = daklib.utils.temp_filename()
+    temp_filename = utils.temp_filename()
     editor = os.environ.get("EDITOR","vi")
     answer = 'E'
     while answer == 'E':
         os.system("%s %s" % (editor, temp_filename))
-        f = daklib.utils.open_file(temp_filename)
+        f = utils.open_file(temp_filename)
         prod_message = "".join(f.readlines())
         f.close()
         print "Prod message:"
-        print daklib.utils.prefix_multi_line_string(prod_message,"  ",include_blank_lines=1)
+        print utils.prefix_multi_line_string(prod_message,"  ",include_blank_lines=1)
         prompt = "[P]rod, Edit, Abandon, Quit ?"
         answer = "XXX"
         while prompt.find(answer) == -1:
-            answer = daklib.utils.our_raw_input(prompt)
-            m = daklib.queue.re_default_answer.search(prompt)
+            answer = utils.our_raw_input(prompt)
+            m = queue.re_default_answer.search(prompt)
             if answer == "":
                 answer = m.group(1)
             answer = answer[:1].upper()
@@ -577,7 +577,7 @@ def prod_maintainer ():
             end()
             sys.exit(0)
     # Otherwise, do the proding...
-    user_email_address = daklib.utils.whoami() + " <%s>" % (
+    user_email_address = utils.whoami() + " <%s>" % (
         Cnf["Dinstall::MyAdminAddress"])
 
     Subst = Upload.Subst
@@ -586,12 +586,12 @@ def prod_maintainer ():
     Subst["__PROD_MESSAGE__"] = prod_message
     Subst["__CC__"] = "Cc: " + Cnf["Dinstall::MyEmailAddress"]
 
-    prod_mail_message = daklib.utils.TemplateSubst(
+    prod_mail_message = utils.TemplateSubst(
         Subst,Cnf["Dir::Templates"]+"/process-new.prod")
 
     # Send the prod mail if appropriate
     if not Cnf["Dinstall::Options::No-Mail"]:
-        daklib.utils.send_mail(prod_mail_message)
+        utils.send_mail(prod_mail_message)
 
     print "Sent proding message"
 
@@ -609,8 +609,8 @@ def do_new():
     for suite in changes["suite"].keys():
         override = Cnf.Find("Suite::%s::OverrideSuite" % (suite))
         if override:
-            (olderr, newerr) = (daklib.database.get_suite_id(suite) == -1,
-              daklib.database.get_suite_id(override) == -1)
+            (olderr, newerr) = (database.get_suite_id(suite) == -1,
+              database.get_suite_id(override) == -1)
             if olderr or newerr:
                 (oinv, newinv) = ("", "")
                 if olderr: oinv = "invalid "
@@ -621,15 +621,15 @@ def do_new():
             changes["suite"][override] = 1
     # Validate suites
     for suite in changes["suite"].keys():
-        suite_id = daklib.database.get_suite_id(suite)
+        suite_id = database.get_suite_id(suite)
         if suite_id == -1:
-            daklib.utils.fubar("%s has invalid suite '%s' (possibly overriden).  say wha?" % (changes, suite))
+            utils.fubar("%s has invalid suite '%s' (possibly overriden).  say wha?" % (changes, suite))
 
     # The main NEW processing loop
     done = 0
     while not done:
         # Find out what's new
-        new = daklib.queue.determine_new(changes, files, projectB)
+        new = queue.determine_new(changes, files, projectB)
 
         if not new:
             break
@@ -652,8 +652,8 @@ def do_new():
         prompt += "Edit overrides, Check, Manual reject, Note edit, Prod, [S]kip, Quit ?"
 
         while prompt.find(answer) == -1:
-            answer = daklib.utils.our_raw_input(prompt)
-            m = daklib.queue.re_default_answer.search(prompt)
+            answer = utils.our_raw_input(prompt)
+            m = queue.re_default_answer.search(prompt)
             if answer == "":
                 answer = m.group(1)
             answer = answer[:1].upper()
@@ -674,7 +674,7 @@ def do_new():
         elif answer == 'P':
             prod_maintainer()
         elif answer == 'R':
-            confirm = daklib.utils.our_raw_input("Really clear note (y/N)? ").lower()
+            confirm = utils.our_raw_input("Really clear note (y/N)? ").lower()
             if confirm == "y":
                 del changes["process-new note"]
         elif answer == 'S':
@@ -702,7 +702,7 @@ def usage (exit_code=0):
 def init():
     global Cnf, Options, Logger, Upload, projectB, Sections, Priorities
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('a',"automatic","Process-New::Options::Automatic"),
                  ('h',"help","Process-New::Options::Help"),
@@ -720,10 +720,10 @@ def init():
     if Options["Help"]:
         usage()
 
-    Upload = daklib.queue.Upload(Cnf)
+    Upload = queue.Upload(Cnf)
 
     if not Options["No-Action"]:
-        Logger = Upload.Logger = daklib.logging.Logger(Cnf, "process-new")
+        Logger = Upload.Logger = logging.Logger(Cnf, "process-new")
 
     projectB = Upload.projectB
 
@@ -761,8 +761,8 @@ def do_byhand():
             prompt = "Manual reject, [S]kip, Quit ?"
 
         while prompt.find(answer) == -1:
-            answer = daklib.utils.our_raw_input(prompt)
-            m = daklib.queue.re_default_answer.search(prompt)
+            answer = utils.our_raw_input(prompt)
+            m = queue.re_default_answer.search(prompt)
             if answer == "":
                 answer = m.group(1)
             answer = answer[:1].upper()
@@ -793,7 +793,7 @@ def get_accept_lock():
             if e.errno == errno.EACCES or e.errno == errno.EEXIST:
                 retry += 1
                 if (retry >= 10):
-                    daklib.utils.fubar("Couldn't obtain lock; assuming 'dak process-unchecked' is already running.")
+                    utils.fubar("Couldn't obtain lock; assuming 'dak process-unchecked' is already running.")
                 else:
                     print("Unable to get accepted lock (try %d of 10)" % retry)
                 time.sleep(60)
@@ -801,10 +801,10 @@ def get_accept_lock():
                 raise
 
 def move_to_dir (dest, perms=0660, changesperms=0664):
-    daklib.utils.move (Upload.pkg.changes_file, dest, perms=changesperms)
+    utils.move (Upload.pkg.changes_file, dest, perms=changesperms)
     file_keys = Upload.pkg.files.keys()
     for f in file_keys:
-        daklib.utils.move (f, dest, perms=perms)
+        utils.move (f, dest, perms=perms)
 
 def do_accept():
     print "ACCEPT"
@@ -862,7 +862,7 @@ def end():
         sets = "set"
         if accept_count > 1:
             sets = "sets"
-        sys.stderr.write("Accepted %d package %s, %s.\n" % (accept_count, sets, daklib.utils.size_type(int(accept_bytes))))
+        sys.stderr.write("Accepted %d package %s, %s.\n" % (accept_count, sets, utils.size_type(int(accept_bytes))))
         Logger.log(["total",accept_count,accept_bytes])
 
     if not Options["No-Action"]:
@@ -878,7 +878,7 @@ def do_comments(dir, opref, npref, line, fn):
                                 and x.endswith(".changes") ]
         changes_files = sort_changes(changes_files)
         for f in changes_files:
-            f = daklib.utils.validate_changes_file_arg(f, 0)
+            f = utils.validate_changes_file_arg(f, 0)
             if not f: continue
             print "\n" + f
             fn(f, "".join(lines[1:]))
@@ -945,7 +945,7 @@ def main():
         do_comments(commentsdir, "REJECT.", "REJECTED.", "NOTOK", comment_reject)
     else:
         for changes_file in changes_files:
-            changes_file = daklib.utils.validate_changes_file_arg(changes_file, 0)
+            changes_file = utils.validate_changes_file_arg(changes_file, 0)
             if not changes_file:
                 continue
             print "\n" + changes_file
old mode 100644 (file)
new mode 100755 (executable)
index db1fee8..fbd7d74
@@ -33,7 +33,7 @@ import apt_inst, apt_pkg
 import daklib.database as database
 import daklib.logging as logging
 import daklib.queue as queue
-import daklib.utils
+import daklib.utils as utils
 
 from types import *
 
@@ -73,7 +73,7 @@ def init():
     apt_pkg.init()
 
     Cnf = apt_pkg.newConfiguration()
-    apt_pkg.ReadConfigFileISC(Cnf,daklib.utils.which_conf_file())
+    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file())
 
     Arguments = [('a',"automatic","Dinstall::Options::Automatic"),
                  ('h',"help","Dinstall::Options::Help"),
@@ -167,7 +167,7 @@ def clean_holding():
     for f in in_holding.keys():
         if os.path.exists(f):
             if f.find('/') != -1:
-                daklib.utils.fubar("WTF? clean_holding() got a file ('%s') with / in it!" % (f))
+                utils.fubar("WTF? clean_holding() got a file ('%s') with / in it!" % (f))
             else:
                 os.unlink(f)
     in_holding = {}
@@ -180,20 +180,20 @@ def check_changes():
 
     # Parse the .changes field into a dictionary
     try:
-        changes.update(daklib.utils.parse_changes(filename))
-    except daklib.utils.cant_open_exc:
+        changes.update(utils.parse_changes(filename))
+    except utils.cant_open_exc:
         reject("%s: can't read file." % (filename))
         return 0
-    except daklib.utils.changes_parse_error_exc, line:
+    except utils.changes_parse_error_exc, line:
         reject("%s: parse error, can't grok: %s." % (filename, line))
         return 0
 
     # Parse the Files field from the .changes into another dictionary
     try:
-        files.update(daklib.utils.build_file_list(changes))
-    except daklib.utils.changes_parse_error_exc, line:
+        files.update(utils.build_file_list(changes))
+    except utils.changes_parse_error_exc, line:
         reject("%s: parse error, can't grok: %s." % (filename, line))
-    except daklib.utils.nk_format_exc, format:
+    except utils.nk_format_exc, format:
         reject("%s: unknown format '%s'." % (filename, format))
         return 0
 
@@ -225,8 +225,8 @@ def check_changes():
     try:
         (changes["maintainer822"], changes["maintainer2047"],
          changes["maintainername"], changes["maintaineremail"]) = \
-         daklib.utils.fix_maintainer (changes["maintainer"])
-    except daklib.utils.ParseMaintError, msg:
+         utils.fix_maintainer (changes["maintainer"])
+    except utils.ParseMaintError, msg:
         reject("%s: Maintainer field ('%s') failed to parse: %s" \
                % (filename, changes["maintainer"], msg))
 
@@ -234,8 +234,8 @@ def check_changes():
     try:
         (changes["changedby822"], changes["changedby2047"],
          changes["changedbyname"], changes["changedbyemail"]) = \
-         daklib.utils.fix_maintainer (changes.get("changed-by", ""))
-    except daklib.utils.ParseMaintError, msg:
+         utils.fix_maintainer (changes.get("changed-by", ""))
+    except utils.ParseMaintError, msg:
         (changes["changedby822"], changes["changedby2047"],
          changes["changedbyname"], changes["changedbyemail"]) = \
          ("", "", "", "")
@@ -250,8 +250,8 @@ def check_changes():
 
 
     # chopversion = no epoch; chopversion2 = no epoch and no revision (e.g. for .orig.tar.gz comparison)
-    changes["chopversion"] = daklib.utils.re_no_epoch.sub('', changes["version"])
-    changes["chopversion2"] = daklib.utils.re_no_revision.sub('', changes["chopversion"])
+    changes["chopversion"] = utils.re_no_epoch.sub('', changes["version"])
+    changes["chopversion2"] = utils.re_no_revision.sub('', changes["chopversion"])
 
     # Check there isn't already a changes file of the same name in one
     # of the queue directories.
@@ -335,7 +335,7 @@ in that order, and nothing else."""
     (result, output) = commands.getstatusoutput(cmd)
     if result != 0:
         reject("%s: 'ar t' invocation failed." % (filename))
-        reject(daklib.utils.prefix_multi_line_string(output, " [ar output:] "), "")
+        reject(utils.prefix_multi_line_string(output, " [ar output:] "), "")
     chunks = output.split('\n')
     if len(chunks) != 3:
         reject("%s: found %d chunks, expected 3." % (filename, len(chunks)))
@@ -351,7 +351,7 @@ in that order, and nothing else."""
 def check_files():
     global reprocess
 
-    archive = daklib.utils.where_am_i()
+    archive = utils.where_am_i()
     file_keys = files.keys()
 
     # if reprocess is 2 we've already done this and we're checking
@@ -392,7 +392,7 @@ def check_files():
             if not Cnf.has_key("Dir::Queue::%s" % (d)): continue
             if os.path.exists(Cnf["Dir::Queue::%s" % (d) ] + '/' + f):
                 reject("%s file already exists in the %s directory." % (f, d))
-        if not daklib.utils.re_taint_free.match(f):
+        if not utils.re_taint_free.match(f):
             reject("!!WARNING!! tainted filename: '%s'." % (f))
         # Check the file is readable
         if os.access(f, os.R_OK) == 0:
@@ -410,12 +410,12 @@ def check_files():
             files[f]["byhand"] = 1
             files[f]["type"] = "byhand"
         # Checks for a binary package...
-        elif daklib.utils.re_isadeb.match(f):
+        elif utils.re_isadeb.match(f):
             has_binaries = 1
             files[f]["type"] = "deb"
 
             # Extract package control information
-            deb_file = daklib.utils.open_file(f)
+            deb_file = utils.open_file(f)
             try:
                 control = apt_pkg.ParseSection(apt_inst.debExtractControl(deb_file))
             except:
@@ -495,7 +495,7 @@ def check_files():
             source = files[f]["source"]
             source_version = ""
             if source.find("(") != -1:
-                m = daklib.utils.re_extract_src_version.match(source)
+                m = utils.re_extract_src_version.match(source)
                 source = m.group(1)
                 source_version = m.group(2)
             if not source_version:
@@ -504,12 +504,12 @@ def check_files():
             files[f]["source version"] = source_version
 
             # Ensure the filename matches the contents of the .deb
-            m = daklib.utils.re_isadeb.match(f)
+            m = utils.re_isadeb.match(f)
             #  package name
             file_package = m.group(1)
             if files[f]["package"] != file_package:
                 reject("%s: package part of filename (%s) does not match package name in the %s (%s)." % (f, file_package, files[f]["dbtype"], files[f]["package"]))
-            epochless_version = daklib.utils.re_no_epoch.sub('', control.Find("Version"))
+            epochless_version = utils.re_no_epoch.sub('', control.Find("Version"))
             #  version
             file_version = m.group(2)
             if epochless_version != file_version:
@@ -529,7 +529,7 @@ def check_files():
                 # Check in the SQL database
                 if not Upload.source_exists(source_package, source_version, changes["distribution"].keys()):
                     # Check in one of the other directories
-                    source_epochless_version = daklib.utils.re_no_epoch.sub('', source_version)
+                    source_epochless_version = utils.re_no_epoch.sub('', source_version)
                     dsc_filename = "%s_%s.dsc" % (source_package, source_epochless_version)
                     if os.path.exists(Cnf["Dir::Queue::Byhand"] + '/' + dsc_filename):
                         files[f]["byhand"] = 1
@@ -551,7 +551,7 @@ def check_files():
 
         # Checks for a source package...
         else:
-            m = daklib.utils.re_issource.match(f)
+            m = utils.re_issource.match(f)
             if m:
                 has_source = 1
                 files[f]["package"] = m.group(1)
@@ -576,7 +576,7 @@ def check_files():
 
                 # Check the signature of a .dsc file
                 if files[f]["type"] == "dsc":
-                    dsc["fingerprint"] = daklib.utils.check_signature(f, reject)
+                    dsc["fingerprint"] = utils.check_signature(f, reject)
 
                 files[f]["architecture"] = "source"
 
@@ -628,7 +628,7 @@ def check_files():
             files[f]["location id"] = location_id
 
             # Check the md5sum & size against existing files (if any)
-            files[f]["pool name"] = daklib.utils.poolify (changes["source"], files[f]["component"])
+            files[f]["pool name"] = utils.poolify (changes["source"], files[f]["component"])
             files_id = database.get_files_id(files[f]["pool name"] + f, files[f]["size"], files[f]["md5sum"], files[f]["location id"])
             if files_id == -1:
                 reject("INTERNAL ERROR, get_files_id() returned multiple matches for %s." % (f))
@@ -684,22 +684,22 @@ def check_dsc():
 
     # Parse the .dsc file
     try:
-        dsc.update(daklib.utils.parse_changes(dsc_filename, signing_rules=1))
-    except daklib.utils.cant_open_exc:
+        dsc.update(utils.parse_changes(dsc_filename, signing_rules=1))
+    except utils.cant_open_exc:
         # if not -n copy_to_holding() will have done this for us...
         if Options["No-Action"]:
             reject("%s: can't read file." % (dsc_filename))
-    except daklib.utils.changes_parse_error_exc, line:
+    except utils.changes_parse_error_exc, line:
         reject("%s: parse error, can't grok: %s." % (dsc_filename, line))
-    except daklib.utils.invalid_dsc_format_exc, line:
+    except utils.invalid_dsc_format_exc, line:
         reject("%s: syntax error on line %s." % (dsc_filename, line))
     # Build up the file list of files mentioned by the .dsc
     try:
-        dsc_files.update(daklib.utils.build_file_list(dsc, is_a_dsc=1))
-    except daklib.utils.no_files_exc:
+        dsc_files.update(utils.build_file_list(dsc, is_a_dsc=1))
+    except utils.no_files_exc:
         reject("%s: no Files: field." % (dsc_filename))
         return 0
-    except daklib.utils.changes_parse_error_exc, line:
+    except utils.changes_parse_error_exc, line:
         reject("%s: parse error, can't grok: %s." % (dsc_filename, line))
         return 0
 
@@ -722,8 +722,8 @@ def check_dsc():
 
     # Validate the Maintainer field
     try:
-        daklib.utils.fix_maintainer (dsc["maintainer"])
-    except daklib.utils.ParseMaintError, msg:
+        utils.fix_maintainer (dsc["maintainer"])
+    except utils.ParseMaintError, msg:
         reject("%s: Maintainer field ('%s') failed to parse: %s" \
                % (dsc_filename, dsc["maintainer"], msg))
 
@@ -743,7 +743,7 @@ def check_dsc():
                 pass
 
     # Ensure the version number in the .dsc matches the version number in the .changes
-    epochless_dsc_version = daklib.utils.re_no_epoch.sub('', dsc["version"])
+    epochless_dsc_version = utils.re_no_epoch.sub('', dsc["version"])
     changes_version = files[dsc_filename]["version"]
     if epochless_dsc_version != files[dsc_filename]["version"]:
         reject("version ('%s') in .dsc does not match version ('%s') in .changes." % (epochless_dsc_version, changes_version))
@@ -751,7 +751,7 @@ def check_dsc():
     # Ensure there is a .tar.gz in the .dsc file
     has_tar = 0
     for f in dsc_files.keys():
-        m = daklib.utils.re_issource.match(f)
+        m = utils.re_issource.match(f)
         if not m:
             reject("%s: %s in Files field not recognised as source." % (dsc_filename, f))
             continue
@@ -799,7 +799,7 @@ def get_changelog_versions(source_dir):
 
     # Create a symlink mirror of the source files in our temporary directory
     for f in files.keys():
-        m = daklib.utils.re_issource.match(f)
+        m = utils.re_issource.match(f)
         if m:
             src = os.path.join(source_dir, f)
             # If a file is missing for whatever reason, give up.
@@ -822,14 +822,14 @@ def get_changelog_versions(source_dir):
     (result, output) = commands.getstatusoutput(cmd)
     if (result != 0):
         reject("'dpkg-source -x' failed for %s [return code: %s]." % (dsc_filename, result))
-        reject(daklib.utils.prefix_multi_line_string(output, " [dpkg-source output:] "), "")
+        reject(utils.prefix_multi_line_string(output, " [dpkg-source output:] "), "")
         return
 
     if not Cnf.Find("Dir::Queue::BTSVersionTrack"):
         return
 
     # Get the upstream version
-    upstr_version = daklib.utils.re_no_epoch.sub('', dsc["version"])
+    upstr_version = utils.re_no_epoch.sub('', dsc["version"])
     if re_strip_revision.search(upstr_version):
         upstr_version = re_strip_revision.sub('', upstr_version)
 
@@ -841,7 +841,7 @@ def get_changelog_versions(source_dir):
 
     # Parse the changelog
     dsc["bts changelog"] = ""
-    changelog_file = daklib.utils.open_file(changelog_filename)
+    changelog_file = utils.open_file(changelog_filename)
     for line in changelog_file.readlines():
         m = re_changelog_versions.match(line)
         if m:
@@ -884,7 +884,7 @@ def check_source():
         shutil.rmtree(tmpdir)
     except OSError, e:
         if errno.errorcode[e.errno] != 'EACCES':
-            daklib.utils.fubar("%s: couldn't remove tmp dir for source tree." % (dsc["source"]))
+            utils.fubar("%s: couldn't remove tmp dir for source tree." % (dsc["source"]))
 
         reject("%s: source tree could not be cleanly removed." % (dsc["source"]))
         # We probably have u-r or u-w directories so chmod everything
@@ -892,10 +892,10 @@ def check_source():
         cmd = "chmod -R u+rwx %s" % (tmpdir)
         result = os.system(cmd)
         if result != 0:
-            daklib.utils.fubar("'%s' failed with result %s." % (cmd, result))
+            utils.fubar("'%s' failed with result %s." % (cmd, result))
         shutil.rmtree(tmpdir)
     except:
-        daklib.utils.fubar("%s: couldn't remove tmp dir for source tree." % (dsc["source"]))
+        utils.fubar("%s: couldn't remove tmp dir for source tree." % (dsc["source"]))
 
 ################################################################################
 
@@ -943,21 +943,21 @@ def check_hashes ():
 
     for h,f in hashes:
         try:
-            fs = daklib.utils.build_file_list(changes, 0, "checksums-%s" % h, h)
+            fs = utils.build_file_list(changes, 0, "checksums-%s" % h, h)
             check_hash(".changes %s" % (h), fs, h, f, files)
-        except daklib.utils.no_files_exc:
+        except utils.no_files_exc:
             reject("No Checksums-%s: field in .changes" % (h))
-        except daklib.utils.changes_parse_error_exc, line:
+        except utils.changes_parse_error_exc, line:
             reject("parse error for Checksums-%s in .changes, can't grok: %s." % (h, line))
 
         if "source" not in changes["architecture"]: continue
 
         try:
-            fs = daklib.utils.build_file_list(dsc, 1, "checksums-%s" % h, h)
+            fs = utils.build_file_list(dsc, 1, "checksums-%s" % h, h)
             check_hash(".dsc %s" % (h), fs, h, f, dsc_files)
-        except daklib.utils.no_files_exc:
+        except utils.no_files_exc:
             reject("No Checksums-%s: field in .dsc" % (h))
-        except daklib.utils.changes_parse_error_exc, line:
+        except utils.changes_parse_error_exc, line:
             reject("parse error for Checksums-%s in .dsc, can't grok: %s." % (h, line))
 
 ################################################################################
@@ -973,8 +973,8 @@ def check_hash (where, lfiles, key, testfn, basedict = None):
             reject("%s: extraneous entry in %s checksums" % (f, key))
 
         try:
-            file_handle = daklib.utils.open_file(f)
-        except daklib.utils.cant_open_exc:
+            file_handle = utils.open_file(f)
+        except utils.cant_open_exc:
             continue
 
         # Check hash
@@ -1019,7 +1019,7 @@ def check_timestamps():
         if files[filename]["type"] == "deb":
             tar.reset()
             try:
-                deb_file = daklib.utils.open_file(filename)
+                deb_file = utils.open_file(filename)
                 apt_inst.debExtract(deb_file,tar.callback,"control.tar.gz")
                 deb_file.seek(0)
                 try:
@@ -1090,8 +1090,8 @@ def check_signed_by_key():
     else:
         sponsored = 1
         if ("source" in changes["architecture"] and
-            uid_email and daklib.utils.is_email_alias(uid_email)):
-            sponsor_addresses = daklib.utils.gpg_get_key_addresses(changes["fingerprint"])
+            uid_email and utils.is_email_alias(uid_email)):
+            sponsor_addresses = utils.gpg_get_key_addresses(changes["fingerprint"])
             if (changes["maintaineremail"] not in sponsor_addresses and
                 changes["changedbyemail"] not in sponsor_addresses):
                 changes["sponsoremail"] = uid_email
@@ -1116,7 +1116,7 @@ def check_signed_by_key():
             is_nmu = 1
             q = Upload.projectB.query("SELECT m.name FROM maintainer m WHERE m.id IN (SELECT maintainer FROM src_uploaders WHERE src_uploaders.source = %s)" % (si))
             for m in q.getresult():
-                (rfc822, rfc2047, name, email) = daklib.utils.fix_maintainer(m[0])
+                (rfc822, rfc2047, name, email) = utils.fix_maintainer(m[0])
                 if email == uid_email or name == uid_name:
                     is_nmu=0
                     break
@@ -1266,7 +1266,7 @@ def action ():
                 answer = 'A'
 
     while prompt.find(answer) == -1:
-        answer = daklib.utils.our_raw_input(prompt)
+        answer = utils.our_raw_input(prompt)
         m = queue.re_default_answer.match(prompt)
         if answer == "":
             answer = m.group(1)
@@ -1299,10 +1299,10 @@ def accept (summary, short_summary):
 ################################################################################
 
 def move_to_dir (dest, perms=0660, changesperms=0664):
-    daklib.utils.move (pkg.changes_file, dest, perms=changesperms)
+    utils.move (pkg.changes_file, dest, perms=changesperms)
     file_keys = files.keys()
     for f in file_keys:
-        daklib.utils.move (f, dest, perms=perms)
+        utils.move (f, dest, perms=perms)
 
 ################################################################################
 
@@ -1524,8 +1524,8 @@ def acknowledge_new (summary, short_summary):
     if not Options["No-Mail"]:
         print "Sending new ack."
         Subst["__SUMMARY__"] = summary
-        new_ack_message = daklib.utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/process-unchecked.new")
-        daklib.utils.send_mail(new_ack_message)
+        new_ack_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/process-unchecked.new")
+        utils.send_mail(new_ack_message)
 
 ################################################################################
 
@@ -1566,7 +1566,7 @@ def process_it (changes_file):
             # Relativize the filename so we use the copy in holding
             # rather than the original...
             pkg.changes_file = os.path.basename(pkg.changes_file)
-        changes["fingerprint"] = daklib.utils.check_signature(pkg.changes_file, reject)
+        changes["fingerprint"] = utils.check_signature(pkg.changes_file, reject)
         if changes["fingerprint"]:
             valid_changes_p = check_changes()
         else:
@@ -1608,16 +1608,16 @@ def main():
     # Ensure all the arguments we were given are .changes files
     for f in changes_files:
         if not f.endswith(".changes"):
-            daklib.utils.warn("Ignoring '%s' because it's not a .changes file." % (f))
+            utils.warn("Ignoring '%s' because it's not a .changes file." % (f))
             changes_files.remove(f)
 
     if changes_files == []:
-        daklib.utils.fubar("Need at least one .changes file as an argument.")
+        utils.fubar("Need at least one .changes file as an argument.")
 
     # Check that we aren't going to clash with the daily cron job
 
     if not Options["No-Action"] and os.path.exists("%s/daily.lock" % (Cnf["Dir::Lock"])) and not Options["No-Lock"]:
-        daklib.utils.fubar("Archive maintenance in progress.  Try again later.")
+        utils.fubar("Archive maintenance in progress.  Try again later.")
 
     # Obtain lock if not in no-action mode and initialize the log
 
@@ -1627,7 +1627,7 @@ def main():
             fcntl.lockf(lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
         except IOError, e:
             if errno.errorcode[e.errno] == 'EACCES' or errno.errorcode[e.errno] == 'EAGAIN':
-                daklib.utils.fubar("Couldn't obtain lock; assuming another 'dak process-unchecked' is already running.")
+                utils.fubar("Couldn't obtain lock; assuming another 'dak process-unchecked' is already running.")
             else:
                 raise
         Logger = Upload.Logger = logging.Logger(Cnf, "process-unchecked")
@@ -1641,7 +1641,7 @@ def main():
 
 
     # Sort the .changes files so that we process sourceful ones first
-    changes_files.sort(daklib.utils.changes_compare)
+    changes_files.sort(utils.changes_compare)
 
     # Process the changes files
     for changes_file in changes_files:
@@ -1658,7 +1658,7 @@ def main():
         sets = "set"
         if accept_count > 1:
             sets = "sets"
-        print "Accepted %d package %s, %s." % (accept_count, sets, daklib.utils.size_type(int(accept_bytes)))
+        print "Accepted %d package %s, %s." % (accept_count, sets, utils.size_type(int(accept_bytes)))
         Logger.log(["total",accept_count,accept_bytes])
 
     if not Options["No-Action"]:
old mode 100644 (file)
new mode 100755 (executable)
index 262039b..d5663e3
--- a/dak/rm.py
+++ b/dak/rm.py
@@ -41,8 +41,8 @@
 
 import commands, os, pg, re, sys
 import apt_pkg, apt_inst
-import daklib.database
-import daklib.utils
+import daklib.database as database
+import daklib.utils as utils
 
 ################################################################################
 
@@ -87,7 +87,7 @@ ARCH, BUG#, COMPONENT and SUITE can be comma (or space) separated lists, e.g.
 #  the fuck are we gonna do now? What are we gonna do?"
 
 def game_over():
-    answer = daklib.utils.our_raw_input("Continue (y/N)? ").lower()
+    answer = utils.our_raw_input("Continue (y/N)? ").lower()
     if answer != "y":
         print "Aborted."
         sys.exit(1)
@@ -107,11 +107,11 @@ def reverse_depends_check(removals, suites):
         for component in components:
             filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (Cnf["Dir::Root"], suites[0], component, architecture)
             # apt_pkg.ParseTagFile needs a real file handle and can't handle a GzipFile instance...
-            temp_filename = daklib.utils.temp_filename()
+            temp_filename = utils.temp_filename()
             (result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
             if (result != 0):
-                daklib.utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result)
-            packages = daklib.utils.open_file(temp_filename)
+                utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result)
+            packages = utils.open_file(temp_filename)
             Packages = apt_pkg.ParseTagFile(packages)
             while Packages.Step():
                 package = Packages.Section.Find("Package")
@@ -165,19 +165,19 @@ def reverse_depends_check(removals, suites):
                         what = "%s/%s" % (package, component)
                     else:
                         what = "** %s" % (package)
-                    print "%s has an unsatisfied dependency on %s: %s" % (what, architecture, daklib.utils.pp_deps(dep))
+                    print "%s has an unsatisfied dependency on %s: %s" % (what, architecture, utils.pp_deps(dep))
                     dep_problem = 1
 
     # Check source dependencies (Build-Depends and Build-Depends-Indep)
     for component in components:
         filename = "%s/dists/%s/%s/source/Sources.gz" % (Cnf["Dir::Root"], suites[0], component)
         # apt_pkg.ParseTagFile needs a real file handle and can't handle a GzipFile instance...
-        temp_filename = daklib.utils.temp_filename()
+        temp_filename = utils.temp_filename()
         result, output = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
         if result != 0:
             sys.stderr.write("Gunzip invocation failed!\n%s\n" % (output))
             sys.exit(result)
-        sources = daklib.utils.open_file(temp_filename, "r")
+        sources = utils.open_file(temp_filename, "r")
         Sources = apt_pkg.ParseTagFile(sources)
         while Sources.Step():
             source = Sources.Section.Find("Package")
@@ -202,7 +202,7 @@ def reverse_depends_check(removals, suites):
                         source = "%s/%s" % (source, component)
                     else:
                         source = "** %s" % (source)
-                    print "%s has an unsatisfied build-dependency: %s" % (source, daklib.utils.pp_deps(dep))
+                    print "%s has an unsatisfied build-dependency: %s" % (source, utils.pp_deps(dep))
                     dep_problem = 1
         sources.close()
         os.unlink(temp_filename)
@@ -220,7 +220,7 @@ def reverse_depends_check(removals, suites):
 def main ():
     global Cnf, Options, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Rm::Options::Help"),
                  ('a',"architecture","Rm::Options::Architecture", "HasArg"),
@@ -251,19 +251,19 @@ def main ():
         usage()
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
     # Sanity check options
     if not arguments:
-        daklib.utils.fubar("need at least one package name as an argument.")
+        utils.fubar("need at least one package name as an argument.")
     if Options["Architecture"] and Options["Source-Only"]:
-        daklib.utils.fubar("can't use -a/--architecutre and -S/--source-only options simultaneously.")
+        utils.fubar("can't use -a/--architecutre and -S/--source-only options simultaneously.")
     if Options["Binary-Only"] and Options["Source-Only"]:
-        daklib.utils.fubar("can't use -b/--binary-only and -S/--source-only options simultaneously.")
+        utils.fubar("can't use -b/--binary-only and -S/--source-only options simultaneously.")
     if Options.has_key("Carbon-Copy") and not Options.has_key("Done"):
-        daklib.utils.fubar("can't use -C/--carbon-copy without also using -d/--done option.")
+        utils.fubar("can't use -C/--carbon-copy without also using -d/--done option.")
     if Options["Architecture"] and not Options["Partial"]:
-        daklib.utils.warn("-a/--architecture implies -p/--partial.")
+        utils.warn("-a/--architecture implies -p/--partial.")
         Options["Partial"] = "true"
 
     # Force the admin to tell someone if we're not doing a 'dak
@@ -271,7 +271,7 @@ def main ():
     # as telling someone).
     if not Options["No-Action"] and not Options["Carbon-Copy"] \
            and not Options["Done"] and Options["Reason"].find("[auto-cruft]") == -1:
-        daklib.utils.fubar("Need a -C/--carbon-copy if not closing a bug and not doing a cruft removal.")
+        utils.fubar("Need a -C/--carbon-copy if not closing a bug and not doing a cruft removal.")
 
     # Process -C/--carbon-copy
     #
@@ -281,7 +281,7 @@ def main ():
     #  3) contains a '@' - assumed to be an email address, used unmofidied
     #
     carbon_copy = []
-    for copy_to in daklib.utils.split_args(Options.get("Carbon-Copy")):
+    for copy_to in utils.split_args(Options.get("Carbon-Copy")):
         if copy_to.isdigit():
             carbon_copy.append(copy_to + "@" + Cnf["Dinstall::BugServer"])
         elif copy_to == 'package':
@@ -292,7 +292,7 @@ def main ():
         elif '@' in copy_to:
             carbon_copy.append(copy_to)
         else:
-            daklib.utils.fubar("Invalid -C/--carbon-copy argument '%s'; not a bug number, 'package' or email address." % (copy_to))
+            utils.fubar("Invalid -C/--carbon-copy argument '%s'; not a bug number, 'package' or email address." % (copy_to))
 
     if Options["Binary-Only"]:
         field = "b.package"
@@ -301,15 +301,15 @@ def main ():
     con_packages = "AND %s IN (%s)" % (field, ", ".join([ repr(i) for i in arguments ]))
 
     (con_suites, con_architectures, con_components, check_source) = \
-                 daklib.utils.parse_args(Options)
+                 utils.parse_args(Options)
 
     # Additional suite checks
     suite_ids_list = []
-    suites = daklib.utils.split_args(Options["Suite"])
-    suites_list = daklib.utils.join_with_commas_and(suites)
+    suites = utils.split_args(Options["Suite"])
+    suites_list = utils.join_with_commas_and(suites)
     if not Options["No-Action"]:
         for suite in suites:
-            suite_id = daklib.database.get_suite_id(suite)
+            suite_id = database.get_suite_id(suite)
             if suite_id != -1:
                 suite_ids_list.append(suite_id)
             if suite == "stable":
@@ -325,7 +325,7 @@ def main ():
 
     # Additional architecture checks
     if Options["Architecture"] and check_source:
-        daklib.utils.warn("'source' in -a/--argument makes no sense and is ignored.")
+        utils.warn("'source' in -a/--argument makes no sense and is ignored.")
 
     # Additional component processing
     over_con_components = con_components.replace("c.id", "component")
@@ -363,9 +363,9 @@ def main ():
             for i in source_packages.keys():
                 filename = "/".join(source_packages[i])
                 try:
-                    dsc = daklib.utils.parse_changes(filename)
-                except daklib.utils.cant_open_exc:
-                    daklib.utils.warn("couldn't open '%s'." % (filename))
+                    dsc = utils.parse_changes(filename)
+                except utils.cant_open_exc:
+                    utils.warn("couldn't open '%s'." % (filename))
                     continue
                 for package in dsc.get("binary").split(','):
                     package = package.strip()
@@ -378,7 +378,7 @@ def main ():
                 q = projectB.query("SELECT l.path, f.filename, b.package, b.version, a.arch_string, b.id, b.maintainer FROM binaries b, bin_associations ba, architecture a, suite su, files f, location l, component c WHERE ba.bin = b.id AND ba.suite = su.id AND b.architecture = a.id AND b.file = f.id AND f.location = l.id AND l.component = c.id %s %s %s AND b.package = '%s'" % (con_suites, con_components, con_architectures, package))
                 for i in q.getresult():
                     filename = "/".join(i[:2])
-                    control = apt_pkg.ParseSection(apt_inst.debExtractControl(daklib.utils.open_file(filename)))
+                    control = apt_pkg.ParseSection(apt_inst.debExtractControl(utils.open_file(filename)))
                     source = control.Find("Source", control.Find("Package"))
                     source = re_strip_source_version.sub('', source)
                     if source_packages.has_key(source):
@@ -392,12 +392,12 @@ def main ():
     # If we don't have a reason; spawn an editor so the user can add one
     # Write the rejection email out as the <foo>.reason file
     if not Options["Reason"] and not Options["No-Action"]:
-        temp_filename = daklib.utils.temp_filename()
+        temp_filename = utils.temp_filename()
         editor = os.environ.get("EDITOR","vi")
         result = os.system("%s %s" % (editor, temp_filename))
         if result != 0:
-            daklib.utils.fubar ("vi invocation failed for `%s'!" % (temp_filename), result)
-        temp_file = daklib.utils.open_file(temp_filename)
+            utils.fubar ("vi invocation failed for `%s'!" % (temp_filename), result)
+        temp_file = utils.open_file(temp_filename)
         for line in temp_file.readlines():
             Options["Reason"] += line
         temp_file.close()
@@ -420,7 +420,7 @@ def main ():
 
     maintainer_list = []
     for maintainer_id in maintainers.keys():
-        maintainer_list.append(daklib.database.get_maintainer(maintainer_id))
+        maintainer_list.append(database.get_maintainer(maintainer_id))
     summary = ""
     removals = d.keys()
     removals.sort()
@@ -428,7 +428,7 @@ def main ():
         versions = d[package].keys()
         versions.sort(apt_pkg.VersionCompare)
         for version in versions:
-            d[package][version].sort(daklib.utils.arch_compare_sw)
+            d[package][version].sort(utils.arch_compare_sw)
             summary += "%10s | %10s | %s\n" % (package, version, ", ".join(d[package][version]))
     print "Will remove the following packages from %s:" % (suites_list)
     print
@@ -454,11 +454,11 @@ def main ():
     print "Going to remove the packages now."
     game_over()
 
-    whoami = daklib.utils.whoami()
+    whoami = utils.whoami()
     date = commands.getoutput('date -R')
 
     # Log first; if it all falls apart I want a record that we at least tried.
-    logfile = daklib.utils.open_file(Cnf["Rm::LogFile"], 'a')
+    logfile = utils.open_file(Cnf["Rm::LogFile"], 'a')
     logfile.write("=========================================================================\n")
     logfile.write("[Date: %s] [ftpmaster: %s]\n" % (date, whoami))
     logfile.write("Removed the following packages from %s:\n\n%s" % (suites_list, summary))
@@ -468,8 +468,8 @@ def main ():
     logfile.write("----------------------------------------------\n")
     logfile.flush()
 
-    dsc_type_id = daklib.database.get_override_type_id('dsc')
-    deb_type_id = daklib.database.get_override_type_id('deb')
+    dsc_type_id = database.get_override_type_id('dsc')
+    deb_type_id = database.get_override_type_id('deb')
 
     # Do the actual deletion
     print "Deleting...",
@@ -518,14 +518,14 @@ def main ():
         Subst["__ADMIN_ADDRESS__"] = Cnf["Dinstall::MyAdminAddress"]
         Subst["__DISTRO__"] = Cnf["Dinstall::MyDistribution"]
         Subst["__WHOAMI__"] = whoami
-        whereami = daklib.utils.where_am_i()
+        whereami = utils.where_am_i()
         Archive = Cnf.SubTree("Archive::%s" % (whereami))
         Subst["__MASTER_ARCHIVE__"] = Archive["OriginServer"]
         Subst["__PRIMARY_MIRROR__"] = Archive["PrimaryMirror"]
-        for bug in daklib.utils.split_args(Options["Done"]):
+        for bug in utils.split_args(Options["Done"]):
             Subst["__BUG_NUMBER__"] = bug
-            mail_message = daklib.utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/rm.bug-close")
-            daklib.utils.send_mail(mail_message)
+            mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/rm.bug-close")
+            utils.send_mail(mail_message)
 
     logfile.write("=========================================================================\n")
     logfile.close()
index a18847cc96d0f76bdc88bdad8cfc2d0f0eacb6ff..87bea79630d124a163973bb127fbca33b84a6c87 100755 (executable)
@@ -28,9 +28,9 @@
 import copy, os, sys, time
 import apt_pkg
 import examine_package
-import daklib.database
+import daklib.database as database
 import daklib.queue as queue
-import daklib.utils
+import daklib.utils as utils
 
 # Globals
 Cnf = None
@@ -195,7 +195,7 @@ def usage (exit_code=0):
 def init():
     global Cnf, Options, Upload, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Show-New::Options::Help"),
                  ("p","html-path","Show-New::HTMLPath","HasArg")]
@@ -226,7 +226,7 @@ def main():
     examine_package.use_html=1
 
     for changes_file in changes_files:
-        changes_file = daklib.utils.validate_changes_file_arg(changes_file, 0)
+        changes_file = utils.validate_changes_file_arg(changes_file, 0)
         if not changes_file:
             continue
         print "\n" + changes_file
old mode 100644 (file)
new mode 100755 (executable)
index 2fc6c90..5502dcc
 ################################################################################
 
 import glob, os, stat, time
-import daklib.utils
+import daklib.utils as utils
 
 ################################################################################
 
 def main():
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     count = 0
     move_date = int(time.time())-(30*84600)
     os.chdir(Cnf["Dir::Queue::Done"])
@@ -41,7 +41,7 @@ def main():
                 os.makedirs(dirname)
             dest = dirname + '/' + os.path.basename(filename)
             if os.path.exists(dest):
-                daklib.utils.fubar("%s already exists." % (dest))
+                utils.fubar("%s already exists." % (dest))
             print "Move: %s -> %s" % (filename, dest)
             os.rename(filename, dest)
             count = count + 1
old mode 100644 (file)
new mode 100755 (executable)
index 0f1629e..e1786c4
@@ -32,7 +32,7 @@
 
 import pg, sys
 import apt_pkg
-import daklib.utils
+import daklib.utils as utils
 
 ################################################################################
 
@@ -71,7 +71,7 @@ SELECT a.arch_string as Architecture, sum(f.size)
 
 def daily_install_stats():
     stats = {}
-    f = daklib.utils.open_file("2001-11")
+    f = utils.open_file("2001-11")
     for line in f.readlines():
         split = line.strip().split('|')
         program = split[1]
@@ -213,7 +213,7 @@ SELECT suite, count(suite) FROM src_associations GROUP BY suite;""")
 def main ():
     global Cnf, projectB
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
     Arguments = [('h',"help","Stats::Options::Help")]
     for i in [ "help" ]:
         if not Cnf.has_key("Stats::Options::%s" % (i)):
@@ -226,10 +226,10 @@ def main ():
         usage()
 
     if len(args) < 1:
-        daklib.utils.warn("dak stats requires a MODE argument")
+        utils.warn("dak stats requires a MODE argument")
         usage(1)
     elif len(args) > 1:
-        daklib.utils.warn("dak stats accepts only one MODE argument")
+        utils.warn("dak stats accepts only one MODE argument")
         usage(1)
     mode = args[0].lower()
 
@@ -242,7 +242,7 @@ def main ():
     elif mode == "daily-install":
         daily_install_stats()
     else:
-        daklib.utils.warn("unknown mode '%s'" % (mode))
+        utils.warn("unknown mode '%s'" % (mode))
         usage(1)
 
 ################################################################################
old mode 100644 (file)
new mode 100755 (executable)
index 374beab..7a0da2e
@@ -25,8 +25,8 @@
 
 import os, pg, sys, time, errno, fcntl, tempfile, pwd, re
 import apt_pkg
-import daklib.database
-import daklib.utils
+import daklib.database as database
+import daklib.utils as utils
 import syck
 
 # Globals
@@ -46,7 +46,7 @@ def init():
 
     apt_pkg.init()
 
-    Cnf = daklib.utils.get_conf()
+    Cnf = utils.get_conf()
 
     Arguments = [('h',"help","Edit-Transitions::Options::Help"),
                  ('e',"edit","Edit-Transitions::Options::Edit"),
@@ -74,7 +74,7 @@ def init():
         Options["sudo"] = "y"
 
     projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]))
-    daklib.database.init(Cnf, projectB)
+    database.init(Cnf, projectB)
 
 ################################################################################
 
@@ -197,7 +197,7 @@ def lock_file(f):
             else:
                 raise
 
-    daklib.utils.fubar("Couldn't obtain lock for %s." % (f))
+    utils.fubar("Couldn't obtain lock for %s." % (f))
 
 ################################################################################
 
@@ -276,7 +276,7 @@ def edit_transitions():
         result = os.system("%s %s" % (editor, edit_file))
         if result != 0:
             os.unlink(edit_file)
-            daklib.utils.fubar("%s invocation failed for %s, not removing tempfile." % (editor, edit_file))
+            utils.fubar("%s invocation failed for %s, not removing tempfile." % (editor, edit_file))
 
         # Now try to load the new file
         test = load_transitions(edit_file)
@@ -297,7 +297,7 @@ def edit_transitions():
 
         answer = "XXX"
         while prompt.find(answer) == -1:
-            answer = daklib.utils.our_raw_input(prompt)
+            answer = utils.our_raw_input(prompt)
             if answer == "":
                 answer = default
             answer = answer[:1].upper()
@@ -333,7 +333,7 @@ def check_transitions(transitions):
         expected = t["new"]
 
         # Will be None if nothing is in testing.
-        current = daklib.database.get_suite_version(source, "testing")
+        current = database.get_suite_version(source, "testing")
 
         print_info(trans, source, expected, t["rm"], t["reason"], t["packages"])
 
@@ -365,7 +365,7 @@ def check_transitions(transitions):
         if Options["no-action"]:
             answer="n"
         else:
-            answer = daklib.utils.our_raw_input(prompt).lower()
+            answer = utils.our_raw_input(prompt).lower()
 
         if answer == "":
             answer = "n"
@@ -407,7 +407,7 @@ def transition_info(transitions):
         expected = t["new"]
 
         # Will be None if nothing is in testing.
-        current = daklib.database.get_suite_version(source, "testing")
+        current = database.get_suite_version(source, "testing")
 
         print_info(trans, source, expected, t["rm"], t["reason"], t["packages"])
 
@@ -439,19 +439,19 @@ def main():
     # Check if there is a file defined (and existant)
     transpath = Cnf.get("Dinstall::Reject::ReleaseTransitions", "")
     if transpath == "":
-        daklib.utils.warn("Dinstall::Reject::ReleaseTransitions not defined")
+        utils.warn("Dinstall::Reject::ReleaseTransitions not defined")
         sys.exit(1)
     if not os.path.exists(transpath):
-        daklib.utils.warn("ReleaseTransitions file, %s, not found." %
+        utils.warn("ReleaseTransitions file, %s, not found." %
                           (Cnf["Dinstall::Reject::ReleaseTransitions"]))
         sys.exit(1)
     # Also check if our temp directory is defined and existant
     temppath = Cnf.get("Transitions::TempPath", "")
     if temppath == "":
-        daklib.utils.warn("Transitions::TempPath not defined")
+        utils.warn("Transitions::TempPath not defined")
         sys.exit(1)
     if not os.path.exists(temppath):
-        daklib.utils.warn("Temporary path %s not found." %
+        utils.warn("Temporary path %s not found." %
                           (Cnf["Transitions::TempPath"]))
         sys.exit(1)
 
@@ -470,7 +470,7 @@ def main():
     transitions = load_transitions(transpath)
     if transitions == None:
         # Something very broken with the transitions, exit
-        daklib.utils.warn("Could not parse existing transitions file. Aborting.")
+        utils.warn("Could not parse existing transitions file. Aborting.")
         sys.exit(2)
 
     if Options["edit"]: