]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian-security/cron.unchecked
cleanup ssh config, remove unused keys
[dak.git] / config / debian-security / cron.unchecked
index 89baf28a6bdac267c46de736983677db4728bcb4..7baf55ac10cd8b6f45b2afa38de905f52c1b881d 100755 (executable)
@@ -1,6 +1,7 @@
 #! /bin/bash
 
 set -e
+set -o pipefail
 set -u
 
 export SCRIPTVARS=/srv/security-master.debian.org/dak/config/debian-security/vars
@@ -14,18 +15,31 @@ report=$queuedir/REPORT
 reportdis=$queuedir/REPORT.disembargo
 timestamp=$(date "+%Y-%m-%d %H:%M")
 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 embargo | mail -a "X-Debian: DAK" -e -s "Automatically accepted from embargoed" team@security.debian.org -- -F "Debian FTP Masters" -f ftonaster@ftp-master.debian.org
-dak process-policy disembargo | mail -a "X-Debian: DAK" -e -s "Automatically accepted from unembargoed" team@security.debian.org -- -F "Debian FTP Masters" -f ftonaster@ftp-master.debian.org
+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"
+}
+
+if ! lockfile -r8 "$LOCKFILE"; then
+    echo "aborting cron.unchecked because $LOCKFILE has already been locked"
+    exit 0
+fi
+trap cleanup EXIT
+
 cd $newstage
 changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
 if [ -n "$changes" ]; then
+    dopolicy=true
     echo "$timestamp": ${changes:-"Nothing to do in newstage"}  >> $report
     rsync -a -q $newstage/. /srv/queued/ftpmaster/.
     dak process-upload -a -d "$newstage" >> $report
@@ -48,18 +62,27 @@ if [ -n "$changes" ]; then
     dak process-upload -a -d "$disembargo" >> $reportdis
 fi
 
-if ! $doanything; then
-  echo "$timestamp": Nothing to do >> $report
-  exit 0
+if [ "${doanything}" = "false" ] && [ "${dopolicy}" = "false" ]; then
+    echo "$timestamp": Nothing to do >> $report
+    exit 0
+fi
+
+dak manage-build-queues -a
+
+if [ "x${dopolicy}x" = "xtruex" ]; then
+    # We had something approved from a policy queue, push out new archive
+    dak dominate
+    #dak generate-filelist
+    cd $configdir
+    $configdir/map.sh
+    #apt-ftparchive generate apt.conf
+    dak generate-packages-sources2
+    dak generate-releases
+    /srv/security-master.debian.org/dak/config/debian-security/make-mirror.sh
+    sudo -u archvsync -H /home/archvsync/signal_security
 fi
 
-dak dominate
-dak generate-filelist
-cd $configdir
-$configdir/map.sh
-apt-ftparchive generate apt.conf
-dak generate-releases
-/srv/security-master.debian.org/dak/config/debian-security/make-mirror.sh
-sudo -u archvsync -H /home/archvsync/signal_security
+cleanup
+trap - EXIT
 
-$masterdir/cron.buildd
+$configdir/cron.buildd