#! /bin/bash
set -e
+set -o pipefail
set -u
export SCRIPTVARS=/srv/security-master.debian.org/dak/config/debian-security/vars
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 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
fi
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
-$masterdir/cron.buildd
+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
+
+cleanup
+trap - EXIT
+
+$configdir/cron.buildd