60 lines
1.8 KiB
Bash
60 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# summary of how this script can be called:
|
|
# * <prerm> `remove'
|
|
# * <old-prerm> `upgrade' <new-version>
|
|
# * <new-prerm> `failed-upgrade' <old-version>
|
|
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
|
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
|
# <package-being-installed> <version> `removing'
|
|
# <conflicting-package> <version>
|
|
# for details, see https://www.debian.org/doc/debian-policy/ or
|
|
# the debian-policy package
|
|
|
|
set -e # fail on any error
|
|
|
|
PROJECT=armaconsole
|
|
|
|
# SYSTEMCTL CONFIG
|
|
SYSCTL_AMC_SERVICES="amcgunicorn amccelery amccelerybeat amccorrelator amclicense amcchecker amcvector"
|
|
|
|
# ======[ Trap Errors ]======#
|
|
set -E # let shell functions inherit ERR trap
|
|
trap err_handler 1 2 3 15 ERR # Trap non-normal exit signals: 1/HUP, 2/INT, 3/QUIT, 15/TERM, ERR
|
|
# shellcheck disable=SC2128
|
|
function err_handler() {
|
|
local exit_status=${1:-$?}
|
|
logger -s -p "syslog.err" -t "${PROJECT}.deb" \
|
|
"${PROJECT}.deb script '$0' error code $exit_status (line $BASH_LINENO: '$BASH_COMMAND')"
|
|
exit "$exit_status"
|
|
}
|
|
|
|
. /usr/share/debconf/confmodule
|
|
if [ -f /usr/share/dbconfig-common/dpkg/prerm.pgsql ]; then
|
|
. /usr/share/dbconfig-common/dpkg/prerm.pgsql
|
|
dbc_go "${PROJECT}" "$@" || true
|
|
db_stop
|
|
fi
|
|
|
|
DEBUG_INSTALL="${DEBUG_INSTALL:-0}"
|
|
[ "$DEBUG_INSTALL" == "1" ] && set -x
|
|
[ "$DEBUG_INSTALL" == "1" ] && echo "Calling prerm $*"
|
|
|
|
set -u # treat unset variables as errors
|
|
case "$1" in
|
|
remove)
|
|
# shellcheck disable=SC2086
|
|
systemctl stop $SYSCTL_AMC_SERVICES || true
|
|
# shellcheck disable=SC2086
|
|
systemctl disable $SYSCTL_AMC_SERVICES || true
|
|
;;
|
|
upgrade | deconfigure) ;;
|
|
failed-upgrade)
|
|
exit 1
|
|
;;
|
|
*)
|
|
echo "prerm called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
exit 0
|