X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fnew_security_install.py;h=b1a47dba8f2527bbe733afea5f014f064acf4634;hb=0d80b258098ff470433efa4d9c1f81b404883195;hp=ca119c8111613228d20b4b57ffe313c877b8b28b;hpb=56266b7ebed0e5f8fba71aa6e3cc5415f0061169;p=dak.git diff --git a/dak/new_security_install.py b/dak/new_security_install.py index ca119c81..b1a47dba 100755 --- a/dak/new_security_install.py +++ b/dak/new_security_install.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Wrapper for Debian Security team +""" Wrapper for Debian Security team """ # Copyright (C) 2006 Anthony Towns # This program is free software; you can redistribute it and/or modify @@ -20,13 +20,13 @@ ################################################################################ -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 +import apt_pkg, os, sys, pwd, time, commands -re_taint_free = re.compile(r"^['/;\-\+\.~\s\w]+$"); +from daklib import queue +from daklib import logging +from daklib import utils +from daklib import database +from daklib.regexes import re_taint_free Cnf = None Options = None @@ -235,10 +235,6 @@ def actually_upload(changes_files): 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["distribution"].has_key("oldstable-security") and changes["architecture"].has_key("amd64"): - print "Not uploading amd64 oldstable-security changes to ftp-master\n" - continue # Build the file list for this .changes file for file in files.keys(): poolname = os.path.join(Cnf["Dir::Root"], Cnf["Dir::PoolRoot"], @@ -282,9 +278,14 @@ def actually_upload(changes_files): for uri in uploads.keys(): uploads[uri].extend(changesfiles[uri]) (host, path) = uri.split(":") - file_list = " ".join(uploads[uri]) - print "Uploading files to %s..." % (host) - spawn("lftp -c 'open %s; cd %s; put %s'" % (host, path, file_list)) + # file_list = " ".join(uploads[uri]) + print "Moving files to UploadQueue" + for filename in uploads[uri]: + utils.copy(filename, Cnf["Dir::Upload"]) + # .changes files have already been moved to queue/done by p-a + if not filename.endswith('.changes'): + remove_from_buildd(suites, filename) + #spawn("lftp -c 'open %s; cd %s; put %s'" % (host, path, file_list)) if not Options["No-Action"]: filename = "%s/testing-processed" % (Cnf["Dir::Log"]) @@ -294,6 +295,17 @@ def actually_upload(changes_files): file.write(" ".join([source, version])+'\n') file.close() +def remove_from_buildd(suites, filename): + """Check the buildd dir for each suite and remove the file if needed""" + builddbase = Cnf["Dir::QueueBuild"] + filebase = os.path.basename(filename) + for s in suites: + try: + os.unlink(os.path.join(builddbase, s, filebase)) + except OSError, e: + utils.warn("Problem removing %s from buildd queue %s [%s]" % (filebase, s, str(e))) + + def generate_advisory(template): global changes, advisory @@ -466,7 +478,7 @@ def _do_Approve(): print "Updating Release files..." spawn("dak generate-releases") print "Triggering security mirrors..." - spawn("sudo -u archvsync /home/archvsync/signal_security") + spawn("sudo -u archvsync -H /home/archvsync/signal_security") # 4. chdir to done - do upload if not Options["No-Action"]: