X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.weekly;h=7d884b6a1e707a07f9afb1eb5378b1cc8f0db933;hb=f54c87736c85e9c72b1693f9db50848992f88f61;hp=53d951cdc0f54a911435ea316876fccab5126dee;hpb=2bb16aa77f112def9c87ade768434d02940da9e2;p=dak.git diff --git a/config/debian/cron.weekly b/config/debian/cron.weekly index 53d951cd..7d884b6a 100755 --- a/config/debian/cron.weekly +++ b/config/debian/cron.weekly @@ -1,10 +1,15 @@ -#!/bin/sh +#!/bin/bash # # Run once a week via cron, out of dak's crontab. set -e +set -o pipefail set -u -export SCRIPTVARS=/srv/ftp.debian.org/dak/config/debian/vars +# ERR traps should be inherited from functions too. (And command +# substitutions and subshells and whatnot, but for us the functions is +# the important part here) +set -E +export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars . $SCRIPTVARS # Start logging @@ -27,24 +32,17 @@ if [ ! -z "$(find $ftpdir/pool/ -type d -empty)" ]; then find $ftpdir/pool/ -type d -empty | xargs rmdir; fi -# Split queue/done -echo "Splitting queue/done" -dak split-done > /dev/null - -# Vacuum the database -echo "VACUUM; VACUUM ANALYZE;" | psql --no-psqlrc projectb 2>&1 | grep -v "^NOTICE: Skipping.*only table owner can VACUUM it$" - # Do git cleanup stuff echo "Doing git stuff" -cd /org/ftp.debian.org/git/dak.git +cd /srv/ftp.debian.org/git/dak.git git gc --prune git update-server-info +# now workaround a git bug not honoring the setup in logs/* +# (fix in development, but until it reached backports.org.......) +chmod -R g+w logs/ -# Clean up apt-ftparchive's databases -cd $configdir -echo "Cleanup apt-ftparchive's database" -apt-ftparchive -q clean apt.conf -apt-ftparchive -q clean apt.conf.buildd +echo "Fixing symlinks in $ftpdir" +symlinks -d -r $ftpdir echo "Finally, all is done, compressing logfile" exec > /dev/null 2>&1