]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian/hourly.functions
Generate new.html stuff atomic
[dak.git] / config / debian / hourly.functions
index 2a26461938ba3ef72c5627f0de8a567536d3a4f7..ccedc5bc4ffc926e66f041fce019d108000098ba 100644 (file)
@@ -6,7 +6,7 @@ function importusers() {
 
 function newoverview() {
     # do not run show-new and other stuff in parallel
-    if lockfile -r16 $LOCK_UNCHECKED 2> /dev/null; then
+    if lockfile -r16 ${LOCK_UNCHECKED} 2> /dev/null; then
         TMPFILES="${TMPFILES} ${LOCK_UNCHECKED}"
         do_new
         log "Output html for packages in NEW"
@@ -15,15 +15,25 @@ function newoverview() {
     fi
 }
 
+function do_report() {
+    local target=${1:-"${webdir}/new.html"}
+    local opts=${2:-"-n"}
+    local TMPOUT=$( mktemp -p "${TMPDIR}" reportout.XXXXXX )
+    TMPFILES="${TMPFILES} ${TMPOUT}"
+    dak queue-report ${opts} > ${TMPOUT}
+    chmod 644 ${TMPOUT}
+    mv -f ${TMPOUT} ${target}
+}
+
 function queuereport() {
     log "Creating queue reports, new/backports-new, 822 format"
-    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
+    do_report
+    do_report ${webdir}/backports-new.html "-n -d backports-new,backports-policy"
+    dak queue-report -8 -d new,byhand,stable-new,oldstable-new,backports-new -r ${webdir}/stat
     log "Deferred queue overview"
     sudo -u dak-unpriv dak show-deferred -r ${webdir}/stat > ${webdir}/deferred.html
     log "Graphs about the queues"
-    dak graph -n new,byhand,stable-new,oldstable-new,deferred,backports-new -r ${webdir}/stat -i ${webdir}/stat -x $scriptsdir/rrd-release-freeze-dates
+    dak graph -n new,byhand,stable-new,oldstable-new,deferred,backports-new -r ${webdir}/stat -i ${webdir}/stat -x ${scriptsdir}/rrd-release-freeze-dates
 }
 
 function removalstxt() {
@@ -36,13 +46,13 @@ function removalstxt() {
 
 function rss() {
     log "NEW RSS feed"
-    $base/dak/tools/queue_rss.py -q $queuedir/new -o ${webdir}/rss/ -d $base/misc -l $base/log/
+    ${base}/dak/tools/queue_rss.py -q ${queuedir}/new -o ${webdir}/rss/ -d ${base}/misc -l ${base}/log/
     log "Removals RSS feed"
-    $base/dak/tools/removals.pl $configdir/removalsrss.rc > ${webdir}/rss/removals.rss
+    ${base}/dak/tools/removals.pl ${configdir}/removalsrss.rc > ${webdir}/rss/removals.rss
 }
 
 function gen_di() {
-    $scriptsdir/generate-d-i
+    ${scriptsdir}/generate-d-i
 }
 
 function backportsacl() {
@@ -66,7 +76,7 @@ function builddautosigning() {
     exec >>/dev/null 2>&1
 
     DATE=$(date -Is)
-    cat "${BUILDDFUN}" | mail -a "X-Debian: DAK" -e -s "[${HOSTNAME}] Buildd key changes ${DATE}" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" buildd-keys@ftp-master.debian.org
+    mail -a "X-Debian: DAK" -e -s "[${HOSTNAME}] Buildd key changes ${DATE}" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" buildd-keys@ftp-master.debian.org < "${BUILDDFUN}"
 
     rm -f "${BUILDDFUN}"
 }