84 lines
3.2 KiB
Bash
84 lines
3.2 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# a little helper for getting permissions right
|
|
setperm() {
|
|
local user="$1"
|
|
local group="$2"
|
|
local mode="$3"
|
|
local file="$4"
|
|
shift 4
|
|
# only do something when no setting exists
|
|
if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then
|
|
chown "$user":"$group" "$file"
|
|
chmod "$mode" "$file"
|
|
fi
|
|
}
|
|
|
|
dpkg-maintscript-helper mv_conffile \
|
|
/etc/icinga/objects/check_mk_templates.cfg \
|
|
/etc/icinga/objects/check_mk/check_mk_templates.cfg \
|
|
1.1.10-2 -- "$@"
|
|
|
|
# older releases (1.1.12p7-1 at least) delivered the multisite conffile to
|
|
# /etc/apache2/conf.d. If it exists we need to move it to conf-available
|
|
# once it's moved then the code below will setup the conf.d symlink.
|
|
# This code wasn't in place until 1.2.6p4-2, so we need to check everything
|
|
# before that.
|
|
dpkg-maintscript-helper mv_conffile \
|
|
/etc/apache2/conf.d/check_mk_multisite.cfg \
|
|
/etc/apache2/conf-available/check_mk_multisite.cfg \
|
|
1.2.6p4-2 -- "$@"
|
|
|
|
if [ -e '/etc/icinga/objects/check_mk_objects.cfg' ];
|
|
then
|
|
echo 'Migrate /etc/icinga/objects/check_mk_objects.cfg to /etc/icinga/objects/check_mk/check_mk_objects.cfg'
|
|
mv /etc/icinga/objects/check_mk_objects.cfg \
|
|
/etc/icinga/objects/check_mk/check_mk_objects.cfg
|
|
fi
|
|
|
|
case "$1" in
|
|
configure)
|
|
#make sure our nagios user exists
|
|
if ! getent passwd nagios > /dev/null ; then
|
|
echo 'Adding system-user for nagios' 1>&2
|
|
adduser --system --group --home /var/lib/nagios \
|
|
--disabled-login --force-badname nagios > /dev/null
|
|
fi
|
|
#fix permissions for some directorys
|
|
test -d /etc/icinga/objects/check_mk || mkdir -p /etc/icinga/objects/check_mk
|
|
setperm root nagios 0775 /etc/icinga/objects/check_mk
|
|
|
|
#handle the apache2.2 -> apache2.4 upgrade (see https://wiki.debian.org/Apache/PackagingFor24)
|
|
CONF="check-mk-multisite"
|
|
COMMON_STATE=$(dpkg-query -f '${Status}' -W 'apache2.2-common' 2>/dev/null | awk '{print $3}' || true)
|
|
|
|
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
|
|
. /usr/share/apache2/apache2-maintscript-helper
|
|
apache2_invoke enconf $CONF || exit $?
|
|
elif [ "$COMMON_STATE" = "installed" ] || [ "$COMMON_STATE" = "unpacked" ] ; then
|
|
if [ -d /etc/apache2/conf.d/ ]; then
|
|
if [ -L /etc/apache2/conf.d/$CONF.conf ]; then
|
|
# it's a symlink, all is well
|
|
true
|
|
elif [ -e /etc/apache2/conf.d/$CONF.conf ]; then
|
|
# it's not a symlink, but exists, error
|
|
echo "ERROR: /etc/apache2/conf.d/$CONF.conf is not a symlink, please investigate" 1>&2
|
|
else
|
|
# we need to create the symlink
|
|
ln -s ../conf-available/$CONF.conf /etc/apache2/conf.d/$CONF.conf
|
|
fi
|
|
fi
|
|
fi
|
|
;;
|
|
abort-upgrade|abort-remove|abort-deconfigure)
|
|
;;
|
|
*)
|
|
echo "postinst called with unknown argument \$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
#DEBHELPER#
|