X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=blobdiff_plain;f=config%2Fdebian%2Fcron.daily;h=1214bab131211019ca93ac844c9f33ece251e623;hp=0768a9d419c5748114a220a24e45d3f1563a6a36;hb=2a10967af5974e4fa513d029fb995e122d90501a;hpb=3950b9877f066f4946d5ac1eec121913f9594142 diff --git a/config/debian/cron.daily b/config/debian/cron.daily index 0768a9d4..1214bab1 100755 --- a/config/debian/cron.daily +++ b/config/debian/cron.daily @@ -1,16 +1,72 @@ -#!/bin/sh +#! /bin/bash # # Run daily 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 +# common functions are "outsourced" +. "${configdir}/common" + ################################################################################ +TMPFILE=$( mktemp -p ${TMPDIR} ) + +function cleanup { + ERRVAL=$? + rm -f ${TMPFILE} + exit ${ERRVAL} +} +trap cleanup SIGHUP SIGINT SIGPIPE SIGTERM EXIT ERR + +# log to dinstall's logfile instead of sending email +PROGRAM="cron.daily" +# Start logging +NOW=`date "+%Y.%m.%d-%H:%M:%S"` +LOGFILE="$logdir/daily_${NOW}.log" +exec >> "$LOGFILE" 2>&1 # get the latest list of wnpp bugs and their source packages -wget -q -O/srv/ftp-master.debian.org/scripts/masterfiles/wnpp_rm http://qa.debian.org/data/bts/wnpp_rm +wget -q -O${TMPFILE} https://qa.debian.org/data/bts/wnpp_rm +chmod go+r ${TMPFILE} +mv ${TMPFILE} /srv/ftp-master.debian.org/scripts/masterfiles/wnpp_rm + +# Push files over to security +# The key over there should have the following set for the ssh key: +# command="/usr/bin/xzcat | /usr/bin/psql -1 -c 'DELETE FROM external_files; COPY external_files (id, filename, size, md5sum, last_used, sha1sum, sha256sum, created, modified) FROM STDIN' obscurity" +psql -c 'COPY files (id, filename, size, md5sum, last_used, sha1sum, sha256sum, created, modified) TO STDOUT' projectb | \ + xz -3 | \ + ssh -o BatchMode=yes -o ConnectTimeout=30 -o SetupTimeout=30 -2 \ + -i ${base}/s3kr1t/push_external_files dak@security-master.debian.org sync + +# Update wanna-build dump +echo "Update wanna-build database dump" +$base/dak/scripts/nfu/get-w-b-db + +reports + +clean_debbugs + +# Generate list of override disparities +dak override-disparity | gzip -9 > ${webdir}/override-disparity.gz + +# Generate stats about the new queue +dak stats new ${webdir}/NEW-stats.yaml 2> /dev/null + +# Generate the contributor data +# FIXME: In a day or three, when this worked from cron without +# failure, redirect its output to dev/null. Alternatively until then +# enrico added a --quiet and we use that. +REQUESTS_CA_BUNDLE=/etc/ssl/ca-debian/ca-certificates.crt dc-tool --mine="${configdir}/contributor.source" --auth-token @"${base}/s3kr1t/contributor.auth" --source ftp.debian.org --post + +${scriptsdir}/link_morgue.sh ################################################################################ + +echo "Finally, all is done, compressing logfile" +exec > /dev/null 2>&1 + +bzip2 -9 "$LOGFILE"