]> git.decadent.org.uk Git - dak.git/blobdiff - dak/security_install.py
Fix database import
[dak.git] / dak / security_install.py
index eb79bb4a85559e6667fa33e883323e971f49e766..a5853aaee44afcc0be1067c9da6d0ed19f3288da 100755 (executable)
@@ -1,8 +1,7 @@
 #!/usr/bin/env python
 
 # Wrapper for Debian Security team
-# Copyright (C) 2002, 2003, 2004  James Troup <james@nocrew.org>
-# $Id: amber,v 1.11 2005-11-26 07:52:06 ajt Exp $
+# Copyright (C) 2002, 2003, 2004, 2006  James Troup <james@nocrew.org>
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 import commands, os, pwd, re, sys, time
 import apt_pkg
-import katie, utils
+import dak.lib.queue as queue
+import dak.lib.utils as utils
 
 ################################################################################
 
 Cnf = None
 Options = None
-Katie = None
+Upload = None
 
 re_taint_free = re.compile(r"^['/;\-\+\.\s\w]+$")
 
 ################################################################################
 
 def usage (exit_code=0):
-    print """Usage: amber ADV_NUMBER CHANGES_FILE[...]
+    print """Usage: dak security-install ADV_NUMBER CHANGES_FILE[...]
 Install CHANGES_FILE(s) as security advisory ADV_NUMBER
 
   -h, --help                 show this help and exit
@@ -61,8 +61,8 @@ def do_upload(changes_files):
     file_list = ""
     suites = {}
     component_mapping = {}
-    for component in Cnf.SubTree("Amber::ComponentMappings").List():
-        component_mapping[component] = Cnf["Amber::ComponentMappings::%s" % (component)]
+    for component in Cnf.SubTree("Security-Install::ComponentMappings").List():
+        component_mapping[component] = Cnf["Security-Install::ComponentMappings::%s" % (component)]
     uploads = {}; # uploads[uri] = file_list
     changesfiles = {}; # changesfiles[uri] = file_list
     package_list = {} # package_list[source_name][version]
@@ -73,13 +73,13 @@ def do_upload(changes_files):
         components = {}
         upload_uris = {}
         file_list = []
-       Katie.init_vars()
-        # Parse the .katie file for the .changes file
-        Katie.pkg.changes_file = changes_file
-        Katie.update_vars()
-        files = Katie.pkg.files
-        changes = Katie.pkg.changes
-        dsc = Katie.pkg.dsc
+       Upload.init_vars()
+        # Parse the .dak file for the .changes file
+        Upload.pkg.changes_file = changes_file
+        Upload.update_vars()
+        files = Upload.pkg.files
+        changes = Upload.pkg.changes
+        dsc = Upload.pkg.dsc
         # We have the changes, now return if its amd64, to not upload them to ftp-master
         if changes["architecture"].has_key("amd64"):
             print "Not uploading amd64 part to ftp-master\n"
@@ -149,7 +149,7 @@ def do_upload(changes_files):
 
 ######################################################################
 # This function was originally written by aj and NIHishly merged into
-# amber by me.
+# 'dak security-install' by me.
 
 def make_advisory(advisory_nr, changes_files):
     adv_packages = []
@@ -157,20 +157,20 @@ def make_advisory(advisory_nr, changes_files):
 
     for arg in changes_files:
         arg = utils.validate_changes_file_arg(arg)
-       Katie.pkg.changes_file = arg
-       Katie.init_vars()
-       Katie.update_vars()
+       Upload.pkg.changes_file = arg
+       Upload.init_vars()
+       Upload.update_vars()
 
-       src = Katie.pkg.changes["source"]
+       src = Upload.pkg.changes["source"]
        if src not in adv_packages:
            adv_packages += [src]
 
-       suites = Katie.pkg.changes["distribution"].keys()
+       suites = Upload.pkg.changes["distribution"].keys()
        for suite in suites:
            if not updated_pkgs.has_key(suite):
                 updated_pkgs[suite] = {}
 
-       files = Katie.pkg.files
+       files = Upload.pkg.files
        for file in files.keys():
            arch = files[file]["architecture"]
            md5 = files[file]["md5sum"]
@@ -186,7 +186,7 @@ def make_advisory(advisory_nr, changes_files):
                     "md5": md5, "size": size,
                     "poolname": poolname }
 
-       dsc_files = Katie.pkg.dsc_files
+       dsc_files = Upload.pkg.dsc_files
        for file in dsc_files.keys():
            arch = "source"
            if not dsc_files[file].has_key("files id"):
@@ -215,7 +215,7 @@ def make_advisory(advisory_nr, changes_files):
        "__WHOAMI__": username,
        "__DATE__": time.strftime("%B %d, %Y", time.gmtime(time.time())),
        "__PACKAGE__": ", ".join(adv_packages),
-        "__KATIE_ADDRESS__": Cnf["Dinstall::MyEmailAddress"]
+        "__DAK_ADDRESS__": Cnf["Dinstall::MyEmailAddress"]
         }
 
     if Cnf.has_key("Dinstall::Bcc"):
@@ -261,7 +261,7 @@ def make_advisory(advisory_nr, changes_files):
 
     Subst["__ADVISORY_TEXT__"] = adv
 
-    adv = utils.TemplateSubst(Subst, Cnf["Dir::Templates"]+"/amber.advisory")
+    adv = utils.TemplateSubst(Subst, Cnf["Dir::Templates"]+"/security-install.advisory")
     if not Options["No-Action"]:
         utils.send_mail (adv)
     else:
@@ -270,20 +270,20 @@ def make_advisory(advisory_nr, changes_files):
 ######################################################################
 
 def init():
-    global Cnf, Katie, Options
+    global Cnf, Upload, Options
 
     apt_pkg.init()
     Cnf = utils.get_conf()
 
-    Arguments = [('h', "help", "Amber::Options::Help"),
-                 ('n', "no-action", "Amber::Options::No-Action")]
+    Arguments = [('h', "help", "Security-Install::Options::Help"),
+                 ('n', "no-action", "Security-Install::Options::No-Action")]
 
     for i in [ "help", "no-action" ]:
-        Cnf["Amber::Options::%s" % (i)] = ""
+        Cnf["Security-Install::Options::%s" % (i)] = ""
 
     arguments = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv)
-    Options = Cnf.SubTree("Amber::Options")
-    Katie = katie.Katie(Cnf)
+    Options = Cnf.SubTree("Security-Install::Options")
+    Upload = queue.Upload(Cnf)
 
     if Options["Help"]:
         usage(0)
@@ -340,14 +340,14 @@ def main():
 
     os.chdir(Cnf["Dir::Queue::Accepted"])
     print "Installing packages into the archive..."
-    spawn("%s/kelly -pa %s" % (Cnf["Dir::Katie"], " ".join(changes_files)))
-    os.chdir(Cnf["Dir::Katie"])
+    spawn("dak process-accepted -pa %s" % (Cnf["Dir::Dak"], " ".join(changes_files)))
+    os.chdir(Cnf["Dir::Dak"])
     print "Updating file lists for apt-ftparchive..."
-    spawn("./jenna")
+    spawn("dak make-suite-file-list")
     print "Updating Packages and Sources files..."
     spawn("apt-ftparchive generate %s" % (utils.which_apt_conf_file()))
     print "Updating Release files..."
-    spawn("./ziyi")
+    spawn("dak generate-releases")
 
     if not Options["No-Action"]:
         os.chdir(Cnf["Dir::Queue::Done"])