#!/bin/bash

set -e

# some shorthands for sanity
en="/etc/nagios4"
enc="/etc/nagios4/conf.d"
usn="/usr/share/nagios4"

. /usr/share/debconf/confmodule

if [ -n "$NAG4DEBUG" ]; then
  echo "now debugging $0 $@"
  set -x
fi

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
}

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 root nagios 0640 $en/resource.cfg
        setperm nagios adm 2751 /var/log/nagios4
        setperm nagios adm 2751 /var/log/nagios4/archives
        setperm nagios nagios 0750 /var/run/nagios4
        setperm nagios nagios 0750 /var/lib/nagios4
	setperm nagios nagios 0750 /var/lib/nagios4/spool
	setperm nagios nagios 0750 /var/lib/nagios4/spool/checkresults
        setperm nagios www-data 02750 /var/cache/nagios4
        setperm nagios www-data 0700 /var/lib/nagios4/rw

	db_stop
    ;;
  abort-upgrade|abort-remove|abort-deconfigure)
    ;;
  *)
    echo "postinst called with unknown argument \$1'" >&2
    exit 1
    ;;
esac

#DEBHELPER#