]> 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 99dae8c18f0f6afdc001f6693a457aa644275d57..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
@@ -282,6 +282,9 @@ def actually_upload(changes_files):
         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"]:
@@ -292,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