]> git.donarmstrong.com Git - dak.git/commitdiff
Merge again from cleanup branch
authorJoerg Jaspert <joerg@debian.org>
Sun, 4 May 2008 00:35:00 +0000 (02:35 +0200)
committerJoerg Jaspert <joerg@debian.org>
Sun, 4 May 2008 00:35:00 +0000 (02:35 +0200)
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 d939879be2e1c0f3c4158646cfba128b6caad6b9..ab1a70a68199360ed27b534bdbd6661ea971d809 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 b184561..15aea62
@@ -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
-            daklib.utils.is_email_alias(uid_email)):
-            sponsor_addresses = daklib.utils.gpg_get_key_addresses(changes["fingerprint"])
+            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"]: