This file is indexed.

postinst is in nagios3-cgi 3.5.1-1ubuntu1.

This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/bin/bash

set -e

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

. /usr/share/debconf/confmodule

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

# location of the default apache configuration for nagios.
apacheconf=$en/apache2.conf
# location of the default htpasswd authentication file.
htpw=$en/htpasswd.users

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

	db_get nagios3/adminpassword
	admpass="$RET"

	# register apache2.conf via ucf:
	ucf --debconf-ok /usr/share/nagios3-cgi/apache2.conf $apacheconf

   echo "enabling Apache2 config..."

   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 nagios3

       # remove OLD Apache 2.2 link
       [ -L /etc/apache2/conf.d/nagios3.conf ] && rm /etc/apache2/conf.d/nagios3.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/nagios3.conf ] || ln -vs $apacheconf /etc/apache2/conf.d/nagios3.conf

       # reload webserver
       [ -x $(which invoke-rc.d) ] && invoke-rc.d apache2 reload
   fi

	# we reset the password every run, so if it exists we're running
	# after being specifically given a password and can unconditionally set it.
	# XXX there's no way of setting the pw w/out giving it on the cmdline? wtf?
	if [ -n "$admpass" ]; then
		touch "$htpw"
		htpasswd -b "$htpw" nagiosadmin "$admpass"
	fi

	# everything went well, so now let's reset the password
	db_set nagios3/adminpassword ""
	db_set nagios3/adminpassword-repeat ""
	# ... done with debconf here
	db_stop
    ;;
  abort-upgrade|abort-remove|abort-deconfigure)
    ;;
  *)
    echo "postinst called with unknown argument \$1'" >&2
    exit 1
    ;;
esac