#!/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#