X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.dinstall;h=de44fe5f05ac7e98e4a1e30a9c1bc6be19a68a05;hb=bdc67f9ca8905fe83d7c2c8c1dd7a41bcd1801ce;hp=2478ed4bf3db69489d42ea598e9d6f08cbbd672d;hpb=9381647a4a8f593a3e86769fad910f99ce822ca2;p=dak.git diff --git a/config/debian/cron.dinstall b/config/debian/cron.dinstall index 2478ed4b..de44fe5f 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 @@ -250,7 +329,7 @@ ts # Compress psql backups echo "Compress old psql backups" (cd $base/backup/ - find -maxdepth 1 -mindepth 1 -type f -name 'dump_*' \! -name '*.bz2' \! -name '*.gz' | + find -maxdepth 1 -mindepth 1 -type f -name 'dump_*' \! -name '*.bz2' \! -name '*.gz' -mtime +1 | while read dumpname; do echo "Compressing $dumpname" bzip2 -9 "$dumpname"