]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian-security/cron.weekly
config-security: also refresh Release for buildd archive weekly
[dak.git] / config / debian-security / cron.weekly
index 80a835381620f525cddb75ed74cf2e52f1f9208a..90da7d82fdb9de7abfc70cf024fe9f126603367d 100755 (executable)
@@ -3,17 +3,40 @@
 # Executed weekly via cron, out of dak's crontab.
 
 set -e
+set -o pipefail
 export SCRIPTVARS=/srv/security-master.debian.org/dak/config/debian-security/vars
 . $SCRIPTVARS
 
+LOCKFILE="$lockdir/unchecked.lock"
+
 ################################################################################
 
 # Weekly generation of release files, then pushing mirrors.
 # Used as we have a "Valid-until" field in our release files of 10 days. In case
 # we dont have a security update in that time...
 cd $configdir
-dak generate-releases
-/srv/security-master.debian.org/dak/config/debian-security/make-mirror.sh
+
+cleanup() {
+    rm -f "$LOCKFILE"
+}
+
+if ! lockfile -r100 "$LOCKFILE"; then
+    echo "Could not lock $LOCKFILE. Assuming resigning is not needed."
+    exit 0
+fi
+trap cleanup EXIT
+
+# Update Release for main archive
+dak generate-releases -a security >/dev/null
+
+# Update Release for buildd archive and publish it
+dak generate-releases -a build-queues >/dev/null
+${scriptsdir}/update-buildd-archive ${base}/build-queues ${incoming}/debian-security-buildd
+
+cleanup
+trap - EXIT
+
+/srv/security-master.debian.org/dak/config/debian-security/make-mirror.sh >/dev/null
 sudo -u archvsync -H /home/archvsync/signal_security