]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian-security/cron.daily
debian-security: place locks around dak commands that affect packages
[dak.git] / config / debian-security / cron.daily
index f33a732cb574c75f69a056fd4c142a29d2def057..ba1d11ee8aced36ac17ab4a5b71e6b8953a015d8 100755 (executable)
@@ -6,6 +6,8 @@ set -e
 export SCRIPTVARS=/srv/security-master.debian.org/dak/config/debian-security/vars
 . $SCRIPTVARS
 
+LOCKFILE="$lockdir/unchecked.lock"
+
 ################################################################################
 
 # Fix overrides
@@ -66,10 +68,24 @@ done
 
 cd $configdir
 dak import-keyring -L /srv/keyring.debian.org/keyrings/debian-keyring.gpg
+
+cleanup() {
+    rm -f "$LOCKFILE"
+}
+
+if ! lockfile -r100 "$LOCKFILE"; then
+    echo "Could not lock $LOCKFILE." >&2
+    exit 1
+fi
+trap cleanup EXIT
+
 dak clean-queues
 dak clean-queues -i $disembargo
 dak clean-suites
 
+cleanup
+trap - EXIT
+
 symlinks -d -r $ftpdir
 
 pg_dump obscurity > /org/security-master.debian.org/dak-backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
@@ -78,7 +94,7 @@ while read dumpname; do
     bzip2 -9fv "$dumpname"
 done
 
-apt-ftparchive -q clean apt.conf
-apt-ftparchive -q clean apt.conf.buildd
+#apt-ftparchive -q clean apt.conf
+#apt-ftparchive -q clean apt.conf.buildd
 
 ################################################################################