#!/bin/bash
# No way I try to deal with a crippled sh just for POSIX foo.
-# Copyright (C) 2009 Joerg Jaspert <joerg@debian.org>
+# Copyright (C) 2009-2012 Joerg Jaspert <joerg@debian.org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# exit on errors
set -e
+set -o pipefail
# make sure to only use defined variables
set -u
# ERR traps should be inherited from functions too. (And command
error=${ERR:-"true"}
- STAGEFILE="${stagedir}/${FUNC}"
+ ARGS=${ARGS:-""}
+ STAGEFILE="${stagedir}/${FUNC}_${ARGS}"
+ STAGEFILE=${STAGEFILE// /_}
if [ -f "${STAGEFILE}" ]; then
stamptime=$(/usr/bin/stat -c %Z "${STAGEFILE}")
unixtime=$(date +%s)
lockfile -l 3600 "${LOCK_DAILY}"
trap onerror ERR
-trap cleanup EXIT TERM HUP INT QUIT
+trap remove_daily_lock EXIT TERM HUP INT QUIT
touch "${LOCK_BRITNEY}"
stage $GO
GO=(
- FUNC="merkel1"
+ FUNC="qa1"
TIME="init"
ARGS=""
ERR="false"
stage $GO &
GO=(
- FUNC="pgdump_pre"
+ FUNC="pg_timestamp"
TIME="pg_dump1"
- ARGS=""
+ ARGS="predinstall"
ERR=""
)
stage $GO
lockfile "$LOCK_ACCEPTED"
lockfile "$LOCK_NEW"
+trap remove_all_locks EXIT TERM HUP INT QUIT
GO=(
FUNC="punew"
TIME="p-u-new"
- ARGS="proposedupdates"
+ ARGS="stable-new"
ERR="false"
)
stage $GO
-#GO=(
-# FUNC="opunew"
-# TIME="o-p-u-new"
-# ARGS="oldproposedupdates"
-# ERR="false"
-#)
-#stage $GO
-
GO=(
- FUNC="newstage"
- TIME="newstage"
- ARGS=""
- ERR=""
+ FUNC="opunew"
+ TIME="o-p-u-new"
+ ARGS="oldstable-new"
+ ERR="false"
)
stage $GO
ARGS=""
ERR=""
)
-stage $GO
+#stage $GO
GO=(
FUNC="fingerprints"
ARGS=""
ERR=""
)
-# Careful: When we ever go and remove this monster-long thing, we have to check the backgrounded
-# functions before it. We no longer have a 1.5hour sync point then.
stage $GO
state "dists/"
)
stage $GO
+GO=(
+ FUNC="gitpdiff"
+ TIME="gitpdiff"
+ ARGS=""
+ ERR=""
+)
+#stage $GO
+
GO=(
FUNC="release"
TIME="release files"
)
stage $GO
-GO=(
- FUNC="mkuploaders"
- TIME="mkuploaders"
- ARGS=""
- ERR=""
-)
-stage $GO
-
GO=(
FUNC="copyoverrides"
TIME="copyoverrides"
)
stage $GO
-rm -f "$LOCK_ACCEPTED"
-rm -f "$LOCK_NEW"
-rm -f "${LOCK_DAILY}"
+GO=(
+ FUNC="ddaccess"
+ TIME="ddaccessible sync"
+ ARGS=""
+ ERR="false"
+)
+stage $GO
+
+remove_all_locks
+trap - EXIT TERM HUP INT QUIT
ts "locked part finished"
state "postlock"
stage $GO &
GO=(
- FUNC="pgdump_post"
+ FUNC="pg_timestamp"
TIME="pg_dump2"
- ARGS=""
+ ARGS="postdinstall"
ERR=""
)
-stage $GO &
+stage $GO
GO=(
FUNC="expire"
)
stage $GO &
-GO=(
- FUNC="merkel2"
- TIME="merkel projectb push"
- ARGS=""
- ERR="false"
-)
-stage $GO &
-
GO=(
FUNC="mirrorpush"
TIME="mirrorpush"
rm -f "${LOCK_BRITNEY}"
GO=(
- FUNC="pgdakdev"
- TIME="dak-dev db"
- ARGS=""
- ERR="false"
-)
-stage $GO &
-
-GO=(
- FUNC="merkel3"
- TIME="merkel ddaccessible sync"
- ARGS=""
- ERR="false"
-)
-stage $GO &
-
-GO=(
- FUNC="compress"
- TIME="compress"
+ FUNC="cleantransactions"
+ TIME=""
ARGS=""
ERR=""
)
-stage $GO &
+stage $GO
GO=(
FUNC="aptftpcleanup"
ARGS=""
ERR="false"
)
-stage $GO
+#stage $GO
+
+# we need to wait for the background processes before the end of dinstall
+wait
log "Daily cron scripts successful, all done"