#!/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
set -E
# import the general variable set.
-export SCRIPTVARS=/srv/ftp.debian.org/dak/config/debian/vars
+export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars
. $SCRIPTVARS
########################################################################
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)
touch "${DINSTALLSTART}"
ts "startup"
+DINSTALLBEGIN="$(date -u +"%a %b %d %T %Z %Y (%s)")"
+state "Startup"
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
ARGS=""
ERR="false"
)
-stage $GO &
-
-GO=(
- FUNC="punew"
- TIME="p-u-new"
- ARGS="p-u-new"
- ERR=""
-)
-### TODO: policy-new
-#stage $GO
-
-GO=(
- FUNC="opunew"
- TIME="o-p-u-new"
- ARGS="o-p-u-new"
- ERR=""
-)
-### TODO: policy-new
-#stage $GO
+stage $GO
GO=(
FUNC="i18n1"
ARGS=""
ERR="false"
)
-stage $GO &
+stage $GO
lockfile "$LOCK_ACCEPTED"
-lockfile "$LOCK_NEW"
+trap remove_all_locks EXIT TERM HUP INT QUIT
GO=(
- FUNC="process_unchecked"
- TIME="unchecked"
- ARGS=""
- ERR=""
+ FUNC="punew"
+ TIME="p-u-new"
+ ARGS="stable-new"
+ ERR="false"
+)
+stage $GO
+
+GO=(
+ FUNC="opunew"
+ TIME="o-p-u-new"
+ ARGS="oldstable-new"
+ ERR="false"
)
stage $GO
)
stage $GO
-rm -f "$LOCK_ACCEPTED"
-rm -f "$LOCK_NEW"
+state "indices"
GO=(
- FUNC="msfl"
- TIME="make-suite-file-list"
+ FUNC="dominate"
+ TIME="dominate"
ARGS=""
ERR=""
)
ARGS=""
ERR=""
)
-stage $GO
+#stage $GO
GO=(
FUNC="fingerprints"
ARGS=""
ERR="false"
)
-stage $GO &
+stage $GO
GO=(
FUNC="overrides"
)
stage $GO
+state "packages/contents"
GO=(
FUNC="packages"
TIME="apt-ftparchive"
)
stage $GO
+state "dists/"
GO=(
FUNC="pdiff"
TIME="pdiff"
)
stage $GO
+GO=(
+ FUNC="gitpdiff"
+ TIME="gitpdiff"
+ ARGS=""
+ ERR=""
+)
+#stage $GO
+
GO=(
FUNC="release"
TIME="release files"
ARGS=""
ERR=""
)
-### TODO: clean-* fixup
-#stage $GO
+stage $GO
GO=(
FUNC="buildd_dir"
)
stage $GO
+state "scripts"
+GO=(
+ FUNC="mkmaintainers"
+ TIME="mkmaintainers"
+ ARGS=""
+ ERR=""
+)
+stage $GO
+
+GO=(
+ FUNC="copyoverrides"
+ TIME="copyoverrides"
+ ARGS=""
+ ERR=""
+)
+stage $GO
+
+GO=(
+ FUNC="mklslar"
+ TIME="mklslar"
+ ARGS=""
+ ERR=""
+)
+stage $GO
+
GO=(
- FUNC="scripts"
- TIME="scripts"
+ FUNC="mkfilesindices"
+ TIME="mkfilesindices"
+ ARGS=""
+ ERR=""
+)
+stage $GO
+
+GO=(
+ FUNC="mkchecksums"
+ TIME="mkchecksums"
ARGS=""
ERR=""
)
stage $GO
GO=(
- FUNC="wb"
- TIME="w-b"
+ FUNC="ddaccess"
+ TIME="ddaccessible sync"
ARGS=""
- ERR=""
+ ERR="false"
)
-stage $GO &
+stage $GO
-rm -f "${LOCK_DAILY}"
+remove_all_locks
+trap - EXIT TERM HUP INT QUIT
ts "locked part finished"
+state "postlock"
GO=(
- FUNC="pgdump_post"
- TIME="pg_dump2"
+ FUNC="changelogs"
+ TIME="changelogs"
ARGS=""
- ERR=""
+ ERR="false"
)
stage $GO &
GO=(
- FUNC="expire"
- TIME="expire_dumps"
- ARGS=""
+ FUNC="pg_timestamp"
+ TIME="pg_dump2"
+ ARGS="postdinstall"
ERR=""
)
-stage $GO &
+stage $GO
GO=(
- FUNC="transitionsclean"
- TIME="transitionsclean"
+ FUNC="expire"
+ TIME="expire_dumps"
ARGS=""
ERR=""
)
stage $GO &
GO=(
- FUNC="reports"
- TIME="reports"
+ FUNC="transitionsclean"
+ TIME="transitionsclean"
ARGS=""
ERR=""
)
)
stage $GO &
-GO=(
- FUNC="merkel2"
- TIME="merkel projectb push"
- ARGS=""
- ERR="false"
-)
-stage $GO &
-
GO=(
FUNC="mirrorpush"
TIME="mirrorpush"
ARGS=""
ERR="false"
)
-stage $GO
+stage $GO &
GO=(
FUNC="i18n2"
ARGS=""
ERR="false"
)
-stage $GO
+stage $GO &
GO=(
FUNC="stats"
ARGS=""
ERR="false"
)
-stage $GO
-
-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 &
+rm -f "${LOCK_BRITNEY}"
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"
ERR="false"
)
stage $GO
+state "all done"
# Now, at the very (successful) end of dinstall, make sure we remove