]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian-security/cron.unchecked
Export buildd queues on security archive.
[dak.git] / config / debian-security / cron.unchecked
index e234e33bfe9b0059259bc7631ed771f825c3edaf..15e96c739388e8e85acfc94b0cee8cd21e7d0c13 100755 (executable)
@@ -18,14 +18,6 @@ doanything=false
 dopolicy=false
 LOCKFILE="$lockdir/unchecked.lock"
 
-# So first we should go and see if any process-policy action is done
-dak process-policy embargoed | mail -a "X-Debian: DAK" -e -s "Automatically accepted from embargoed" team@security.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org
-dak process-policy unembargoed | mail -a "X-Debian: DAK" -e -s "Automatically accepted from unembargoed" team@security.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org
-
-# Now, if this really did anything, we can then sync it over. Files
-# in newstage mean they are (late) accepts of security stuff, need
-# to sync to ftp-master
-
 cleanup() {
     rm -f "$LOCKFILE"
 }
@@ -36,17 +28,6 @@ if ! lockfile -r8 "$LOCKFILE"; then
 fi
 trap cleanup EXIT
 
-for queue in embargoed; do
-    cd ${queuedir}/${queue}/COMMENTS
-    comments=$(find . -maxdepth 1 -mindepth 1 -type f '(' -name "ACCEPT.*.changes" -o -name "REJECT.*.changes" ')' | sed -e "s,./,," | xargs)
-    if [ -n "$comments" ]; then
-       dopolicy=true
-       echo "$timestamp": ${comments:-"Nothing to do for ${queue}"}  >> $report
-       dak process-policy ${queue} >> ${report}
-       find /srv/security-master.debian.org/queue/accepted -type f -exec mv -t /srv/queued/ftpmaster '{}' +
-    fi
-done
-
 cd $unchecked
 changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
 if [ -n "$changes" ]; then
@@ -57,13 +38,36 @@ fi
 
 cd $disembargo
 changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
-
 if [ -n "$changes" ]; then
     doanything=true
     echo "$timestamp": ${changes:-"Nothing to do in disembargo"}  >> $reportdis
     dak process-upload -a -d "$disembargo" >> $reportdis
 fi
 
+for queue in embargoed unembargoed; do
+    echo "$timestamp: processing ${queue}" >> ${report}
+    dak process-policy ${queue} | mail -a "X-Debian: DAK" -e -s "Automatically accepted from ${queue}" team@security.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org
+done
+accepted=$(find ${queuedir}/accepted -type f -name "*.changes")
+if [ -n "${accepted}" ]; then
+    dopolicy=true
+fi
+
+# sync accepted files to ftpmaster
+cd ${base}
+find ${queuedir}/accepted -type f -exec mv -t /srv/queued/ftpmaster '{}' +
+
+# export policy queues
+for queue in embargoed; do
+    cd ${queuedir}/${queue}
+    rm -rf export.new
+    mkdir export.new
+    dak export -q ${queue} -d export.new --all
+    rsync -a --delete export.new/. export/.
+    rm -rf export.new
+    cd ${base}
+done
+
 if [ "${doanything}" = "false" ] && [ "${dopolicy}" = "false" ]; then
     echo "$timestamp": Nothing to do >> $report
     exit 0
@@ -73,12 +77,14 @@ fi
 dak manage-build-queues -a
 dak generate-packages-sources2 -a build-queues
 dak generate-releases -a build-queues >/dev/null
+${scriptsdir}/update-buildd-archive ${base}/build-queues ${incoming}/debian-security-buildd
 
 # export build queues in old format
 # XXX: This should be removed later.
 for suite in stable testing; do
     overridecodename=$(dak admin suite show ${suite} | awk '$1 == "OverrideCodename:" { print $2 }')
     rm -rf ${incoming}/${suite}.new
+    mkdir ${incoming}/${suite}.new
     dak export-suite -s buildd-${suite} -d ${incoming}/${suite}.new
 
     cd ${incoming}/${suite}.new
@@ -96,7 +102,9 @@ for suite in stable testing; do
     mv ${suite}.Release ${suite}.new/Release
     mv ${suite}.Release.gpg ${suite}.new/Release.gpg
 
-    mv ${suite} ${suite}.old
+    if [ -d ${suite} ]; then
+       mv ${suite} ${suite}.old
+    fi
     mv ${suite}.new ${suite}
     rm -rf ${suite}.old
 done