#! /bin/bash # # Executed hourly via cron, out of dak's crontab. # Only one of me should ever run. [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -E 0 -en "$0" "$0" "$@" || : 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 # 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 dak queue-report -n -d backports-new,backports-policy > ${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 # cd $masterdir # timeout -k 180 120 /usr/bin/epydoc -q --html --graph all --css blue -n DAK -o $webdir/epydoc --include-log --graph all --show-imports $masterdir/dak/ $masterdir/dakweb/ || true # Tell the public mirror 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" -a "From: Debian FTP Masters " backports-team@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}" -a "From: Debian FTP Masters " buildd-keys@ftp-master.debian.org rm -f "${BUILDDFUN}"