#!/bin/sh
# postinst script for icinga2-common

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
}

is_fresh_install()
{
    if [ -z "$2" ] ; then
        return 0
    fi
    return 1
}

dpkg-maintscript-helper rm_conffile \
   "/etc/bash_completion.d/icinga2" "2.4.1-2~" -- "$@"

case "$1" in
    configure)
        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

        # explicitly set permissions on some files that are dependent
        # on the uid/gid of the nagios user, which is dynamically created.
        setperm nagios nagios 0750 /etc/icinga2
        setperm nagios nagios 0700 /etc/icinga2/pki

        setperm nagios adm 2751 /var/log/icinga2
        setperm nagios adm 2751 /var/log/icinga2/compat
        setperm nagios adm 2755 /var/log/icinga2/compat/archives
        setperm nagios adm 2751 /var/log/icinga2/crash

        setperm nagios nagios 0750 /var/lib/icinga2
        setperm nagios nagios 0750 /var/lib/icinga2/api
        setperm nagios nagios 0750 /var/lib/icinga2/api/log
        setperm nagios nagios 0750 /var/lib/icinga2/api/repository
        setperm nagios nagios 0750 /var/lib/icinga2/api/zones

        setperm nagios www-data 0750 /var/cache/icinga2

        setperm nagios nagios 0750 /var/spool/icinga2
        setperm nagios nagios 0770 /var/spool/icinga2/perfdata
        setperm nagios nagios 0750 /var/spool/icinga2/tmp

    ;;

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

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

init_failed ()
{
    echo "Icinga 2 was unable to start due to configuration errors.";
    echo "Please fix them and manually restart the icinga2 daemon using";
    echo " ´service icinga2 start´";
}

#DEBHELPER#

exit 0
