X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.hourly;h=cbc687fb219b4e1e1c730d49e640baff46ef0843;hb=01c3e3976cf234ca463ded32f09ea238251b0155;hp=34d1b59e144eba9cdc2e261d623f593d877751b7;hpb=37818276a5aba97d97763420a7655d2350dad747;p=dak.git diff --git a/config/debian/cron.hourly b/config/debian/cron.hourly index 34d1b59e..cbc687fb 100755 --- a/config/debian/cron.hourly +++ b/config/debian/cron.hourly @@ -1,21 +1,71 @@ -#! /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 -#dak import-users-from-passwd -#dak queue-report -n > $webdir/new.html -#dak queue-report -8 -d accepted,new,byhand,proposedupdates,oldproposedupdates -dak show-deferred > ${webdir}/deferred.html -#cd $queuedir/new ; dak show-new *.changes > /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 +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" +if lockfile -r16 $LOCKFILE 2> /dev/null; then + do_new + dak show-new > /dev/null || true + rm -f $LOCKFILE +fi + +dak queue-report -n > $webdir/new.html +dak queue-report -8 -d new,byhand,stable-new,oldstable-new -r $webdir/stat +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 ries-sync ries-sync1 ries-sync2 sync $scriptsdir/generate-di + +# Push files over to security +#pg_dump -a -F p -t files | sed -e "s,^COPY files (,DELETE FROM external_files; COPY external_files (," | xz -3 | \ +# ssh -o BatchMode=yes -o ConnectTimeout=30 -o SetupTimeout=30 -2 -i ${base}/s3kr1t/push-external_files dak@wherever sync +# +# The key should run the following command: +# 'xzcat | pg_restore -1 -a' + +# 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}"