#! /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)" EMAILADDRESS
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)" EMAILADDRESS
# and one on crufty packages
rene | mail -e -s "[non-US] rene run for $(date +%D)" EMAILADDRESS
################################################################################
ulimit -m 90000 -d 90000 -s 10000 -v 90000
run-parts --report /org/non-us.debian.org/scripts/distmnt
echo Daily cron scripts successful.