]> git.decadent.org.uk Git - dak.git/blobdiff - dak/new_security_install.py
Merge commit 'mhy/regexes' into merge
[dak.git] / dak / new_security_install.py
index a6469e27f4dfdd8f90fb1c245851867259ef4e1e..98951d416c4d8020189e7ca82c3edf8219ff8aaa 100755 (executable)
 
 ################################################################################
 
+import apt_pkg, os, sys, pwd, time, commands
+
 from daklib import queue
 from daklib import logging
 from daklib import utils
 from daklib import database
-import apt_pkg, os, sys, pwd, time, re, commands
-
-re_taint_free = re.compile(r"^['/;\-\+\.~\s\w]+$");
+from daklib.regexes import re_taint_free
 
 Cnf = None
 Options = None
@@ -278,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"])
@@ -290,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
 
@@ -462,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"]: