]> git.decadent.org.uk Git - dak.git/blob - config/debian/hourly.functions
Generate new.html stuff atomic
[dak.git] / config / debian / hourly.functions
1 # -*- mode:sh -*-
2
3 function importusers() {
4     dak import-users-from-passwd
5 }
6
7 function newoverview() {
8     # do not run show-new and other stuff in parallel
9     if lockfile -r16 ${LOCK_UNCHECKED} 2> /dev/null; then
10         TMPFILES="${TMPFILES} ${LOCK_UNCHECKED}"
11         do_new
12         log "Output html for packages in NEW"
13         dak show-new > /dev/null || true
14         cleantempfiles
15     fi
16 }
17
18 function do_report() {
19     local target=${1:-"${webdir}/new.html"}
20     local opts=${2:-"-n"}
21     local TMPOUT=$( mktemp -p "${TMPDIR}" reportout.XXXXXX )
22     TMPFILES="${TMPFILES} ${TMPOUT}"
23     dak queue-report ${opts} > ${TMPOUT}
24     chmod 644 ${TMPOUT}
25     mv -f ${TMPOUT} ${target}
26 }
27
28 function queuereport() {
29     log "Creating queue reports, new/backports-new, 822 format"
30     do_report
31     do_report ${webdir}/backports-new.html "-n -d backports-new,backports-policy"
32     dak queue-report -8 -d new,byhand,stable-new,oldstable-new,backports-new -r ${webdir}/stat
33     log "Deferred queue overview"
34     sudo -u dak-unpriv dak show-deferred -r ${webdir}/stat > ${webdir}/deferred.html
35     log "Graphs about the queues"
36     dak graph -n new,byhand,stable-new,oldstable-new,deferred,backports-new -r ${webdir}/stat -i ${webdir}/stat -x ${scriptsdir}/rrd-release-freeze-dates
37 }
38
39 function removalstxt() {
40     cd ${webdir}
41     cat removals-20*.txt > removals-full.txt
42     cat removals.txt >> removals-full.txt
43     cat removals-20*.822 > removals-full.822
44     cat removals.822 >> removals-full.822
45 }
46
47 function rss() {
48     log "NEW RSS feed"
49     ${base}/dak/tools/queue_rss.py -q ${queuedir}/new -o ${webdir}/rss/ -d ${base}/misc -l ${base}/log/
50     log "Removals RSS feed"
51     ${base}/dak/tools/removals.pl ${configdir}/removalsrss.rc > ${webdir}/rss/removals.rss
52 }
53
54 function gen_di() {
55     ${scriptsdir}/generate-d-i
56 }
57
58 function backportsacl() {
59     # Update backports ACL
60     sudo -u dak-unpriv cat /srv/backports-master.debian.org/etc/acl \
61         | dak acl set-fingerprints backports \
62         | mail -a "X-Debian: DAK" -e -s "backports: acl changes" -a "From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>" backports-team@debian.org
63 }
64
65 # do the buildd key updates
66 function builddautosigning() {
67     BUILDDFUN=$( gettempfile )
68     exec >> "${BUILDDFUN}" 2>&1
69     ${scriptsdir}/buildd-remove-keys
70     ${scriptsdir}/buildd-add-keys
71     ${scriptsdir}/buildd-prepare-dir
72
73     for keyring in $(dak admin k list-binary); do
74         dak import-keyring --generate-users "%s" ${keyring}
75     done
76     exec >>/dev/null 2>&1
77
78     DATE=$(date -Is)
79     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}"
80
81     rm -f "${BUILDDFUN}"
82 }