# Cleanup actions
function cleanup() {
- savelog -c ${LOGROTATE} -j "$LOGFILE"
rm -f ${LOCK_DAILY}
+ rm -f ${LOCK_ACCEPTED}
}
# Setup the notice file to tell bad mirrors they used the wrong time
# Process the accepted queue
function accepted() {
log "Processing queue/accepted"
- cd "$accepted"
- rm -f REPORT
- dak process-accepted -pa *.changes | tee REPORT | \
- mail -s "Install for $(date +"%D - %R")" ftpmaster@ftp-master.debian.org
+ rm -f "$accepted/REPORT"
+ dak process-accepted -pa -d "$accepted" > "$accepted/REPORT"
+ cat REPORT | mail -s "Install for $(date +"%D - %R")" ftpmaster@ftp-master.debian.org
chgrp debadmin REPORT
chmod 664 REPORT
}
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
+ find ./i18n -mindepth 1 -maxdepth 1 -mtime +2 -not -name "${STAMP}" -type d -print0 | xargs --no-run-if-empty -0 rm -rf
}
function stats() {
# it has to cd first!
cd ${configdir}
+ if [ -f "${LOCK_STOP}" ]; then
+ log "${LOCK_STOP} exists, exiting immediately"
+ exit 42
+ fi
+
if [ "${ERR}" = "false" ]; then
set +e
fi
touch "${stagedir}/${FUNC}"
+ if [ -f "${LOCK_STOP}" ]; then
+ log "${LOCK_STOP} exists, exiting immediately"
+ exit 42
+ fi
+
if [ -n "${TIME}" ]; then
ts "${TIME}"
fi
# from our point of view
LOCK_BRITNEY="$lockdir/britney.lock"
+# If this file exists we exit immediately after the currently running
+# function is done
+LOCK_STOP="$lockdir/archive.stop"
+
lockfile -l 3600 "${LOCK_DAILY}"
trap cleanup EXIT ERR TERM HUP INT QUIT
FUNC="updates"
TIME="External Updates"
ARGS=""
- ERR=""
+ ERR="false"
)
stage $GO
)
stage $GO
-rm -f $LOCKAC
+rm -f "$LOCK_ACCEPTED"
GO=(
FUNC="msfl"
)
stage $GO
-rm -f ${BRITNEYLOCK}
+rm -f ${LOCK_BRITNEY}
GO=(
FUNC="aptftpcleanup"
cat "$LOGFILE" | mail -s "Log for dinstall run of ${NOW}" cron@ftp-master.debian.org
+savelog -c ${LOGROTATE} -j "$LOGFILE"
+
# Now, at the very (successful) end of dinstall, make sure we remove
# our stage files, so the next dinstall run will do it all again.
rm -f "${stagedir}/*"