#!/bin/sh

set -e

setperm() {
    user="$1"
    group="$2"
    mode="$3"
    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
}

case "$1" in
    configure)
        # Make sure user nagios 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

        # Apache2 handling
        COMMON_STATE=$(dpkg-query -f '${Status}' -W 'apache2.2-common' 2>/dev/null | awk '{print $3}' || true)

        # NEW method for Apache >= 2.4
        if [ -e /usr/share/apache2/apache2-maintscript-helper ]; then
            . /usr/share/apache2/apache2-maintscript-helper

            apache2_invoke enmod cgi
            apache2_invoke enconf bp-addon

            # remove OLD Apache 2.2 link
            [ -L /etc/apache2/conf.d/bp-addon.conf ] && rm /etc/apache2/conf.d/bp-addon.conf

            # OLD methods for Apache < 2.4
        elif [ "$COMMON_STATE" = "installed" ] || [ "$COMMON_STATE" = "unpacked" ] ; then

            # create symlink if not existing
            [ -f /etc/apache2/conf.d/bp-addon.conf ] || \
                ln -vs /etc/apache2/conf-available/bp-addon.conf /etc/apache2/conf.d/bp-addon.conf

            if [ -f /etc/init.d/apache2 ] ; then
                if [ -x /usr/sbin/invoke-rc.d ]; then
                    invoke-rc.d apache2 reload 3>/dev/null || true
                else
                    /etc/init.d/apache2 reload 3>/dev/null || true
                fi
            fi
        fi

        # setting cache permissions
        setperm nagios nagios 0750 /var/cache/bp-addon

    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

#DEBHELPER#

exit 0
