+ 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 -s "You can't keep blaming yourself. Just blame yourself once, and move on." debian-l10n-devel@lists.alioth.debian.org
+ fi
+}
+
+# Process the accepted queue
+function accepted() {
+ log "Processing queue/accepted"
+ rm -f "$accepted/REPORT"
+ dak process-accepted -pa -d "$accepted" > "$accepted/REPORT"
+ cat "$accepted/REPORT" | mail -s "Install for $(date +"%D - %R")" ftpmaster@ftp-master.debian.org
+ chgrp debadmin "$accepted/REPORT"
+ chmod 664 "$accepted/REPORT"
+}
+
+function cruft() {
+ log "Checking for cruft in overrides"
+ dak check-overrides
+}
+
+function msfl() {
+ log "Generating suite file lists for apt-ftparchive"
+ dak make-suite-file-list
+}
+
+function fingerprints() {
+ log "Updating fingerprints"
+ dak import-keyring -L /srv/keyring.debian.org/keyrings/debian-keyring.gpg
+
+ OUTFILE=$(mktemp)
+ dak import-keyring --generate-users "%s" /srv/keyring.debian.org/keyrings/debian-maintainers.gpg >"${OUTFILE}"
+
+ if [ -s "${OUTFILE}" ]; then
+ /usr/sbin/sendmail -odq -oi -t -f envelope@ftp-master.debian.org <<EOF
+From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
+To: <debian-project@lists.debian.org>
+Subject: Debian Maintainers Keyring changes
+Content-Type: text/plain; charset=utf-8
+MIME-Version: 1.0
+
+The following changes to the debian-maintainers keyring have just been activated:
+
+$(cat $OUTFILE)
+
+Debian distribution maintenance software,
+on behalf of the Keyring maintainers
+
+EOF
+ fi
+ rm -f "$OUTFILE"
+}
+
+function overrides() {
+ log "Writing overrides into text files"
+ cd $overridedir
+ dak make-overrides
+
+ # FIXME
+ rm -f override.sid.all3
+ for i in main contrib non-free main.debian-installer; do cat override.sid.$i >> override.sid.all3; done
+}
+
+function mpfm() {
+ log "Generating package / file mapping"
+ dak make-pkg-file-mapping | bzip2 -9 > $base/ftp/indices/package-file.map.bz2
+}
+
+function packages() {
+ log "Generating Packages and Sources files"
+ cd $configdir
+ GZIP='--rsyncable' ; export GZIP
+ apt-ftparchive generate apt.conf
+}
+
+function pdiff() {
+ log "Generating pdiff files"
+ dak generate-index-diffs
+}
+
+function release() {
+ log "Generating Release files"
+ dak generate-releases
+}
+
+function dakcleanup() {
+ log "Cleanup old packages/files"
+ dak clean-suites -m 10000
+ dak clean-queues
+}
+
+function buildd() {
+ # Needs to be rebuilt, as files have moved. Due to unaccepts, we need to
+ # update this before wanna-build is updated.
+ log "Regenerating wanna-build/buildd information"
+ psql projectb -A -t -q -c "SELECT filename FROM queue_build WHERE suite = 5 AND queue = 0 AND in_queue = true AND filename ~ 'd(sc|eb)$'" > $dbdir/dists/unstable_accepted.list
+ symlinks -d /srv/incoming.debian.org/buildd > /dev/null
+ apt-ftparchive generate apt.conf.buildd
+}
+
+function buildd_dir() {
+ # Rebuilt the buildd dir to avoid long times of 403
+ log "Regenerating the buildd incoming dir"
+ STAMP=$(date "+%Y%m%d%H%M")
+ make_buildd_dir
+}
+
+function mklslar() {
+ cd $ftpdir
+
+ FILENAME=ls-lR
+
+ log "Removing any core files ..."
+ find -type f -name core -print0 | xargs -0r rm -v
+
+ log "Checking permissions on files in the FTP tree ..."
+ find -type f \( \! -perm -444 -o -perm +002 \) -ls
+ find -type d \( \! -perm -555 -o -perm +002 \) -ls
+
+ log "Checking symlinks ..."
+ symlinks -rd .
+
+ log "Creating recursive directory listing ... "
+ rm -f .${FILENAME}.new
+ TZ=UTC ls -lR > .${FILENAME}.new
+
+ if [ -r ${FILENAME}.gz ] ; then
+ mv -f ${FILENAME}.gz ${FILENAME}.old.gz
+ mv -f .${FILENAME}.new ${FILENAME}
+ rm -f ${FILENAME}.patch.gz
+ zcat ${FILENAME}.old.gz | diff -u - ${FILENAME} | gzip --rsyncable -9cfn - >${FILENAME}.patch.gz
+ rm -f ${FILENAME}.old.gz
+ else
+ mv -f .${FILENAME}.new ${FILENAME}
+ fi
+
+ gzip --rsyncable -9cfN ${FILENAME} >${FILENAME}.gz
+ rm -f ${FILENAME}
+}
+
+function mkmaintainers() {
+ log -n 'Creating Maintainers index ... '
+
+ cd $indices
+ dak make-maintainers ${scriptdir}/masterfiles/pseudo-packages.maintainers | \
+ sed -e "s/~[^ ]*\([ ]\)/\1/" | awk '{printf "%-20s ", $1; for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n";}' > .new-maintainers
+
+ set +e
+ cmp .new-maintainers Maintainers >/dev/null
+ rc=$?
+ set -e
+ if [ $rc = 1 ] || [ ! -f Maintainers ] ; then
+ log -n "installing Maintainers ... "
+ mv -f .new-maintainers Maintainers
+ gzip --rsyncable -9v <Maintainers >.new-maintainers.gz
+ mv -f .new-maintainers.gz Maintainers.gz
+ elif [ $rc = 0 ] ; then
+ log '(same as before)'
+ rm -f .new-maintainers
+ else
+ log cmp returned $rc
+ false
+ fi
+}
+
+function scripts() {
+ log "Running various scripts from $scriptsdir"
+ cd $scriptsdir
+ mkmaintainers
+ ./copyoverrides
+ mklslar
+ ./mkfilesindices
+ ./mkchecksums
+}
+
+function mirror() {
+ echo "Regenerating \"public\" mirror/ hardlink fun"
+ cd ${mirrordir}
+ rsync -aH --link-dest ${ftpdir} --exclude Archive_Maintenance_In_Progress --delete --delete-after --ignore-errors ${ftpdir}/. .
+}
+
+function wb() {
+ log "Trigger daily wanna-build run"
+ ssh -o BatchMode=yes -o SetupTimeOut=90 -o ConnectTimeout=90 wbadm@buildd /org/wanna-build/trigger.daily || echo "W-B trigger.daily failed" | mail -s "W-B Daily trigger failed" ftpmaster@ftp-master.debian.org
+}
+
+function expire() {
+ log "Expiring old database dumps..."
+ cd $base/backup
+ $scriptsdir/expire_dumps -d . -p -f "dump_*"
+}
+
+function transitionsclean() {
+ log "Removing out of date transitions..."
+ cd $base
+ dak transitions -c -a
+}