]> git.decadent.org.uk Git - dak.git/blobdiff - config/backports/cron.hourly
use "set -o pipefail" for shell scripts
[dak.git] / config / backports / cron.hourly
index 3f52806d0a9cee28b95cc998ff5375a80514989f..627c8b0960b4b7cc1eeeab1bc602a98fa475a763 100755 (executable)
-#! /bin/sh
+#! /bin/bash
 #
-# Executed daily via cron, out of katie's crontab.
-set -e
-export SCRIPTVARS=/srv/backports-master.debian.org/config/backports/vars
-. $SCRIPTVARS
-
-################################################################################
-cd $accepted
-
-changes=$(find . -maxdepth 1 -mindepth 1 -type f -name \*.changes | sed -e "s,./,," | xargs)
-
-if [ -z "$changes" ]; then
- exit 0;
-fi
-
-echo Archive maintenance started at $(date +%X)
-
-NOTICE="$ftpdir/Archive_Maintenance_In_Progress"
-LOCKCU="$lockdir/daily.lock"
-LOCKAC="$lockdir/unchecked.lock"
-
-cleanup() {
-  rm -f "$NOTICE"
-  rm -f "$LOCKCU"
-}
-trap cleanup 0
-
-rm -f "$NOTICE"
-lockfile -l 3600 $LOCKCU
-cat > "$NOTICE" <<EOF
-Packages are currently being installed and indices rebuilt.
-Maintenance is automatic, starting hourly at 5 minutes past the hour.
-Most of the times it is finished after about 10 til 15 minutes.
-
-You should not mirror the archive during this period.
-EOF
-
-################################################################################
-
-cd $accepted
-rm -f REPORT
-dak process-accepted -pa *.changes | tee REPORT | \
-     mail -s "Install for $(date +%d.%m.%Y)" ftpmaster@backports.debian.org
-chgrp debadmin REPORT
-chmod 664 REPORT
-
-cd $masterdir
-
-rm -f $LOCKAC
-
-symlinks -d -r $ftpdir
-
-cd $masterdir
-dak make-suite-file-list
-dak generate-filelist
-
-# Generate override files
-cd $overridedir
-dak make-overrides
+# Executed hourly via cron, out of dak's crontab.
 
-# Generate Packages and Sources files
-cd $configdir
-apt-ftparchive generate apt.conf
-# Generate *.diff/ incremental updates
-dak generate-index-diffs
-# Generate Release files
-dak generate-releases
-
-dak make-pkg-file-mapping | bzip2 -9 > $base/ftp/indices/package-file.map.bz2
-
-# Clean out old packages
-# Now in cron.daily. JJ[03.05.2005.]
-#rhona
-#shania
-
-cd $scriptsdir
-./mkmaintainers
-./copyoverrides
-./mklslar
-./mkchecksums
-
-rm -f $NOTICE
-rm -f $LOCKCU
-echo Archive maintenance finished at $(date +%X)
-
-################################################################################
-
-echo "Creating post-hourly-cron-job backup of projectb database..."
-POSTDUMP=/srv/backports-master.debian.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S)
-pg_dump projectb > $POSTDUMP
-(cd /srv/backports-master.debian.org/backup; ln -sf $POSTDUMP current)
-
-################################################################################
-
-# Vacuum the database
-echo "VACUUM; VACUUM ANALYZE;" | psql projectb 2>&1 | grep -v "^NOTICE:  Skipping.*only table owner can VACUUM it$"
-
-################################################################################
-
-# Now in cron.daily JJ[03.05.2005]
-# Send a report on NEW/BYHAND packages
-#helena | mail -e -s "NEW and BYHAND on $(date +%D)" ftpmaster@amd64.debian.net
-# and one on crufty package
-#rene | mail -e -s "rene run for $(date +%D)" ftpmaster@amd64.debian.net
-
-################################################################################
-
-(cd /srv/backports-master.debian.org/stats; rm -f master.list; ./dmc.pl get >/dev/null 2>&1; \
-./mirror.pl>$ftpdir/README.mirrors.html; cd $ftpdir; /usr/bin/links -dump README.mirrors.html >README.mirrors.txt)
-
-
-################################################################################
-
-ulimit -m 90000 -d 90000 -s 10000 -v 90000
+set -e
+set -o pipefail
+set -u
 
-run-parts --report /srv/backports-master.debian.org/scripts/distmnt
+export SCRIPTVARS=/srv/backports-master.debian.org/dak/config/backports/vars
+. $SCRIPTVARS
 
-echo Daily cron scripts successful.
+dak import-users-from-passwd
+dak queue-report -n > $webdir/new.html
+dak queue-report -8 -d new,byhand,proposedupdates,oldproposedupdates -r $webdir/stat
+#dak show-deferred -r $webdir/stat > ${webdir}/deferred.html
+dak graph -n new,byhand,proposedupdates,oldproposedupdates,deferred -r $webdir/stat -i $webdir/stat -x $scriptsdir/rrd-release-freeze-dates
+dak show-new > /dev/null
+
+# 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/removals.rss
+
+#$scriptsdir/generate-di
+
+# 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}"