X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.hourly;h=87fad61c9c3ed82e9c64c9298c3292d3d410c0a6;hb=33233a41d742249ceb0c816c15f2850970ba3634;hp=6d0efb2cbdebf94dea432aba1b49b711be027845;hpb=44080eda735a067fe28b33613db1b11995454a13;p=dak.git diff --git a/config/debian/cron.hourly b/config/debian/cron.hourly index 6d0efb2c..87fad61c 100755 --- a/config/debian/cron.hourly +++ b/config/debian/cron.hourly @@ -1,22 +1,76 @@ -#! /bin/sh +#! /bin/bash # # Executed hourly via cron, out of dak's crontab. set -e +set -o pipefail set -u -export SCRIPTVARS=/srv/ftp.debian.org/dak/config/debian/vars + +export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars . $SCRIPTVARS -date -u > $ftpdir/project/trace/ftp-master.debian.org -echo "Using dak v1" >> $ftpdir/project/trace/ftp-master.debian.org -echo "Running on host: $(hostname -f)" >> $ftpdir/project/trace/ftp-master.debian.org +PROGRAM="Hourly" +######################################################################## +# Functions # +######################################################################## +# common functions are "outsourced" +. "${configdir}/common" + dak import-users-from-passwd + +# 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 + trap cleanup EXIT + do_new + dak show-new > /dev/null || true + cleanup + trap - EXIT +fi + dak queue-report -n > $webdir/new.html -# We used to have accepted in here, but it doesn't exist in that form any more -dak queue-report -8 -d new,byhand,proposedupdates,oldproposedupdates -dak show-deferred > ${webdir}/deferred.html -dak show-new > /dev/null -$base/dak/tools/queue_rss.py -q $queuedir/new -o $webdir/rss/ -d $base/misc -$base/dak/tools/removals.pl > $webdir/rss/removals.rss - -$scriptsdir/generate-di +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 +cat removals-20*.822 > removals-full.822 +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 +${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 + +rm -f "${BUILDDFUN}"