X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.hourly;h=87fad61c9c3ed82e9c64c9298c3292d3d410c0a6;hb=33233a41d742249ceb0c816c15f2850970ba3634;hp=c20f4d1da3add2861129c7904f9cd26d2c4fb81b;hpb=1d6c35970efaaa35a4511976510661b548e19514;p=dak.git diff --git a/config/debian/cron.hourly b/config/debian/cron.hourly index c20f4d1d..87fad61c 100755 --- a/config/debian/cron.hourly +++ b/config/debian/cron.hourly @@ -1,26 +1,43 @@ -#! /bin/sh +#! /bin/bash # # Executed hourly via cron, out of dak's crontab. set -e +set -o pipefail set -u export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars . $SCRIPTVARS +PROGRAM="Hourly" +######################################################################## +# Functions # +######################################################################## +# common functions are "outsourced" +. "${configdir}/common" + dak import-users-from-passwd -dak queue-report -n > $webdir/new.html -dak queue-report -8 -d new,byhand,proposedupdates,oldproposedupdates -r $webdir/stat -dak show-deferred -r $webdir/stat > ${webdir}/deferred.html -dak graph -n new,byhand,proposedupdates,oldproposedupdates,deferred -r $webdir/stat -i $webdir/stat -x $scriptsdir/rrd-release-freeze-dates # do not run show-new and other stuff in parallel LOCKFILE="$lockdir/unchecked.lock" +cleanup() { + rm -f "${LOCKFILE}" +} + if lockfile -r16 $LOCKFILE 2> /dev/null; then - dak show-new > /dev/null - rm -f $LOCKFILE + trap cleanup EXIT + do_new + dak show-new > /dev/null || true + cleanup + trap - EXIT fi +dak queue-report -n > $webdir/new.html +dak queue-report -n -d backports-new > ${webdir}/backports-new.html +dak queue-report -8 -d new,byhand,stable-new,oldstable-new,backports-new -r $webdir/stat +sudo -u dak-unpriv dak show-deferred -r $webdir/stat > ${webdir}/deferred.html +dak graph -n new,byhand,stable-new,oldstable-new,deferred -r $webdir/stat -i $webdir/stat -x $scriptsdir/rrd-release-freeze-dates + cd $webdir cat removals-20*.txt > removals-full.txt cat removals.txt >> removals-full.txt @@ -30,7 +47,30 @@ cat removals.822 >> removals-full.822 $base/dak/tools/queue_rss.py -q $queuedir/new -o $webdir/rss/ -d $base/misc -l $base/log/ $base/dak/tools/removals.pl $configdir/removalsrss.rc > $webdir/rss/removals.rss + # Tell ries to sync its tree -ssh -o Batchmode=yes -o ConnectTimeout=30 -o SetupTimeout=30 -2 -i ${base}/s3kr1t/pushddmirror dak@ries.debian.org sync +${scriptsdir}/sync-dd dd-sync dd-sync1 dd-sync2 sync + +$scriptsdir/generate-d-i + +# Update backports ACL +sudo -u dak-unpriv cat /srv/backports-master.debian.org/etc/acl \ + | dak acl set-fingerprints backports \ + | mail -a "X-Debian: DAK" -e -s "backports: acl changes" backports-team@debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org + +# do the buildd key updates +BUILDDFUN=$(mktemp -p "${TMPDIR}" BUILDDFUN.XXXXXX) +exec >> "${BUILDDFUN}" 2>&1 +${scriptsdir}/buildd-remove-keys +${scriptsdir}/buildd-add-keys +${scriptsdir}/buildd-prepare-dir + +for keyring in $(dak admin k list-binary); do + dak import-keyring --generate-users "%s" ${keyring} +done +exec >>/dev/null 2>&1 + +DATE=$(date -Is) +cat "${BUILDDFUN}" | mail -a "X-Debian: DAK" -e -s "[$(hostname -s)] Buildd key changes ${DATE}" buildd-keys@ftp-master.debian.org -- -F "Debian FTP Masters" -f ftpmaster@ftp-master.debian.org -$scriptsdir/generate-di +rm -f "${BUILDDFUN}"