X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.dinstall;h=cb326fc6b79116e317de59cfb62973ac847c36f4;hb=f8996e240d9d0278bce098e23be63db0bcc6fbee;hp=b8b25d7a3d0911b072bb57991ad596825ac03117;hpb=5596929fb40e247919844ccacd6970c20a69339b;p=dak.git diff --git a/config/debian/cron.dinstall b/config/debian/cron.dinstall index b8b25d7a..cb326fc6 100755 --- a/config/debian/cron.dinstall +++ b/config/debian/cron.dinstall @@ -24,6 +24,7 @@ TS=0 NOTICE="$ftpdir/Archive_Maintenance_In_Progress" LOCKCU="$lockdir/daily.lock" LOCKAC="$lockdir/unchecked.lock" +BRITNEYLOCK="$lockdir/britney.lock" lockac=0 cleanup() { @@ -37,6 +38,11 @@ cleanup() { lockfile -l 3600 $LOCKCU trap cleanup 0 +# This file is simply used to indicate to britney whether or not +# the Packages file updates completed sucessfully. It's not a lock +# from our point of view +touch ${BRITNEYLOCK} + rm -f "$NOTICE" cat > "$NOTICE" <> REPORT ################################################################################ +ts + +echo "Synchronizing i18n package descriptions" +# First sync their newest data +cd ${scriptdir}/i18nsync +rsync -aq --delete --delete-after ddtp-sync:/does/not/matter . || true + +# Now check if we still know about the packages for which they created the files +# is the timestamp signed by us? +if $(gpgv --keyring /srv/ftp.debian.org/s3kr1t/dot-gnupg/pubring.gpg timestamp.gpg timestamp); then + # now read it. As its signed by us we are sure the content is what we expect, no need + # to do more here. And we only test -d a directory on it anyway. + TSTAMP=$(cat timestamp) + # do we have the dir still? + if [ -d ${scriptdir}/i18n/${TSTAMP} ]; then + # Lets check! + if ${scriptsdir}/ddtp-i18n-check.sh . ${scriptdir}/i18n/${TSTAMP}; then + # Yay, worked, lets copy around + for dir in lenny sid; do + if [ -d dists/${dir}/ ]; then + cd dists/${dir}/main/i18n + rsync -aq --delete --delete-after . ${ftpdir}/dists/${dir}/main/i18n/. + fi + cd ${scriptdir}/i18nsync + done + else + echo "ARRRR, bad guys, wrong files, ARRR" + echo "Arf, Arf, Arf, bad guys, wrong files, arf, arf, arf" | mail debian-l10n-devel@lists.alioth.debian.org + fi + else + echo "ARRRR, missing the timestamp ${TSTAMP} directory, not updating i18n, ARRR" + echo "Arf, Arf, Arf, missing the timestamp ${TSTAMP} directory, not updating i18n, arf, arf, arf" | mail debian-l10n-devel@lists.alioth.debian.org + fi +else + echo "ARRRRRRR, could not verify our timestamp signature, ARRR. Don't mess with our files, i18n guys, ARRRRR." + echo "Arf, Arf, Arf, could not verify our timestamp signature, arf. Don't mess with our files, i18n guys, arf, arf, arf" | mail debian-l10n-devel@lists.alioth.debian.org +fi + +################################################################################ + ts lockfile $LOCKAC lockac=1 @@ -172,6 +219,14 @@ cd $scriptsdir ./mkfilesindices ./mkchecksums +ts + +# (Re)generate the hardlinked mirror directory for "public" buildd / mirror access +echo "Regenerating mirror/ hardlink fun" +cd ${mirrordir} +rsync -aH --link-dest ${ftpdir} --delete --delete-after --ignore-errors ${ftpdir}/. . + + ts echo "Trigger daily wanna-build run" @@ -228,6 +283,27 @@ ulimit -m 90000 -d 90000 -s 10000 -v 200000 echo "Using run-parts to run scripts in $base/scripts/distmnt" run-parts --report $base/scripts/distmnt +ts + +echo "Exporting package data foo for i18n project" +STAMP=$(date "+%Y%m%d%H%M") +mkdir -p ${scriptdir}/i18n/${STAMP} +cd ${scriptdir}/i18n/${STAMP} +dak control-suite -l stable > etch +dak control-suite -l testing > lenny +dak control-suite -l unstable > sid +echo "${STAMP}" > timestamp +gpg --secret-keyring /srv/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg --keyring /srv/ftp.debian.org/s3kr1t/dot-gnupg/pubring.gpg --no-options --batch --no-tty --armour --default-key 6070D3A1 --detach-sign -o timestamp.gpg timestamp +rm -f md5sum +md5sum * > md5sum +cd ${webdir}/ +ln -sfT ${scriptdir}/i18n/${STAMP} i18n + +cd ${scriptdir} +find ./i18n -mtime +2 -mindepth 1 -maxdepth 1 -not -name "${STAMP}" -type d -print0 | xargs --no-run-if-empty -0 rm -rf + +ts + echo "Daily cron scripts successful." ts @@ -240,6 +316,9 @@ R --slave --vanilla < $base/misc/ftpstats.R ts +# Remove the britney lock +rm -f ${BRITNEYLOCK} + # Clean up apt-ftparchive's databases echo "Clean up apt-ftparchive's databases" cd $configdir @@ -259,6 +338,21 @@ echo "Compress old psql backups" ts +echo "Removing old dinstall logfiles" +(cd $logdir + find -maxdepth 1 -mindepth 1 -type f -name 'dinstall_*' -mtime +60 | + while read dumpname; do + echo "Removing $dumpname" + rm -f "$dumpname" + done + + find -maxdepth 1 -mindepth 1 -type f -name 'weekly_*' -mtime +60 | + while read dumpname; do + echo "Removing $dumpname" + rm -f "$dumpname" + done +) + echo "Finally, all is done, sending mail and compressing logfile" exec > /dev/null 2>&1