]> git.decadent.org.uk Git - dak.git/blobdiff - config/debian-non-US/cron.daily
Stop using silly names, and migrate to a saner directory structure.
[dak.git] / config / debian-non-US / cron.daily
diff --git a/config/debian-non-US/cron.daily b/config/debian-non-US/cron.daily
new file mode 100755 (executable)
index 0000000..a901f6b
--- /dev/null
@@ -0,0 +1,116 @@
+#! /bin/sh
+#
+# Executed daily via cron, out of troup's crontab.
+
+set -e
+export SCRIPTVARS=/org/non-us.debian.org/katie/vars-non-US
+. $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" <<EOF
+Packages are currently being installed and indices rebuilt.
+Maintenance is automatic, starting at 13:52 US Central time, and
+ending at about 15:30.  This file is then removed.
+
+You should not mirror the archive during this period.
+EOF
+
+################################################################################
+
+echo "Creating pre-daily-cron-job backup of projectb database..."
+pg_dump projectb > /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
+  kelly -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 "kelly: Nothing to install."
+fi
+
+cd $masterdir
+symlinks -d -r $ftpdir
+
+cd $masterdir
+jenna
+
+# Generate override files
+cd $overridedir
+denise
+# 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-non-US
+# Generate Release files
+ziyi
+
+# Clean out old packages
+rhona
+shania
+
+# Generate the Maintainers file
+cd $indices
+charisma > .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 <Maintainers >.new-maintainers.gz
+mv -f .new-maintainers.gz Maintainers.gz
+gzip -9v <Maintainers_Versions >.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
+helena | mail -e -s "[non-US] NEW and BYHAND on $(date +%D)" ftpmaster@ftp-master.debian.org
+# and one on crufty packages
+rene | mail -e -s "[non-US] rene run 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.