#! /bin/sh # # Executed daily via cron, out of dak's crontab. set -e export SCRIPTVARS=/org/non-us.debian.org/dak/config/debian-non-US/vars . $SCRIPTVARS ################################################################################ echo Archive maintenance started at $(date +%X) NOTICE="$ftpdir/Archive_Maintenance_In_Progress" cleanup() { rm -f "$NOTICE" } trap cleanup 0 rm -f "$NOTICE" cat > "$NOTICE" < /org/non-us.debian.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S) ################################################################################ update-readmenonus ################################################################################ if [ ! -z "$(find "$accepted" -name \*.changes -maxdepth 1 -mindepth 1)" ]; then cd $accepted rm -f REPORT dak process-accepted -pa *.changes | tee REPORT | \ mail -s "Non-US Install for $(date +%D)" ftpmaster@ftp-master.debian.org chgrp debadmin REPORT chmod 664 REPORT else echo "dak process-accepted: Nothing to install." fi cd $masterdir symlinks -d -r $ftpdir cd $masterdir dak make-suite-file-list # Generate override files cd $overridedir dak make-overrides # FIXME rm -f override.potato.all3 for i in main contrib non-free; do cat override.potato.$i >> override.potato.all3; done # Generate Packages and Sources files cd $masterdir apt-ftparchive generate apt.conf # Generate Release files dak generate-releases # Clean out old packages dak clean-suites dak clean-queues # Generate the Maintainers file cd $indices dak make-maintainers > .new-maintainers_versions mv -f .new-maintainers_versions Maintainers_Versions sed -e "s/~[^ ]*\([ ]\)/\1/" < Maintainers_Versions | awk '{printf "%-20s ", $1; for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n";}' > .new-maintainers mv -f .new-maintainers Maintainers gzip -9v .new-maintainers.gz mv -f .new-maintainers.gz Maintainers.gz gzip -9v .new-maintainers_versions.gz mv -f .new-maintainers_versions.gz Maintainers_Versions.gz rm -f Maintainers_Versions cd $masterdir copyoverrides mklslar mkchecksums rm -f $NOTICE echo Archive maintenance finished at $(date +%X) ################################################################################ echo "Creating post-daily-cron-job backup of projectb database..." pg_dump projectb > /org/non-us.debian.org/backup/dump_$(date +%Y.%m.%d-%H:%M:%S) ################################################################################ # Vacuum the database echo "VACUUM; VACUUM ANALYZE;" | psql projectb 2>&1 | grep -v "^NOTICE: Skipping.*only table owner can VACUUM it$" ################################################################################ # Send a report on NEW/BYHAND packages dak queue-report | mail -e -s "[non-US] NEW and BYHAND on $(date +%D)" ftpmaster@ftp-master.debian.org # and one on crufty packages dak cruft-report | mail -e -s "Debian non-US cruft report for $(date +%D)" ftpmaster@ftp-master.debian.org ################################################################################ ulimit -m 90000 -d 90000 -s 10000 -v 90000 run-parts --report /org/non-us.debian.org/scripts/distmnt echo Daily cron scripts successful.