File: munin-node.postinst

package info (click to toggle)
munin 1.4.5-3+deb6u1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze-lts
  • size: 4,988 kB
  • ctags: 806
  • sloc: perl: 8,936; sh: 3,105; java: 1,754; makefile: 585; python: 143
file content (79 lines) | stat: -rw-r--r-- 2,313 bytes parent folder | download | duplicates (2)
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
#! /bin/sh

set -e

prevver="$2"

add_munin_system_user() {
	if ! getent passwd munin >/dev/null; then
		adduser --group --system --no-create-home --home /var/lib/munin munin
	fi
	# workaround bug (#531021) in xen-tools
	if ! getent group munin >/dev/null; then
		addgroup --system munin
		adduser munin munin
	fi
}

fixperms() {
        dpkg-statoverride --list /var/log/munin >/dev/null || \
		dpkg-statoverride --update --add munin adm 0750 /var/log/munin
        dpkg-statoverride --list /var/lib/munin >/dev/null || \
		dpkg-statoverride --update --add munin munin 0755 /var/lib/munin
        dpkg-statoverride --list /var/lib/munin/plugin-state >/dev/null || \
		dpkg-statoverride --update --add munin munin 0775 /var/lib/munin/plugin-state
	dpkg-statoverride --list /etc/munin/plugin-conf.d >/dev/null || \
		dpkg-statoverride --update --add root munin 0750 /etc/munin/plugin-conf.d
}

init_plugins() {
	TMPFILE=`mktemp /tmp/munin-node.configure.XXXXXXXXXX`
	TMPFILE_STDERR=`mktemp /tmp/munin-node.configure.err.XXXXXXXXXX`
	MUNIN_NODE_CONF_LOG="/var/log/munin/munin-node-configure.log"
	if [ "$prevver" ]; then
		MUNIN_NODE_CMD="munin-node-configure --shell --newer "${prevver%-*}""    
		echo -n "Initializing new plugins.."
	else
		MUNIN_NODE_CMD="munin-node-configure --shell"
		echo -n "Initializing plugins.."
    fi

	# munin-node-conf returns 1 if case of partial plugin autoconf
	# errors. We need to ignore these errors as even one plugin
	# can fail the entire process. See Debian bug #539886 for details.
	$MUNIN_NODE_CMD 2>$TMPFILE_STDERR >$TMPFILE || true
	if [ -f $TMPFILE ]; then
		DATE=`date '+%b %d %T'`
		echo "$DATE - Starting $MUNIN_NODE_CMD" >> $MUNIN_NODE_CONF_LOG
		cat $TMPFILE >> $MUNIN_NODE_CONF_LOG
        if [ -s $TMPFILE_STDERR ]; then
			echo "The following errors were reported by $MUNIN_NODE_CMD" \
			>> $MUNIN_NODE_CONF_LOG 
			cat $TMPFILE_STDERR >> $MUNIN_NODE_CONF_LOG
        fi
		sh < $TMPFILE
	else 
		echo "failed."
	fi
	echo "done."
	rm -f $TMPFILE $TMPFILE_STDERR
	echo -n "Restarting munin-node.."
	invoke-rc.d munin-node restart
}

case "$1" in
	configure)
		add_munin_system_user
		fixperms
		init_plugins
		;;
	abort-upgrade|abort-deconfigure|abort-remove)
		:
		;;
	*)
		echo "Called with unknown argument $1, bailing out."
		exit 1
		;;
esac

#DEBHELPER#