--- /dev/null
+--- munin-1.4.0/Makefile~ 2009-11-27 12:17:18.000000000 +0100
++++ munin-1.4.0/Makefile 2009-11-30 14:33:15.977700738 +0100
+@@ -77,6 +77,7 @@
+ mkdir -p $(CONFDIR)/munin-conf.d
+ mkdir -p $(LIBDIR)
+ mkdir -p $(BINDIR)
++ mkdir -p $(SBINDIR)
+ mkdir -p $(PERLLIB)
+ mkdir -p $(PERLLIB)/Munin/Master
+ mkdir -p $(HTMLDIR)
+@@ -99,8 +100,8 @@
+ test -f $(HTMLDIR)/.htaccess || $(INSTALL) -m 0644 build/master/www/munin-htaccess $(HTMLDIR)/.htaccess
+ test -f "$(CONFDIR)/munin.conf" || $(INSTALL) -m 0644 build/master/munin.conf $(CONFDIR)/
+
+- $(INSTALL) -m 0755 build/master/_bin/munin-cron $(BINDIR)/
+- $(INSTALL) -m 0755 build/master/_bin/munin-check $(BINDIR)/
++ $(INSTALL) -m 0755 build/master/_bin/munin-cron $(SBINDIR)/
++ $(INSTALL) -m 0755 build/master/_bin/munin-check $(LIBDIR)/
+ $(INSTALL) -m 0755 build/master/_bin/munin-update $(LIBDIR)/
+ $(INSTALL) -m 0755 build/master/_bin/munin-graph $(LIBDIR)/
+ $(INSTALL) -m 0755 build/master/_bin/munin-html $(LIBDIR)/
+--- munin-1.4.0/Makefile.config~ 2009-11-27 12:17:18.000000000 +0100
++++ munin-1.4.0/Makefile.config 2009-11-30 14:32:28.827763277 +0100
+@@ -17,10 +17,10 @@
+ #
+ # the base of the Munin installation.
+ #
+-PREFIX = $(DESTDIR)/opt/munin
++PREFIX = $(DESTDIR)/usr
+
+ # Where Munin keeps its configurations (server.conf, client.conf, ++)
+-CONFDIR = $(DESTDIR)/etc/opt/munin
++CONFDIR = $(DESTDIR)/etc/munin
+
+ # Server only - where to put munin-cron
+ BINDIR = $(PREFIX)/bin
+@@ -32,31 +32,31 @@
+ DOCDIR = $(PREFIX)/doc
+
+ # Where to put man pages
+-MANDIR = $(PREFIX)/man
++MANDIR = $(PREFIX)/share/man
+
+ # Where to put internal binaries and plugin repository
+-LIBDIR = $(PREFIX)/lib
++LIBDIR = $(PREFIX)/share/munin
+
+ # Server only - Output directory
+-HTMLDIR = $(PREFIX)/www/docs
+-CGIDIR = $(PREFIX)/www/cgi
++HTMLDIR = $(DESTDIR)/var/lib/munin/html
++CGIDIR = $(LIBDIR)/cgi
+
+ # Where to put internal data for master (RRD, internal files, ...)
+-DBDIR = $(DESTDIR)/var/opt/munin
++DBDIR = $(DESTDIR)/var/lib/munin/db
+
+ # Where to put internal data for node (plugin state, ...)
+-DBDIRNODE = $(DESTDIR)/var/opt/munin-node
++DBDIRNODE = $(DESTDIR)/var/lib/munin/db-node
+
+ # Client only - Where the spool files are written. Must be writable by
+ # group "munin", and should be preserved between reboots
+-SPOOLDIR = $(DBDIR)/spool
++SPOOLDIR = $(DESTDIR)/var/spool/munin
+
+ # Client only - Where plugins should put their states. Must be writable by
+ # group "munin", and should be preserved between reboots
+-PLUGSTATE = $(DBDIRNODE)/plugin-state
++PLUGSTATE = $(DESTDIR)/var/lib/munin/plugin-state
+
+ # Where Munin should place its logs.
+-LOGDIR = $(PREFIX)/log/munin
++LOGDIR = $(DESTDIR)/var/log/munin
+
+ # Location of PID files and other statefiles. On the server, must be
+ # writable by the user "munin".
+@@ -98,7 +98,7 @@
+ BASH := /bin/bash
+
+ # Server only - Where to install the perl libraries
+-PERLSITELIB := $(shell $(PERL) -V:sitelib | cut -d"'" -f2)
++PERLSITELIB := $(shell $(PERL) -V:vendorlib | cut -d"'" -f2)
+ PERLLIB = $(DESTDIR)$(PERLSITELIB)
+
+ # Client only - Install plugins for this architecture
+@@ -106,7 +106,7 @@
+
+ # How to figure out the hostname. (Only used in default configuration
+ # files)
+-HOSTNAME := $(shell hostname)
++HOSTNAME := localhost
+
+ # What is the safest way to create a tempfile.
+ # Default is to figure it out by testing various methods.
+@@ -126,9 +126,9 @@
+ # Which command to use to check if the USER and GROUP to run Munin as, exists.
+ # These will work on most modern OSes:
+ #
+-GETENT := $(shell which getent || which true 2>/dev/null)
+-CHECKUSER := $(shell $(GETENT) passwd $(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2"))
+-CHECKGROUP := $(shell $(GETENT) group $(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2"))
++GETENT := /bin/true
++CHECKUSER := /bin/true
++CHECKGROUP := /bin/true
+
+ # For OSX, comment out the previous two lines and comment in these
+ #
+@@ -146,9 +146,9 @@
+ #CHECKUSER := $(shell pwget -n $(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistent. Create the user and retry; exit 2"))
+ #CHECKGROUP := $(shell grget -n $(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistent. Create the group and retry; exit 2"))
+
+-CHOWN := chown
+-CHMOD := chmod
+-CHGRP := chgrp
++CHOWN := /bin/true
++CHMOD := /bin/true
++CHGRP := /bin/true
+
+ # Java compiler stuff - only needed on the buildhost
+ JC := javac
--- /dev/null
+Alias /munin/static /etc/webapps/munin/templates/static
+
+<Directory /etc/webapps/munin/templates/static>
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+</Directory>
+
+# Configuration for 'html_strategy cgi'
+#ScriptAlias /munin /usr/share/munin/cgi/munin-cgi-html
+
+ScriptAlias /munin-cgi/munin-cgi-graph /usr/share/munin/cgi/munin-cgi-graph
+
+# Ensure we can run (fast)cgi scripts
+<Directory /usr/share/munin/cgi>
+ Options +ExecCGI
+ <IfModule mod_fcgid.c>
+ SetHandler fcgid-script
+ </IfModule>
+ <IfModule mod_fastcgi.c>
+ SetHandler fastcgi-script
+ </IfModule>
+ <IfModule !mod_fastcgi.c>
+ <IfModule !mod_fcgid.c>
+ SetHandler cgi-script
+ </IfModule>
+ </IfModule>
+
+ AllowOverride None
+
+ Order allow,deny
+ Allow from all
+# OR
+ # Make Munin password protected
+# AuthUserFile /etc/webapps/munin/htpasswd
+# AuthName "Munin"
+# AuthType Basic
+# require valid-user
+</Directory>
+
+# Configuration for 'html_strategy cron' (default)
+Alias /munin /var/lib/munin/html/
+
+<Directory /var/lib/munin/html>
+ AllowOverride None
+
+ Order allow,deny
+ Allow from all
+# OR
+ # Make Munin password protected
+# AuthUserFile /etc/webapps/munin/htpasswd
+# AuthName "Munin"
+# AuthType Basic
+# require valid-user
+
+ <IfModule mod_expires>
+ # Set the default expiery time for files 5 minutes 10 seconds
+ # from their creation (modification) time.
+ # There are probably new files by that time.
+
+ ExpiresActive On
+ ExpiresDefault M310
+ </IfModule>
+</Directory>
--- /dev/null
+#!/bin/sh
+#
+# munin-asyncd Start/Stop the munin-asyncd daemon.
+#
+# chkconfig: 2345 91 09
+# description: munin-asyncd enables asyncronous fetching of
+# metrics from munin-node in a Munin monitoring setup.
+#
+# processname: munin-asyncd
+# pidfile: /var/run/munin-asyncd.pid
+#
+### BEGIN INIT INFO
+# Provides: munin-asyncd
+# Required-Start: $local_fs $remote_fs $network
+# Required-Stop: $local_fs $remote_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Starts and stops munin-asyncd
+# Description: munin-asyncd enables asyncronous fetching of
+# metrics from munin-node in a Munin monitoring setup.
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+start() {
+ # Check if the service is already running?
+ if [ -f /var/lock/subsys/munin-asyncd ]; then
+ msg_already_running "munin-asyncd"
+ return
+ fi
+
+ msg_starting "munin-asyncd"
+ daemon /usr/sbin/munin-asyncd
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/munin-asyncd
+}
+
+stop() {
+ if [ ! -f /var/lock/subsys/munin-asyncd ]; then
+ msg_not_running "munin-asyncd"
+ return
+ fi
+
+ msg_stopping "munin-asyncd"
+ killproc munin-asyncd
+ rm -f /var/lock/subsys/munin-asyncd
+}
+
+condrestart() {
+ if [ ! -f /var/lock/subsys/munin-asyncd ]; then
+ msg_not_running "munin-asyncd"
+ RETVAL=$1
+ return
+ fi
+
+ stop
+ start
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload|force-reload)
+ stop
+ start
+ ;;
+ try-restart)
+ condrestart 0
+ ;;
+ status)
+ status --pidfile /var/run/munin-asyncd.pid munin-asyncd
+ exit $?
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
+ exit 3
+esac
+
+exit $RETVAL
--- /dev/null
+[Unit]
+Description=Munin Async Server
+Documentation=man:munin-node
+Requires=munin-node.service
+After=network.target munin-node.service
+
+[Service]
+Type=simple
+ExecStart=/usr/sbin/munin-asyncd
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+Alias /munin/static /etc/webapps/munin/templates/static
+
+<Directory /etc/webapps/munin/templates/static>
+ AllowOverride None
+ Require all granted
+</Directory>
+
+# Configuration for 'html_strategy cgi'
+#ScriptAlias /munin /usr/share/munin/cgi/munin-cgi-html
+
+ScriptAlias /munin-cgi/munin-cgi-graph /usr/share/munin/cgi/munin-cgi-graph
+
+# Ensure we can run (fast)cgi scripts
+<Directory /usr/share/munin/cgi>
+ Options +ExecCGI
+ <IfModule mod_fcgid.c>
+ SetHandler fcgid-script
+ </IfModule>
+ <IfModule mod_fastcgi.c>
+ SetHandler fastcgi-script
+ </IfModule>
+ <IfModule !mod_fastcgi.c>
+ <IfModule !mod_fcgid.c>
+ SetHandler cgi-script
+ </IfModule>
+ </IfModule>
+
+ AllowOverride None
+
+ Require all granted
+# OR
+ # Make Munin password protected
+# AuthUserFile /etc/webapps/munin/htpasswd
+# AuthName "Munin"
+# AuthType Basic
+# require valid-user
+</Directory>
+
+# Configuration for 'html_strategy cron' (default)
+Alias /munin /var/lib/munin/html/
+
+<Directory /var/lib/munin/html>
+ AllowOverride None
+
+ Require all granted
+# OR
+ # Make Munin password protected
+# AuthUserFile /etc/webapps/munin/htpasswd
+# AuthName "Munin"
+# AuthType Basic
+# require valid-user
+
+ <IfModule mod_expires>
+ # Set the default expiery time for files 5 minutes 10 seconds
+ # from their creation (modification) time.
+ # There are probably new files by that time.
+
+ ExpiresActive On
+ ExpiresDefault M310
+ </IfModule>
+</Directory>
--- /dev/null
+alias.url += (
+ "/munin/" => "/var/lib/munin/html/",
+ "/munin-cgi" => "/usr/share/munin/cgi/",
+)
+
+#$HTTP["url"] =~ "^/munin/" {
+# # Make Munin password protected
+# auth.backend = "htpasswd"
+# auth.backend.htpasswd.userfile = "/etc/webapps/munin/htpasswd"
+#
+# auth.require += (
+# "/" => (
+# "method" => "basic",
+# "realm" => "Munin",
+# "require" => "valid-user"
+# )
+# )
+#)
+
+# vim:ts=4
--- /dev/null
+#! /bin/sh
+#
+# munin-node Control the Munin Node Server (formerly Linpro RRD client)
+#
+# chkconfig: 2345 90 10
+# description: munin node agents
+# processname: munin-node
+# config: /etc/munin/munin-node.conf
+# pidfile: /var/run/munin/munin-node.pid
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+RETVAL=0
+PROCNAME=munin-node
+
+mkdir -p /var/run/munin 2>/dev/null
+chown munin /var/run/munin
+
+# See how we were called.
+case "$1" in
+ start)
+ if [ ! -f /var/lock/subsys/munin-node ]; then
+ msg_starting "Munin Node"
+ daemon --fork --waitfortime 3 --waitforname munin-node munin-node
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/munin-node
+ else
+ msg_already_running "Munin Node"
+ fi
+ ;;
+ stop)
+ if [ -f /var/lock/subsys/munin-node ]; then
+ msg_stopping "Munin Node"
+ killproc munin-node
+ RETVAL=$?
+ rm -f /var/lock/subsys/munin-node >/dev/null 2>/dev/null
+ else
+ msg_not_running "Munin Node"
+ fi
+ ;;
+ status)
+ status munin-node
+ exit $?
+ ;;
+ restart|reload)
+ $0 stop
+ $0 start
+ exit $?
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|restart}"
+ exit 1
+esac
+
+exit $RETVAL
--- /dev/null
+/var/log/munin/munin-node.log {
+ su root http
+ olddir /var/log/archive/munin
+ create 640 munin root
+ postrotate
+ /bin/killall -q -HUP munin-node
+ endscript
+}
--- /dev/null
+[Unit]
+Description=Munin Node Server
+Documentation=man:munin-node
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/munin/munin-node.pid
+ExecStart=/usr/sbin/munin-node
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+diff -urN munin-2.0.17/dists/tarball/plugins.conf munin-2.0.17-plugins/dists/tarball/plugins.conf
+--- munin-2.0.17/dists/tarball/plugins.conf 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/dists/tarball/plugins.conf 2013-08-17 13:18:51.817585940 +0200
+@@ -14,6 +14,9 @@
+ #
+ #
+
++[*]
++env.logtail /usr/bin/logtail
++
+ [mysql*]
+ #env.mysqlopts -u someuser
+
+@@ -31,3 +34,128 @@
+
+ [postfix*]
+ user root
++env.logdir /var/log
++env.logfile maillog
++
++[netstat]
++group proc
++
++[amavis*]
++user root
++env.amavislog /var/log/maillog
++env.logfile /var/log/maillog
++
++[courier*]
++user root
++env.logfile /var/log/maillog
++
++[mailman]
++user mailman
++group (mailman)
++
++[bind9_rndc]
++group (named)
++env.querystats /var/lib/named/named.stats
++
++[squid*]
++group (squid)
++#env.squidport 3128
++#env.squiduser manager
++#env.squidpasswd <SECRET>
++
++[fw*]
++group proc
++
++[if*]
++group proc
++
++[dhcpd3]
++user root
++env.leasefile /var/lib/dhcpd/dhcpd.leases
++env.configfile /etc/dhcpd.conf
++
++[ip_*]
++user root
++
++[munin*]
++user munin
++
++[ping_*]
++group adm
++
++[port_*]
++group proc
++
++[processes]
++group proc
++
++[ps_*]
++group proc
++
++[psu_*]
++group proc
++
++[nfs*]
++group proc
++
++[entropy]
++group proc
++
++[open_*]
++group proc
++
++[nut*]
++env.upsname SmartUPS
++env.upshost 127.0.0.1
++
++[df*]
++#user root # if you have mode 0000 /vservers dir
++group proc
++
++# Sane defaults for plugins from MuninExchange
++
++[apache_smaps]
++#user root # if you have kernel with grsecurity
++group proc
++env.pname httpd.prefork
++env.puser http
++
++[dovecot]
++user root
++env.logfile /var/log/maillog
++
++[php_eaccelerator]
++env.user admin
++env.password eAccelerator
++env.url http://127.0.0.1/eaccelerator/control.php
++
++[proftpd*]
++user root
++env.logfile /var/log/xferlog
++
++[vsftpd*]
++user root
++env.logfile /var/log/vsftpd.log
++
++[postgrey*]
++user root
++env.logfile /var/log/maillog
++
++[nagiosstatus]
++user root
++env.statuslog /var/lib/nagios/status.dat
++
++[freeradius]
++user root
++env.radius_log /var/log/freeradius/radius.log
++
++[ipmitool_sensor*]
++user root
++timeout 20
++
++[openvpn_clients]
++user root
++env.logfile /var/log/openvpn/status.log
++
++[cupsys_pages]
++user root
+diff -urN munin-2.0.17/plugins/node.d/amavis.in munin-2.0.17-plugins/plugins/node.d/amavis.in
+--- munin-2.0.17/plugins/node.d/amavis.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/amavis.in 2013-08-17 13:18:51.820919315 +0200
+@@ -77,13 +77,12 @@
+ =cut
+
+ mktempfile () {
+- cmd=`echo $MUNIN_MKTEMP | sed s/\\$1/$1/`
+- $cmd
++ mktemp -p /tmp/ $1
+ }
+
+ AMAVIS_LOG=${amavislog:-/var/log/mail/mail.info}
+ LOGTAIL=${logtail:-logtail}
+-STATEFILE=$MUNIN_PLUGSTATE/amavis.offset
++STATEFILE=@@PLUGSTATE@@/amavis.offset
+
+ if [ "$1" = "autoconf" ]; then
+ if [ -f "${AMAVIS_LOG}" -a -n "${LOGTAIL}" -a -x "${LOGTAIL}" ] ; then
+@@ -106,7 +105,7 @@
+
+ if [ "$1" = "config" ]; then
+ echo 'graph_title Amavis filter statistics'
+- echo 'graph_vlabel \#'
++ echo 'graph_vlabel mails'
+ echo 'graph_category antivirus'
+ echo 'virus.label virus'
+ echo 'virus.info Number of viruses caught in email'
+@@ -124,7 +123,7 @@
+ spamm=U
+ spams=U
+
+-TEMP_FILE=$(mktempfile munin-amavis.XXXXXX)
++TEMP_FILE=$(mktempfile munin-amavis.XXXXXXXXXX)
+
+ if [ -n "$TEMP_FILE" -a -f "$TEMP_FILE" ]
+ then
+diff -urN munin-2.0.17/plugins/node.d/apache_accesses.in munin-2.0.17-plugins/plugins/node.d/apache_accesses.in
+--- munin-2.0.17/plugins/node.d/apache_accesses.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/apache_accesses.in 2013-08-17 13:18:51.817585940 +0200
+@@ -89,6 +89,7 @@
+
+ my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://127.0.0.1:%d/server-status?auto";
+ my @PORTS = exists $ENV{'ports'} ? split(' ', $ENV{'ports'}) : (80);
++my $HOST = exists $ENV{'host'} ? $ENV{'host'} : undef;
+
+ if ( defined $ARGV[0] and $ARGV[0] eq "autoconf" )
+ {
+@@ -129,7 +130,11 @@
+
+ if ( defined $ARGV[0] and $ARGV[0] eq "config" )
+ {
+- print "graph_title Apache accesses\n";
++ print "graph_title Apache accesses";
++ if ( $HOST ) {
++ print " for $HOST";
++ }
++ print "\n";
+ print "graph_args --base 1000\n";
+ print "graph_vlabel accesses / \${graph_period}\n";
+ print "graph_category apache\n";
+diff -urN munin-2.0.17/plugins/node.d/apache_processes.in munin-2.0.17-plugins/plugins/node.d/apache_processes.in
+--- munin-2.0.17/plugins/node.d/apache_processes.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/apache_processes.in 2013-08-17 13:18:51.817585940 +0200
+@@ -96,6 +96,7 @@
+
+ my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://127.0.0.1:%d/server-status?auto";
+ my @PORTS = exists $ENV{'ports'} ? split(' ', $ENV{'ports'}) : (80);
++my $HOST = exists $ENV{'host'} ? $ENV{'host'} : undef;
+ my $SHOWFREE = !exists $ENV{'showfree'} || $ENV{'showfree'};
+
+ if ( defined $ARGV[0] and $ARGV[0] eq "autoconf" )
+@@ -136,7 +137,11 @@
+
+ if ( defined $ARGV[0] and $ARGV[0] eq "config" )
+ {
+- print "graph_title Apache processes\n";
++ print "graph_title Apache processes";
++ if ( $HOST ) {
++ print " for $HOST";
++ }
++ print "\n";
+ print "graph_args --base 1000 -l 0\n";
+ print "graph_category apache\n";
+ print "graph_order ";
+diff -urN munin-2.0.17/plugins/node.d/apache_volume.in munin-2.0.17-plugins/plugins/node.d/apache_volume.in
+--- munin-2.0.17/plugins/node.d/apache_volume.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/apache_volume.in 2013-08-17 13:18:51.817585940 +0200
+@@ -89,6 +89,7 @@
+
+ my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://127.0.0.1:%d/server-status?auto";
+ my @PORTS = exists $ENV{'ports'} ? split(' ', $ENV{'ports'}) : (80);
++my $HOST = exists $ENV{'host'} ? $ENV{'host'} : undef;
+
+ if ( defined $ARGV[0] and $ARGV[0] eq "autoconf" )
+ {
+@@ -129,7 +130,11 @@
+
+ if ( defined $ARGV[0] and $ARGV[0] eq "config" )
+ {
+- print "graph_title Apache volume\n";
++ print "graph_title Apache volume";
++ if ( $HOST ) {
++ print " for $HOST";
++ }
++ print "\n";
+ print "graph_args --base 1000\n";
+ print "graph_vlabel bytes per \${graph_period}\n";
+ print "graph_category apache\n";
+diff -urN munin-2.0.17/plugins/node.d/bind9.in munin-2.0.17-plugins/plugins/node.d/bind9.in
+--- munin-2.0.17/plugins/node.d/bind9.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/bind9.in 2013-08-17 13:18:51.820919315 +0200
+@@ -53,7 +53,7 @@
+ use strict;
+
+ my $QUERYLOG = $ENV{logfile} || '/var/log/bind9/query.log';
+-my $STATEFILE= "$ENV{MUNIN_PLUGSTATE}/bind9.state";
++my $STATEFILE= "@@PLUGSTATE@@/bind9.state";
+
+ my $OTHER=0;
+ my %IN;
+@@ -63,7 +63,7 @@
+ open(Q, ">", $STATEFILE);
+ close(Q);
+ }
+- open(Q,"< $STATEFILE") or die ("Cannot open state file");
++ open(Q,"< $STATEFILE") or return ("Cannot open state file");
+ while (<Q>) {
+ chomp;
+ my ($q,$n) = split(/\s+/,$_,2);
+diff -urN munin-2.0.17/plugins/node.d/courier_.in munin-2.0.17-plugins/plugins/node.d/courier_.in
+--- munin-2.0.17/plugins/node.d/courier_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/courier_.in 2013-08-17 13:18:51.817585940 +0200
+@@ -55,7 +55,7 @@
+ COURIER_LOG=${logfile:-/var/log/mail.log}
+ SERVICE=${service:-`basename $0 | sed 's/^courier_//g'`}
+ OFFSET_FILE=${MUNIN_PLUGSTATE}/courier_${SERVICE}.offset
+-LOGTAIL=${logtail:-/usr/sbin/logtail}
++LOGTAIL=${logtail:-`which logtail`}
+
+ mktempfile () {
+ @@MKTEMP@@
+diff -urN munin-2.0.17/plugins/node.d/courier_mta_mailstats.in munin-2.0.17-plugins/plugins/node.d/courier_mta_mailstats.in
+--- munin-2.0.17/plugins/node.d/courier_mta_mailstats.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/courier_mta_mailstats.in 2013-08-17 13:18:51.817585940 +0200
+@@ -108,7 +108,9 @@
+
+ if($startsize < $pos) {
+ # Log rotated
+- parseLogfile ($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ if (-f $rotlogfile) {
++ parseLogfile ($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ }
+ $pos = 0;
+ }
+
+diff -urN munin-2.0.17/plugins/node.d/courier_mta_mailvolume.in munin-2.0.17-plugins/plugins/node.d/courier_mta_mailvolume.in
+--- munin-2.0.17/plugins/node.d/courier_mta_mailvolume.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/courier_mta_mailvolume.in 2013-08-17 13:18:51.817585940 +0200
+@@ -98,7 +98,9 @@
+
+ if($startsize < $pos) {
+ # Log rotated
+- parseLogfile ($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ if (-f $rotlogfile) {
++ parseLogfile ($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ }
+ $pos = 0;
+ }
+
+diff -urN munin-2.0.17/plugins/node.d/cupsys_pages.in munin-2.0.17-plugins/plugins/node.d/cupsys_pages.in
+--- munin-2.0.17/plugins/node.d/cupsys_pages.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/cupsys_pages.in 2013-08-17 13:18:51.817585940 +0200
+@@ -100,7 +100,9 @@
+ }
+ if ($startsize < $pos) {
+ # Log rotated
+- parselogfile ($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ if (-f $rotlogfile) {
++ parselogfile ($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ }
+ $pos = 0;
+ }
+
+@@ -146,7 +148,7 @@
+ while (tell(LOGFILE) < $stop) {
+ my $line = <LOGFILE>;
+ chomp ($line);
+- if ($line =~ /^(\S+)\s+\S+\s+\d+\s+\[[^\]]+\]\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)/) {
++ if ($line =~ /^(\S+)\s+\S+\s+\S+\s+\[[^\]]+\]\s+(\d+)\s+(\d+)\s+(.+)$/) {
+ if(!defined($printers{$1}) && keys(%printers) < $MAXLABEL) {
+ $printers{$1} += int($2)*int($3);
+ } elsif(defined($printers{$1})) {
+diff -urN munin-2.0.17/plugins/node.d/foldingathome_rank.in munin-2.0.17-plugins/plugins/node.d/foldingathome_rank.in
+--- munin-2.0.17/plugins/node.d/foldingathome_rank.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/foldingathome_rank.in 2013-08-17 13:18:51.820919315 +0200
+@@ -13,7 +13,7 @@
+ #%# family=contrib
+ #%# capabilities=autoconf
+
+-statefile=$MUNIN_PLUGSTATE/plugin-fah_rank.state
++statefile=@@PLUGSTATE@@/plugin-fah_rank.state
+
+ if [ "$1" = "autoconf" ]; then
+ # No real check of anything
+diff -urN munin-2.0.17/plugins/node.d/mailman.in munin-2.0.17-plugins/plugins/node.d/mailman.in
+--- munin-2.0.17/plugins/node.d/mailman.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/mailman.in 2013-08-17 13:18:51.817585940 +0200
+@@ -38,7 +38,13 @@
+ # System paths
+ $logfile = $ENV{'logfile'} || "/var/log/mailman/post";
+ $libdir = $ENV{'libdir'} || "/var/lib/mailman";
+-$lister = $ENV{'lister'} || "/usr/lib/mailman/bin/list_members";
++$lister = $ENV{'lister'} || {
++ if (-f "/usr/lib64/mailman/bin/list_members") {
++ $lister = "/usr/lib64/mailman/bin/list_members";
++ } else {
++ $lister = "/usr/lib/mailman/bin/list_members";
++ }
++}
+
+ if (-f "$logfile.0")
+ {
+@@ -94,7 +100,9 @@
+ $startsize = 0;
+ } elsif($startsize < $pos) {
+ # Log rotated
+- parseMailmanLog($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ if (-f $rotlogfile) {
++ parseMailmanLog($rotlogfile, $pos, (stat $rotlogfile)[7]);
++ }
+ $pos = 0;
+ }
+
+diff -urN munin-2.0.17/plugins/node.d/mysql_.in munin-2.0.17-plugins/plugins/node.d/mysql_.in
+--- munin-2.0.17/plugins/node.d/mysql_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/mysql_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -39,6 +39,7 @@
+ env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
+ env.mysqluser root
+ env.mysqlpassword geheim
++ env.mysqlnosuperpriv 1
+ env.cachenamespace munin_mysql_pri
+ [mysql2_*]
+ env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=13306
+@@ -156,6 +157,7 @@
+ 'user' => $ENV{'mysqluser'} || 'root',
+ 'password' => $ENV{'mysqlpassword'} || '',
+ 'cache_namespace' => $ENV{'cachenamespace'} || 'munin_mysql',
++ 'nosuper' => $ENV{'mysqlnosuperpriv'} || 0,
+ );
+
+
+@@ -927,8 +929,10 @@
+
+ update_variables($dbh);
+ update_innodb($dbh);
+- update_master($dbh);
+- update_slave($dbh);
++ if (!$config{nosuper}) {
++ update_master($dbh);
++ update_slave($dbh);
++ }
+
+ $shared_memory_cache->set('data', $data);
+ }
+diff -urN munin-2.0.17/plugins/node.d/mysql_innodb.in munin-2.0.17-plugins/plugins/node.d/mysql_innodb.in
+--- munin-2.0.17/plugins/node.d/mysql_innodb.in 2013-08-17 13:19:03.501062149 +0200
++++ munin-2.0.17-plugins/plugins/node.d/mysql_innodb.in 2013-08-17 13:18:51.994254767 +0200
+@@ -1,4 +1,4 @@
+-#!@@GOODSH@@
++#!@@BASH@@
+
+ : << =cut
+
+diff -urN munin-2.0.17/plugins/node.d/mysql_slowqueries.in munin-2.0.17-plugins/plugins/node.d/mysql_slowqueries.in
+--- munin-2.0.17/plugins/node.d/mysql_slowqueries.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/mysql_slowqueries.in 2013-08-17 13:18:51.817585940 +0200
+@@ -64,5 +64,5 @@
+ exit 0
+ fi
+
+-/usr/bin/printf "queries.value "
++/bin/printf "queries.value "
+ ($MYSQLADMIN $MYSQLOPTS status 2>/dev/null || echo a a a a a a a a U) | awk '{print $9}'
+diff -urN munin-2.0.17/plugins/node.d/mysql_threads.in munin-2.0.17-plugins/plugins/node.d/mysql_threads.in
+--- munin-2.0.17/plugins/node.d/mysql_threads.in 2013-08-17 13:19:03.501062149 +0200
++++ munin-2.0.17-plugins/plugins/node.d/mysql_threads.in 2013-08-17 13:18:51.994254767 +0200
+@@ -74,5 +74,5 @@
+ exit 0
+ fi
+
+-/usr/bin/printf "threads.value "
++/bin/printf "threads.value "
+ ($MYSQLADMIN $MYSQLOPTS status 2>/dev/null || echo 'a a a U') | awk '{print $4}'
+diff -urN munin-2.0.17/plugins/node.d/ntp_.in munin-2.0.17-plugins/plugins/node.d/ntp_.in
+--- munin-2.0.17/plugins/node.d/ntp_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/ntp_.in 2013-08-17 13:18:51.817585940 +0200
+@@ -57,26 +57,26 @@
+ use Net::IP;
+
+ if ($ARGV[0] and $ARGV[0] eq "autoconf") {
+- `ntpq -c help >/dev/null 2>/dev/null`;
++ `/usr/sbin/ntpq -c help >/dev/null 2>/dev/null`;
+ if ($CHILD_ERROR eq "0") {
+- if (`ntpq -n -c peers | wc -l` > 0) {
++ if (`/usr/sbin/ntpq -n -c peers | wc -l` > 0) {
+ print "yes\n";
+ exit 0;
+ } else {
+- print "no (ntpq -p returned no peers)\n";
++ print "no (/usr/sbin/ntpq -p returned no peers)\n";
+ exit 0;
+ }
+ } else {
+- print "no (ntpq not found)\n";
++ print "no (/usr/sbin/ntpq not found)\n";
+ exit 0;
+ }
+ }
+
+ if ($ARGV[0] and $ARGV[0] eq "suggest") {
+- foreach my $line (`ntpq -c associations`) {
++ foreach my $line (`/usr/sbin/ntpq -c associations`) {
+ if ($line =~ m/^\s*\d+/) {
+ my (undef, undef, $assid, undef, undef, undef, undef, undef, undef, undef) = split(/\s+/, $line);
+- chomp(my $peerinfo = `ntpq -n -c "readvar $assid srcadr"`);
++ chomp(my $peerinfo = `/usr/sbin/ntpq -n -c "readvar $assid srcadr"`);
+ $peerinfo =~ s/\R/ /g;
+ my ($peer_addr) = ($peerinfo =~ m/srcadr=(.*)/);
+ print $peer_addr, "\n" unless $peer_addr eq "0.0.0.0";
+@@ -108,7 +108,7 @@
+ my $delay;
+ my $offset;
+ my $jitter;
+-my @associations = `ntpq -c associations`;
++my @associations = `/usr/sbin/ntpq -c associations`;
+
+ foreach my $line (@associations) {
+ if ($line =~ m/^\s*\d+/) {
+diff -urN munin-2.0.17/plugins/node.d/ntp_kernel_err.in munin-2.0.17-plugins/plugins/node.d/ntp_kernel_err.in
+--- munin-2.0.17/plugins/node.d/ntp_kernel_err.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/ntp_kernel_err.in 2013-08-17 13:18:51.820919315 +0200
+@@ -32,7 +32,7 @@
+ export PATH=/usr/local/sbin:$PATH
+
+ if [ "$1" = "autoconf" ]; then
+- { ntpq -c kerninfo; ntpdc -c kerninfo; } 2>/dev/null |
++ { /usr/sbin/ntpq -c kerninfo; ntpdc -c kerninfo; } 2>/dev/null |
+ awk 'BEGIN { ev=1; }
+ /^estimated error:/ { ev=0; }
+ END { if (ev == 0) { print "yes";} else { print "no"; } exit ev; }'
+@@ -51,11 +51,11 @@
+
+ printf 'ntp_err.value '
+
+-if [ $(ntpq -c version | grep --extended-regexp --only-matching '[[:digit:]]\.[[:digit:]]\.[[:digit:]]' | tr -d '.') -ge 427 ]
++if [ $(/usr/sbin/ntpq -c version | grep --extended-regexp --only-matching '[[:digit:]]\.[[:digit:]]\.[[:digit:]]' | tr -d '.') -ge 427 ]
+ then
+- cmd=ntpq
++ cmd=/usr/sbin/ntpq
+ else
+- cmd=ntpdc
++ cmd=/usr/sbin/ntpdc
+ fi
+
+ $cmd -c kerninfo | awk '/^estimated error:/ { print $3 }'
+diff -urN munin-2.0.17/plugins/node.d/ntp_kernel_pll_freq.in munin-2.0.17-plugins/plugins/node.d/ntp_kernel_pll_freq.in
+--- munin-2.0.17/plugins/node.d/ntp_kernel_pll_freq.in 2013-08-17 13:19:03.501062149 +0200
++++ munin-2.0.17-plugins/plugins/node.d/ntp_kernel_pll_freq.in 2013-08-17 13:18:51.994254767 +0200
+@@ -39,7 +39,7 @@
+ export PATH=/usr/local/sbin:$PATH
+
+ if [ "$1" = "autoconf" ]; then
+- { ntpq -c kerninfo; ntpdc -c kerninfo; } 2>/dev/null |
++ { /usr/sbin/ntpq -c kerninfo; ntpdc -c kerninfo; } 2>/dev/null |
+ awk 'BEGIN { ev=1; }
+ /^pll frequency:/ { ev=0; }
+ END { if (ev == 0) { print "yes";} else { print "no"; } exit ev; }'
+@@ -65,11 +65,11 @@
+
+ printf 'ntp_pll_freq.value '
+
+-if [ $(ntpq -c version | grep --extended-regexp --only-matching '[[:digit:]]\.[[:digit:]]\.[[:digit:]]' | tr -d '.') -ge 427 ]
++if [ $(/usr/sbin/ntpq -c version | grep --extended-regexp --only-matching '[[:digit:]]\.[[:digit:]]\.[[:digit:]]' | tr -d '.') -ge 427 ]
+ then
+- cmd=ntpq
++ cmd=/usr/sbin/ntpq
+ else
+- cmd=ntpdc
++ cmd=/usr/sbin/ntpdc
+ fi
+
+ $cmd -c kerninfo | awk -v fcomp=$fcomp '/^pll frequency:/ { print $3 + fcomp }'
+diff -urN munin-2.0.17/plugins/node.d/ntp_kernel_pll_off.in munin-2.0.17-plugins/plugins/node.d/ntp_kernel_pll_off.in
+--- munin-2.0.17/plugins/node.d/ntp_kernel_pll_off.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/ntp_kernel_pll_off.in 2013-08-17 13:18:51.820919315 +0200
+@@ -32,7 +32,7 @@
+ export PATH=/usr/local/sbin:$PATH
+
+ if [ "$1" = "autoconf" ]; then
+- { ntpq -c kerninfo; ntpdc -c kerninfo; } 2>/dev/null |
++ { /usr/sbin/ntpq -c kerninfo; ntpdc -c kerninfo; } 2>/dev/null |
+ awk 'BEGIN { ev=1; }
+ /^pll offset:/ { ev=0; }
+ END { if (ev == 0) { print "yes";} else { print "no"; } exit ev; }'
+@@ -51,11 +51,11 @@
+
+ printf 'ntp_pll_off.value '
+
+-if [ $(ntpq -c version | grep --extended-regexp --only-matching '[[:digit:]]\.[[:digit:]]\.[[:digit:]]' | tr -d '.') -ge 427 ]
++if [ $(/usr/sbin/ntpq -c version | grep --extended-regexp --only-matching '[[:digit:]]\.[[:digit:]]\.[[:digit:]]' | tr -d '.') -ge 427 ]
+ then
+- cmd=ntpq
++ cmd=/usr/sbin/ntpq
+ else
+- cmd=ntpdc
++ cmd=/usr/sbin/ntpdc
+ fi
+
+ $cmd -c kerninfo | awk '/^pll offset:/ { print $3 }'
+diff -urN munin-2.0.17/plugins/node.d/ntp_offset.in munin-2.0.17-plugins/plugins/node.d/ntp_offset.in
+--- munin-2.0.17/plugins/node.d/ntp_offset.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/ntp_offset.in 2013-08-17 13:18:51.820919315 +0200
+@@ -38,9 +38,9 @@
+ =cut
+
+ do_autoconf () {
+- ntpq -c help >/dev/null 2>&1 || { echo 'no (no ntpq program)'; exit 0; }
++ /usr/sbin/ntpq -c help >/dev/null 2>&1 || { echo 'no (no ntpq program)'; exit 0; }
+
+- case "$(ntpq -n -p 2>/dev/null | wc -l)" in
++ case "$(/usr/sbin/ntpq -n -p 2>/dev/null | wc -l)" in
+ 0)
+ echo 'no (unable to list peers)'
+ exit 0
+@@ -57,7 +57,7 @@
+ }
+
+ do_config () {
+- syspeer="$(ntpq -n -p | grep '^[*o]')"
++ syspeer="$(/usr/sbin/ntpq -n -p | grep '^[*o]')"
+
+ set - $syspeer
+
+@@ -86,7 +86,7 @@
+
+ do_ () {
+ # Fetch operation
+- syspeer="$(ntpq -n -p | grep '^[*o]')"
++ syspeer="$(/usr/sbin/ntpq -n -p | grep '^[*o]')"
+
+ set - $syspeer
+
+diff -urN munin-2.0.17/plugins/node.d/ntp_states.in munin-2.0.17-plugins/plugins/node.d/ntp_states.in
+--- munin-2.0.17/plugins/node.d/ntp_states.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/ntp_states.in 2013-08-17 13:18:51.820919315 +0200
+@@ -72,10 +72,10 @@
+ # 1 63933 931a yes yes none outlyer sys_peer 1
+ # 2 63934 943a yes yes none candidate sys_peer 3
+
+- foreach my $line (`ntpq -c associations`) {
++ foreach my $line (`/usr/sbin/ntpq -c associations`) {
+ if ($line =~ m/^\s*\d+/) {
+ my (undef, undef, $assid, undef, undef, undef, undef, $condition_str, undef, undef) = split(/\s+/, $line);
+- chomp(my $peerinfo = `ntpq -n -c "readvar $assid srcadr"`);
++ chomp(my $peerinfo = `/usr/sbin/ntpq -n -c "readvar $assid srcadr"`);
+ $peerinfo =~ s/\s//g;
+ my ($peer_addr) = ($peerinfo =~ m/srcadr=(.*)/);
+
+@@ -125,17 +125,17 @@
+ }
+
+ if ($ARGV[0] and $ARGV[0] eq "autoconf") {
+- `ntpq -c help >/dev/null 2>/dev/null`;
++ `/usr/sbin/ntpq -c help >/dev/null 2>/dev/null`;
+ if ($CHILD_ERROR eq "0") {
+- if (`ntpq -n -c peers | wc -l` > 0) {
++ if (`/usr/sbin/ntpq -n -c peers | wc -l` > 0) {
+ print "yes\n";
+ exit 0;
+ } else {
+- print "no (ntpq -p returned no peers)\n";
++ print "no (/usr/sbin/ntpq -p returned no peers)\n";
+ exit 0;
+ }
+ } else {
+- print "no (ntpq not found)\n";
++ print "no (/usr/sbin/ntpq not found)\n";
+ exit 0;
+ }
+ }
+diff -urN munin-2.0.17/plugins/node.d/nut_misc.in munin-2.0.17-plugins/plugins/node.d/nut_misc.in
+--- munin-2.0.17/plugins/node.d/nut_misc.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/nut_misc.in 2013-08-17 13:18:51.820919315 +0200
+@@ -38,7 +38,8 @@
+ my %status;
+
+ my %config = (
+- upsname => $ENV{"upsname"} ? $ENV{"upsname"} : 'bertha@127.0.0.1',
++ upsname => $ENV{"upsname"} ? $ENV{"upsname"} : 'bertha',
++ upshost => $ENV{"upshost"} ? $ENV{"upshost"} : '127.0.0.1',
+ upsc => $ENV{"upsc"} ? $ENV{"upsc"} : 'upsc'
+ );
+
+@@ -48,11 +49,6 @@
+ type => 'GAUGE',
+ draw => 'LINE2'
+ },
+- 'battery_voltage' => {
+- label => 'batt voltage - V',
+- type => 'GAUGE',
+- draw => 'LINE2'
+- },
+ 'battery_runtime' => {
+ label => 'runtime - min',
+ type => 'GAUGE',
+@@ -76,7 +72,12 @@
+ );
+
+ if ( defined $ARGV[0] and $ARGV[0] eq 'config' ) {
+- print "graph_title UPS Misc - $config{upsname}\n";
++ my $s = $config{upsname};
++ $s =~ s/_/ /g;
++ if ($config{upshost} ne "127.0.0.1" && $config{upshost} ne "localhost") {
++ $s .= " at $config{upshost}";
++ }
++ print "graph_title UPS Misc - $s\n";
+ #print "graph_args -l 110\n";
+ #print "graph_vlabel Misc\n";
+ foreach my $key (keys %graph) {
+@@ -89,7 +90,7 @@
+ }
+
+ sub fetch_values {
+- my $data = `$config{upsc} $config{upsname}`;
++ my $data = `$config{upsc} $config{upsname}\@$config{upshost}`;
+ while ($data =~ /([a-z.]+): (.+)\b/g) {
+ my $label = $1;
+ my $value = $2;
+diff -urN munin-2.0.17/plugins/node.d/nut_volts.in munin-2.0.17-plugins/plugins/node.d/nut_volts.in
+--- munin-2.0.17/plugins/node.d/nut_volts.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/nut_volts.in 2013-08-17 13:18:51.820919315 +0200
+@@ -14,7 +14,8 @@
+ my %status;
+
+ my %config = (
+- upsname => $ENV{"upsname"} ? $ENV{"upsname"} : 'bertha@127.0.0.1',
++ upsname => $ENV{"upsname"} ? $ENV{"upsname"} : 'bertha',
++ upshost => $ENV{"upshost"} ? $ENV{"upshost"} : '127.0.0.1',
+ upsc => $ENV{"upsc"} ? $ENV{"upsc"} : 'upsc'
+ );
+
+@@ -24,16 +25,6 @@
+ type => 'GAUGE',
+ draw => 'LINE2'
+ },
+- 'input_voltage_maximum' => {
+- label => 'max input seen',
+- type => 'GAUGE',
+- draw => 'LINE1'
+- },
+- 'input_voltage_minimum' => {
+- label => 'min input seen',
+- type => 'GAUGE',
+- draw => 'LINE1'
+- },
+ 'output_voltage' => {
+ label => 'output',
+ type => 'GAUGE',
+@@ -42,7 +33,12 @@
+ );
+
+ if ( defined $ARGV[0] and $ARGV[0] eq 'config' ) {
+- print "graph_title UPS Voltages - $config{upsname}\n";
++ my $s = $config{upsname};
++ $s =~ s/_/ /g;
++ if ($config{upshost} ne "127.0.0.1" && $config{upshost} ne "localhost") {
++ $s .= " at $config{upshost}";
++ }
++ print "graph_title UPS Voltages - $s\n";
+ print "graph_args -l 115\n";
+ print "graph_vlabel Volts\n";
+ foreach my $key (keys %graph) {
+@@ -55,7 +51,7 @@
+ }
+
+ sub fetch_values {
+- my $data = `$config{upsc} $config{upsname}`;
++ my $data = `$config{upsc} $config{upsname}\@$config{upshost}`;
+ while ($data =~ /([a-z.]+): (.+)\b/g) {
+ my $label = $1;
+ my $value = $2;
+diff -urN munin-2.0.17/plugins/node.d/perdition.in munin-2.0.17-plugins/plugins/node.d/perdition.in
+--- munin-2.0.17/plugins/node.d/perdition.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/perdition.in 2013-08-17 13:18:51.820919315 +0200
+@@ -56,7 +56,7 @@
+ # Set the location of the perdition logs
+ PERDITION_LOG=${logfile:-/var/log/perdition.log}
+ OFFSET_FILE=${MUNIN_PLUGSTATE}/perdition.offset
+-LOGTAIL=${logtail:-/usr/sbin/logtail}
++LOGTAIL=${logtail:-`which logtail`}
+
+ case $1 in
+ autoconf|detect)
+diff -urN munin-2.0.17/plugins/node.d/pop_stats.in munin-2.0.17-plugins/plugins/node.d/pop_stats.in
+--- munin-2.0.17/plugins/node.d/pop_stats.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/pop_stats.in 2013-08-17 13:18:51.820919315 +0200
+@@ -68,7 +68,9 @@
+ if ($startsize < $pos)
+ {
+ # Log rotated
+- parseEximfile ($pop{'rotlogfile'}, $pos, (stat $pop{'rotlogfile'})[7]);
++ if (-f $pop{'rotlogfile'}) {
++ parseEximfile ($pop{'rotlogfile'}, $pos, (stat $pop{'rotlogfile'})[7]);
++ }
+ $pos = 0;
+ }
+
+diff -urN munin-2.0.17/plugins/node.d/postgres_scans_.in munin-2.0.17-plugins/plugins/node.d/postgres_scans_.in
+--- munin-2.0.17/plugins/node.d/postgres_scans_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/postgres_scans_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -65,7 +65,6 @@
+ vlabel => 'Scans / sec',
+ basequery =>
+ "SELECT COALESCE(sum(seq_scan),0) AS sequential, COALESCE(sum(idx_scan),0) AS index FROM pg_stat_user_tables",
+- paramdatabase => 1,
+ pivotquery => 1,
+ configquery =>
+ "VALUES ('sequential','Sequential scans'), ('index','Index scans')",
+diff -urN munin-2.0.17/plugins/node.d/postgres_tuples_.in munin-2.0.17-plugins/plugins/node.d/postgres_tuples_.in
+--- munin-2.0.17/plugins/node.d/postgres_tuples_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/postgres_tuples_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -74,7 +74,6 @@
+ . " COALESCE(sum(n_tup_del),0) AS deleted FROM pg_stat_user_tables",
+ ],
+ ],
+- paramdatabase => 1,
+ pivotquery => 1,
+ configquery => [
+ "VALUES ('seqread','Tuples sequentally read'), ('idxfetch','Tuples index fetched'), ('inserted','Tuples inserted'),"
+diff -urN munin-2.0.17/plugins/node.d/slapd_.in munin-2.0.17-plugins/plugins/node.d/slapd_.in
+--- munin-2.0.17/plugins/node.d/slapd_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d/slapd_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -37,7 +37,7 @@
+
+ # Change these to reflect your LDAP ACL. The given DN must have
+ # read access to the Monitor branch.
+-my $basedn = "cn=Monitor";
++my $basedn = ($ENV{'basedn'} || "cn=Monitor");
+ my $server = ($ENV{'server'} || 'localhost');
+ my $userdn = ($ENV{'binddn'} || '');
+ my $userpw = ($ENV{'bindpw'} || '');
+diff -urN munin-2.0.17/plugins/node.d.linux/files_.in munin-2.0.17-plugins/plugins/node.d.linux/files_.in
+--- munin-2.0.17/plugins/node.d.linux/files_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/files_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -14,7 +14,7 @@
+ #%# capabilities=autoconf
+
+ PROC=${0##*/files_}
+-TMPFILE="$MUNIN_PLUGSTATE/munin-files_${PROC}.state"
++TMPFILE="@@PLUGSTATE@@/munin-files_${PROC}.state"
+
+ if [ "$1" = "autoconf" ]; then
+ if [ -x /usr/sbin/lsof ]; then
+diff -urN munin-2.0.17/plugins/node.d.linux/iostat.in munin-2.0.17-plugins/plugins/node.d.linux/iostat.in
+--- munin-2.0.17/plugins/node.d.linux/iostat.in 2013-08-17 13:19:03.504395523 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/iostat.in 2013-08-17 13:18:51.994254767 +0200
+@@ -173,7 +173,7 @@
+ if ($tmpnam =~ /\d+$/ and !$include_numbered) {
+ # Special case for devices like cXdXpX,
+ # like the cciss driver
+- next unless $tmpnam =~ /\/c\d+d\d+$/
++ next unless $tmpnam =~ /\/.*d\d+$/
+ }
+ next unless grep { $_ } @fields;
+
+diff -urN munin-2.0.17/plugins/node.d.linux/ip_.in munin-2.0.17-plugins/plugins/node.d.linux/ip_.in
+--- munin-2.0.17/plugins/node.d.linux/ip_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/ip_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -127,14 +127,18 @@
+ # This is a fun hack to make the plugin ip6 compatible.
+ # Suggested in ticket #439 by "jodal".
+ eval 'iptables() {
+- ip6tables "$@"
++ /usr/sbin/ip6tables "$@"
++ }'
++ ;;
++ *) eval 'iptables() {
++ /usr/sbin/iptables "$@"
+ }'
+ ;;
+ esac
+
+ if [[ "$1" == "autoconf" ]]; then
+ if [[ -r /proc/net/dev ]]; then
+- if ! iptables -L ${INPUT} -v -n -x >/dev/null 2>/dev/null; then
++ if ! /usr/sbin/iptables -L ${INPUT} -v -n -x >/dev/null 2>/dev/null; then
+ echo "no (could not run iptables as user $(whoami))"
+ exit 0
+ else
+@@ -147,10 +151,10 @@
+ fi
+ fi
+
+-if [[ "$1" == "suggest" ]]; then
+- iptables -L ${INPUT} -v -n -x 2>/dev/null | awk --posix '$8 ~ /^([0-9]{1,3}\.){3}[0-9]{1,3}$/ { if (done[$8]!=1) {print $8; done[$8]=1;}}'
+- if [[ -x /sbin/ip6tables ]]; then
+- ip6tables -L ${INPUT} -v -n -x 2>/dev/null | awk --posix '$7 ~ /\/128$/ { if (done[$7]!=1) {a=$7;gsub(/\/128$/, "", a); print a; done[$7]=1;}}'
++if [ "$1" = "suggest" ]; then
++ /usr/sbin/iptables -L ${INPUT} -v -n -x 2>/dev/null | awk --posix '$8 ~ /^([0-9]{1,3}\.){3}[0-9]{1,3}$/ { if (done[$8]!=1) {print $8; done[$8]=1;}}'
++ if [[ -x /usr/sbin/ip6tables ]]; then
++ /usr/sbin/ip6tables -L ${INPUT} -v -n -x 2>/dev/null | awk --posix '$7 ~ /\/128$/ { if (done[$7]!=1) {a=$7;gsub(/\/128$/, "", a); print a; done[$7]=1;}}'
+ fi
+ exit 0
+ fi
+@@ -183,5 +187,5 @@
+
+ # Escape .'s so they don't match _everything_?
+ IP=$(echo $IP | sed 's~\.~\\.~g')
+-iptables -L ${INPUT} -v -n -x | awk "/$IP"'[ /]/ { print "in.value " $2; exit 0; }'
+-iptables -L ${OUTPUT} -v -n -x | awk "/$IP"'[ /]/ { print "out.value " $2; exit 0; }'
++/usr/sbin/iptables -L ${INPUT} -v -n -x | awk "/$IP"'[ \/]/ { print "in.value " $2; exit 0; }'
++/usr/sbin/iptables -L ${OUTPUT} -v -n -x | awk "/$IP"'[ \/]/ { print "out.value " $2; exit 0; }'
+diff -urN munin-2.0.17/plugins/node.d.linux/load.in munin-2.0.17-plugins/plugins/node.d.linux/load.in
+--- munin-2.0.17/plugins/node.d.linux/load.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/load.in 2013-08-17 13:18:51.820919315 +0200
+@@ -59,20 +59,20 @@
+ # one machine answer for several)
+
+ # The title of the graph
+- echo 'graph_title Load average'
++ echo "graph_title Load average"
+ # Arguments to "rrdtool graph". In this case, tell it that the
+ # lower limit of the graph is '0', and that 1k=1000 (not 1024)
+- echo 'graph_args --base 1000 -l 0'
++ echo "graph_args --base 1000 -l 0"
+ # The Y-axis label
+- echo 'graph_vlabel load'
++ echo "graph_vlabel load"
+ # We want Cur/Min/Avg/Max unscaled (i.e. 0.42 load instead of
+ # 420 milliload)
+- echo 'graph_scale no'
++ echo "graph_scale no"
+ # Graph category. Defaults to 'other'
+- echo 'graph_category system'
++ echo "graph_category system"
+ # The fields. "label" is used in the legend. "label" is the only
+ # required subfield.
+- echo 'load.label load'
++ echo "load.label load"
+ # These two read the environment for warning values for the field
+ # "load". If "load_warning" or "warning" aren't set in the
+ # environment, no warning levels are set. Likewise for "load_critical"
+@@ -82,8 +82,8 @@
+ # This one is purely to add an explanation to the web page. The first
+ # one is for the graph itself, while the second one is for the field
+ # "load".
+- echo 'graph_info The load average of the machine describes how many processes are in the run-queue (scheduled to run "immediately").'
+- echo 'load.info 5 minute load average'
++ echo "graph_info The load average of the machine describes how many processes are in the run-queue (scheduled to run \"immediately\")."
++ echo "load.info 5 minute load average"
+
+ # Last, if run with the "config"-parameter, quit here (don't
+ # display any data)
+diff -urN munin-2.0.17/plugins/node.d.linux/nfs_client.in munin-2.0.17-plugins/plugins/node.d.linux/nfs_client.in
+--- munin-2.0.17/plugins/node.d.linux/nfs_client.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/nfs_client.in 2013-08-17 13:18:51.820919315 +0200
+@@ -31,7 +31,7 @@
+ proc="getattr setattr lookup access readlink read write create mkdir symlink mknod remove rmdir rename link readdir readdirplus fsstat fsinfo pathconf commit"
+
+ if [ "$1" = "autoconf" ]; then
+- if [ -f "$NFS" ]; then
++ if [ -r "$NFS" ]; then
+ echo yes
+ exit 0
+ else
+@@ -51,11 +51,66 @@
+ exit 0
+ fi
+
+-awk '/proc3/ {
+- split("'"$proc"'", names)
+- split($0,values)
+- for (e in names) {
+- printf("%s.value %d\n", names[++i], values[i+3]);
+- }
++awk '/proc2/ {
++ nfs_getattr+=$4
++ nfs_setattr+=$5
++ nfs_lookup+=$6
++ nfs_readlink+=$7
++ nfs_read+=$8
++ nfs_write+=$9
++ nfs_create+=$10
++ nfs_mkdir+=$11
++ nfs_symlink+=$12
++ nfs_remove+=$13
++ nfs_rmdir+=$14
++ nfs_rename+=$15
++ nfs_link+=$16
++ nfs_readdir+=$17
++ nfs_fsstat+=$18
++}
++/proc[34]/ {
++ nfs_getattr+=$4
++ nfs_setattr+=$5
++ nfs_lookup+=$6
++ nfs_access+=$7
++ nfs_readlink+=$8
++ nfs_read+=$9
++ nfs_write+=$10
++ nfs_create+=$11
++ nfs_mkdir+=$12
++ nfs_symlink+=$13
++ nfs_mknod+=$14
++ nfs_remove+=$15
++ nfs_rmdir+=$16
++ nfs_rename+=$17
++ nfs_link+=$18
++ nfs_readdir+=$19
++ nfs_readdirplus+=$20
++ nfs_fsstat+=$21
++ nfs_fsinfo+=$22
++ nfs_pathconf+=$23
++ nfs_commit+=$24
++}
++END {
++ print "getattr.value " nfs_getattr
++ print "setattr.value " nfs_setattr
++ print "lookup.value " nfs_lookup
++ print "access.value " nfs_access
++ print "readlink.value " nfs_readlink
++ print "read.value " nfs_read
++ print "write.value " nfs_write
++ print "create.value " nfs_create
++ print "mkdir.value " nfs_mkdir
++ print "symlink.value " nfs_symlink
++ print "mknod.value " nfs_mknod
++ print "remove.value " nfs_remove
++ print "rmdir.value " nfs_rmdir
++ print "rename.value " nfs_rename
++ print "link.value " nfs_link
++ print "readdir.value " nfs_readdir
++ print "readdirplus.value " nfs_readdirplus
++ print "fsstat.value " nfs_fsstat
++ print "fsinfo.value " nfs_fsinfo
++ print "pathconf.value " nfs_pathconf
++ print "commit.value " nfs_commit
+ }' $NFS
+-
+diff -urN munin-2.0.17/plugins/node.d.linux/nfsd.in munin-2.0.17-plugins/plugins/node.d.linux/nfsd.in
+--- munin-2.0.17/plugins/node.d.linux/nfsd.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/nfsd.in 2013-08-17 13:18:51.820919315 +0200
+@@ -31,7 +31,7 @@
+ proc="getattr setattr lookup access readlink read write create mkdir symlink mknod remove rmdir rename link readdir readdirplus fsstat fsinfo pathconf commit"
+
+ if [ "$1" = "autoconf" ]; then
+- if [ -f "$NFSD" ]; then
++ if [ -r "$NFSD" ]; then
+ echo yes
+ exit 0
+ else
+@@ -51,9 +51,66 @@
+ exit 0
+ fi
+
+-awk '/proc3/ {
+- split("'"$proc"'", names)
+- split($0,values)
+- for (e in names)
+- printf("%s.value %d\n", names[++i], values[i+3]);
+- }' $NFSD
++awk '/proc2/ {
++ nfs_getattr+=$4
++ nfs_setattr+=$5
++ nfs_lookup+=$6
++ nfs_readlink+=$7
++ nfs_read+=$8
++ nfs_write+=$9
++ nfs_create+=$10
++ nfs_mkdir+=$11
++ nfs_symlink+=$12
++ nfs_remove+=$13
++ nfs_rmdir+=$14
++ nfs_rename+=$15
++ nfs_link+=$16
++ nfs_readdir+=$17
++ nfs_fsstat+=$18
++}
++/proc[34]/ {
++ nfs_getattr+=$4
++ nfs_setattr+=$5
++ nfs_lookup+=$6
++ nfs_access+=$7
++ nfs_readlink+=$8
++ nfs_read+=$9
++ nfs_write+=$10
++ nfs_create+=$11
++ nfs_mkdir+=$12
++ nfs_symlink+=$13
++ nfs_mknod+=$14
++ nfs_remove+=$15
++ nfs_rmdir+=$16
++ nfs_rename+=$17
++ nfs_link+=$18
++ nfs_readdir+=$19
++ nfs_readdirplus+=$20
++ nfs_fsstat+=$21
++ nfs_fsinfo+=$22
++ nfs_pathconf+=$23
++ nfs_commit+=$24
++}
++END {
++ print "getattr.value " nfs_getattr
++ print "setattr.value " nfs_setattr
++ print "lookup.value " nfs_lookup
++ print "access.value " nfs_access
++ print "readlink.value " nfs_readlink
++ print "read.value " nfs_read
++ print "write.value " nfs_write
++ print "create.value " nfs_create
++ print "mkdir.value " nfs_mkdir
++ print "symlink.value " nfs_symlink
++ print "mknod.value " nfs_mknod
++ print "remove.value " nfs_remove
++ print "rmdir.value " nfs_rmdir
++ print "rename.value " nfs_rename
++ print "link.value " nfs_link
++ print "readdir.value " nfs_readdir
++ print "readdirplus.value " nfs_readdirplus
++ print "fsstat.value " nfs_fsstat
++ print "fsinfo.value " nfs_fsinfo
++ print "pathconf.value " nfs_pathconf
++ print "commit.value " nfs_commit
++}' $NFSD
+diff -urN munin-2.0.17/plugins/node.d.linux/vlan_inetuse_.in munin-2.0.17-plugins/plugins/node.d.linux/vlan_inetuse_.in
+--- munin-2.0.17/plugins/node.d.linux/vlan_inetuse_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/vlan_inetuse_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -37,8 +37,8 @@
+ my %in_octets = ();
+ my %out_octets = ();
+
+-open (IN, "/sbin/iptables -v -x -L $INTERFACE-in |") or
+- die "Could not run iptables: $!\n";
++open (IN, "/usr/sbin/iptables -v -x -L $INTERFACE-in |") or
++ die "Could not run /usr/sbin/iptables: $!\n";
+ while (<IN>)
+ {
+ if (/^\s*\d+\s+(\d+) +([a-z]+)\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+(?:\s+|)(.+|)$/)
+@@ -49,10 +49,10 @@
+ }
+ }
+ close IN;
+-die "Error running iptables. Dying\n" if $?;
++die "Error running /usr/sbin/iptables. Dying\n" if $?;
+
+-open (IN, "/sbin/iptables -v -x -L $INTERFACE-out |") or
+- die "Could not run iptables: $!\n";
++open (IN, "/usr/sbin/iptables -v -x -L $INTERFACE-out |") or
++ die "Could not run /usr/sbin/iptables: $!\n";
+ while (<IN>)
+ {
+ if (/^\s*\d+\s+(\d+) +([a-z]+)\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+(?:\s+|)(.+|)$/)
+@@ -67,7 +67,7 @@
+ }
+ }
+ close IN;
+-die "Error running iptables. Dying\n" if $?;
++die "Error running /usr/sbin/iptables. Dying\n" if $?;
+
+ if ($ARGV[0] and $ARGV[0] eq "config")
+ {
+diff -urN munin-2.0.17/plugins/node.d.linux/vlan_linkuse_.in munin-2.0.17-plugins/plugins/node.d.linux/vlan_linkuse_.in
+--- munin-2.0.17/plugins/node.d.linux/vlan_linkuse_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/vlan_linkuse_.in 2013-08-17 13:18:51.820919315 +0200
+@@ -29,8 +29,8 @@
+ my %in_octets = ();
+ my %out_octets = ();
+
+-open (IN, "/sbin/iptables -v -x -L $INTERFACE-in |") or
+- die "Could not run iptables: $!\n";
++open (IN, "/usr/sbin/iptables -v -x -L $INTERFACE-in |") or
++ die "Could not run /usr/sbin/iptables: $!\n";
+ while (<IN>)
+ {
+ if (/^\s*\d+\s+(\d+) +([a-z]+)\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+(?:\s+|)(.+|)$/)
+@@ -58,10 +58,10 @@
+ }
+ }
+ close IN;
+-die "Error running iptables. Dying\n" if $?;
++die "Error running /usr/sbin/iptables. Dying\n" if $?;
+
+-open (IN, "/sbin/iptables -v -x -L $INTERFACE-out |") or
+- die "Could not run iptables: $!\n";
++open (IN, "/usr/sbin/iptables -v -x -L $INTERFACE-out |") or
++ die "Could not run /usr/sbin/iptables: $!\n";
+ while (<IN>)
+ {
+ if (/^\s*\d+\s+(\d+) +([a-z]+)\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+(?:\s+|)(.+|)$/)
+@@ -84,5 +84,5 @@
+ }
+ }
+ close IN;
+-die "Error running iptables. Dying\n" if $?;
++die "Error running /usr/sbin/iptables. Dying\n" if $?;
+ # vim:syntax=perl
+diff -urN munin-2.0.17/plugins/node.d.linux/vserver_resources.in munin-2.0.17-plugins/plugins/node.d.linux/vserver_resources.in
+--- munin-2.0.17/plugins/node.d.linux/vserver_resources.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-plugins/plugins/node.d.linux/vserver_resources.in 2013-08-17 13:18:51.820919315 +0200
+@@ -245,6 +245,12 @@
+ echo 'graph_vlabel ANON pages'
+ echo 'graph_info Shows anonymous memory (human readable) used by each vserver.'
+ ;;
++ RMAP)
++ echo 'graph_title Mapped memory used by vserver'
++ echo 'graph_args --base 1024k -l 0'
++ echo 'graph_vlabel RMAP pages'
++ echo 'graph_info Shows mapped memory (human readable) used by each vserver.'
++ ;;
+ FILES)
+ echo 'graph_title Files used by vserver'
+ echo 'graph_args --base 1024k -l 0'
+@@ -281,6 +287,30 @@
+ echo 'graph_vlabel SHM pages'
+ echo 'graph_info Shows shared memory (human readable) used by each vserver.'
+ ;;
++ SEMA)
++ echo 'graph_title Semaphore arrays used by vserver'
++ echo 'graph_args --base 1024k -l 0'
++ echo 'graph_vlabel Semaphore arrays'
++ echo 'graph_info Shows semaphore arrays used by each vserver.'
++ ;;
++ SEMS)
++ echo 'graph_title Semaphores used by vserver'
++ echo 'graph_args --base 1024k -l 0'
++ echo 'graph_vlabel Semaphores'
++ echo 'graph_info Shows semaphores used by each vserver.'
++ ;;
++ DENT)
++ echo 'graph_title dentry structs used by vserver'
++ echo 'graph_args --base 1024k -l 0'
++ echo 'graph_vlabel dentry structs'
++ echo 'graph_info Shows dentry structs used by each vserver.'
++ ;;
++ ALL)
++ echo 'graph_title Resources used by vserver'
++ echo 'graph_args --base 1024k -l 0'
++ echo 'graph_vlabel Resources'
++ echo 'graph_info Shows rsources used by each vserver.'
++ ;;
+ *)
+ echo "$RESOURCE not defined."
+ exit 1
+@@ -299,53 +329,108 @@
+
+ case "$RESOURCE" in
+ PROC)
+- echo "$NAME.label $LABEL: processes"
+- echo "$NAME.info Number of processes used by $LABEL."
++ echo "${NAME}_PROC.label $LABEL: processes"
++ echo "${NAME}_PROC.info Number of processes used by $LABEL."
+ ;;
+ VM)
+- echo "$NAME.label $LABEL: Virtual memory"
+- echo "$NAME.info Size of virtual memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
+- echo "$NAME.cdef $NAME,$pagesize,*"
++ echo "${NAME}_VM.label $LABEL: Virtual memory"
++ echo "${NAME}_VM.info Size of virtual memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
++ echo "${NAME}_VM.cdef ${NAME}_VM,$pagesize,*"
+ ;;
+ VML)
+- echo "$NAME.label $LABEL: Locked memory"
+- echo "$NAME.info Size of locked memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
+- echo "$NAME.cdef $NAME,$pagesize,*"
++ echo "${NAME}_VML.label $LABEL: Locked memory"
++ echo "${NAME}_VML.info Size of locked memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
++ echo "${NAME}_VML.cdef ${NAME}_VML,$pagesize,*"
+ ;;
+ RSS)
+- echo "$NAME.label $LABEL: Resident set size"
+- echo "$NAME.info Size of resident set size used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
+- echo "$NAME.cdef $NAME,$pagesize,*"
++ echo "${NAME}_RSS.label $LABEL: Resident set size"
++ echo "${NAME}_RSS.info Size of resident set size used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_RSS.cdef ${NAME}_RSS,$pagesize,*"
+ ;;
+ ANON)
+- echo "$NAME.label $LABEL: Anonymous memory"
+- echo "$NAME.info Size of anonymous memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
+- echo "$NAME.cdef $NAME,$pagesize,*"
++ echo "${NAME}_ANON.label $LABEL: Anonymous memory"
++ echo "${NAME}_ANON.info Size of anonymous memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_ANON.cdef ${NAME}_ANON,$pagesize,*"
++ ;;
++ RMAP)
++ echo "${NAME}_RMAP.label $LABEL: Mapped memory"
++ echo "${NAME}_RMAP.info Size of mapped memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_RMAP.cdef ${NAME}_RMAP,$pagesize,*"
+ ;;
+ FILES)
+- echo "$NAME.label $LABEL: Files"
+- echo "$NAME.info Number of files used by $LABEL."
++ echo "${NAME}_FILES.label $LABEL: Files"
++ echo "${NAME}_FILES.info Number of files used by $LABEL."
+ ;;
+ OFD)
+- echo "$NAME.label $LABEL: Open filedescriptors"
+- echo "$NAME.info Number of open filedescriptors used by $LABEL."
++ echo "${NAME}_OFD.label $LABEL: Open filedescriptors"
++ echo "${NAME}_OFD.info Number of open filedescriptors used by $LABEL."
+ ;;
+ LOCKS)
+- echo "$NAME.label $LABEL: Locks"
+- echo "$NAME.info Number of locks used by $LABEL."
++ echo "${NAME}_LOCKS.label $LABEL: Locks"
++ echo "${NAME}_LOCKS.info Number of locks used by $LABEL."
+ ;;
+ SOCK)
+- echo "$NAME.label $LABEL: Sockets"
+- echo "$NAME.info Number of sockets used by $LABEL."
++ echo "${NAME}_SOCK.label $LABEL: Sockets"
++ echo "${NAME}_SOCK.info Number of sockets used by $LABEL."
+ ;;
+ MSGQ)
+- echo "$NAME.label $LABEL: Message queues"
+- echo "$NAME.info Number of message queues used by $LABEL."
++ echo "${NAME}_MSGQ.label $LABEL: Message queues"
++ echo "${NAME}_MSGQ.info Number of message queues used by $LABEL."
+ ;;
+ SHM)
+- echo "$NAME.label $LABEL: Shared memory"
+- echo "$NAME.info Size of shared memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
+- echo "$NAME.cdef $1,$pagesize,*"
++ echo "${NAME}_SHM.label $LABEL: Shared memory"
++ echo "${NAME}_SHM.info Size of shared memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_SHM.cdef ${NAME}_SHM,$pagesize,*"
++ ;;
++ SEMA)
++ echo "${NAME}_SEMA.label $LABEL: Semaphore arrays"
++ echo "${NAME}_SEMA.info Number of semaphore arrays used by $LABEL."
++ ;;
++ SEMS)
++ echo "${NAME}_SEMS.label $LABEL: Semaphores"
++ echo "${NAME}_SEMS.info Number of semaphores used by $LABEL."
++ ;;
++ DENT)
++ echo "${NAME}_DENT.label $LABEL: dentry structs"
++ echo "${NAME}_DENT.info Number of dentries used by $LABEL."
++ ;;
++ ALL)
++ echo "${NAME}_PROC.label $LABEL: processes"
++ echo "${NAME}_PROC.info Number of processes used by $LABEL."
++ echo "${NAME}_VM.label $LABEL: Virtual memory"
++ echo "${NAME}_VM.info Size of virtual memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
++ echo "${NAME}_VM.cdef ${NAME}_VM,$pagesize,*"
++ echo "${NAME}_VML.label $LABEL: Locked memory"
++ echo "${NAME}_VML.info Size of locked memory used by $LABEL. (Number multipled by $pagesize to make it human readable)"
++ echo "${NAME}_VML.cdef ${NAME}_VML,$pagesize,*"
++ echo "${NAME}_RSS.label $LABEL: Resident set size"
++ echo "${NAME}_RSS.info Size of resident set size used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_RSS.cdef ${NAME}_RSS,$pagesize,*"
++ echo "${NAME}_ANON.label $LABEL: Anonymous memory"
++ echo "${NAME}_ANON.info Size of anonymous memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_ANON.cdef ${NAME}_ANON,$pagesize,*"
++ echo "${NAME}_RMAP.label $LABEL: Mapped memory"
++ echo "${NAME}_RMAP.info Size of mapped memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_RMAP.cdef ${NAME}_RMAP,$pagesize,*"
++ echo "${NAME}_FILES.label $LABEL: Files"
++ echo "${NAME}_FILES.info Number of files used by $LABEL."
++ echo "${NAME}_OFD.label $LABEL: Open filedescriptors"
++ echo "${NAME}_OFD.info Number of open filedescriptors used by $LABEL."
++ echo "${NAME}_LOCKS.label $LABEL: Locks"
++ echo "${NAME}_LOCKS.info Number of locks used by $LABEL."
++ echo "${NAME}_SOCK.label $LABEL: Sockets"
++ echo "${NAME}_SOCK.info Number of sockets used by $LABEL."
++ echo "${NAME}_MSGQ.label $LABEL: Message queues"
++ echo "${NAME}_MSGQ.info Number of message queues used by $LABEL."
++ echo "${NAME}_SHM.label $LABEL: Shared memory"
++ echo "${NAME}_SHM.info Size of shared memory used by $LABEL. (Number multiplied by $pagesize to make it human readable)"
++ echo "${NAME}_SHM.cdef ${NAME}_SHM,$pagesize,*"
++ echo "${NAME}_SEMA.label $LABEL: Semaphore arrays"
++ echo "${NAME}_SEMA.info Number of semaphore arrays used by $LABEL."
++ echo "${NAME}_SEMS.label $LABEL: Semaphores"
++ echo "${NAME}_SEMS.info Number of semaphores used by $LABEL."
++ echo "${NAME}_DENT.label $LABEL: dentry structs"
++ echo "${NAME}_DENT.info Number of dentries used by $LABEL."
+ ;;
+ *)
+ echo "$RESOURCE not defined."
+@@ -356,7 +441,7 @@
+ if [ ! -z "$LIMITS" -a "$LIMITS" = 1 ]; then
+ LIMIT=`cat /proc/virtual/$xid/limit | grep $RESOURCE | cut -f4`
+ if [ ${LIMIT:-0} -gt 0 ]; then
+- echo "$NAME.critical $LIMIT"
++ echo "${NAME}_${RESOURCE}.critical $LIMIT"
+ fi
+ fi
+ done
+@@ -367,8 +452,15 @@
+ for xid in $XIDS ; do
+ LABEL=`cat /proc/virtual/$xid/$NAMELOC |grep NodeName |cut -f2`
+ NAME=`echo $LABEL | cut -d. -f1 | tr '-' '_'`
+- cat /proc/virtual/$xid/limit | awk -v name="${NAME}" -v resource="${RESOURCE}:" \
+- '{ if ( $1 == resource )
+- printf "%s.value %d\n", name, $2 }'
++ if [ $RESOURCE = "ALL" ]; then
++ cat /proc/virtual/$xid/limit | awk -v name="${NAME}" \
++ '{ if ( $1 ~ /[A-Z]*:/ ) {
++ resource = $1 ; gsub(/:/, "", resource);
++ printf "%s_%s.value %d\n", name, resource, $2
++ }}'
++ else
++ cat /proc/virtual/$xid/limit | awk -v name="${NAME}" -v resource="${RESOURCE}" \
++ '{ if ( $1 ~ resource )
++ printf "%s_%s.value %d\n", name, resource, $2 }'
++ fi
+ done
+-
--- /dev/null
+diff -ur munin-2.0.17/common/lib/Munin/Common/Defaults.pm munin-2.0.17-sep/common/lib/Munin/Common/Defaults.pm
+--- munin-2.0.17/common/lib/Munin/Common/Defaults.pm 2013-08-17 12:26:06.386624187 +0200
++++ munin-2.0.17-sep/common/lib/Munin/Common/Defaults.pm 2013-08-17 12:19:22.386149494 +0200
+@@ -18,7 +18,8 @@
+ our $DROPDOWNLIMIT = 1;
+
+ our $MUNIN_PREFIX = '';
+-our $MUNIN_CONFDIR = "$COMPONENT_ROOT/t/config/";
++our $MUNIN_MCONFDIR = "$COMPONENT_ROOT/t/config/";
++our $MUNIN_NCONFDIR = "$COMPONENT_ROOT/t/config/";
+ our $MUNIN_BINDIR = '';
+ our $MUNIN_SBINDIR = '';
+ our $MUNIN_DOCDIR = '';
+Only in munin-2.0.17/common/lib/Munin/Common: Defaults.pm.orig
+diff -ur munin-2.0.17/doc/installation/configuration.rst munin-2.0.17-sep/doc/installation/configuration.rst
+--- munin-2.0.17/doc/installation/configuration.rst 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/doc/installation/configuration.rst 2013-08-17 12:23:16.773630125 +0200
+@@ -9,7 +9,7 @@
+ -------
+
+ Decide which plugins to use. The munin node runs all plugins present
+-in CONFDIR/plugins/
++in NCONFDIR/plugins/
+
+ The quick auto-plug-and-play solution:
+
+@@ -59,7 +59,7 @@
+ Add some nodes
+ --------------
+
+-Add some nodes to CONFDIR/munin.conf
++Add some nodes to MCONFDIR/munin.conf
+
+ [node.example.com]
+ address 192.0.2.4
+diff -ur munin-2.0.17/Makefile munin-2.0.17-sep/Makefile
+--- munin-2.0.17/Makefile 2013-08-17 12:26:06.386624187 +0200
++++ munin-2.0.17-sep/Makefile 2013-08-17 12:19:22.386149494 +0200
+@@ -56,7 +56,7 @@
+ # a new config. Target _only_ suitable for maintainers.
+ unconfig:
+ rm -f $(HTMLDIR)/.htaccess
+- rm -f $(CONFDIR)/munin.conf
++ rm -f $(MCONFDIR)/munin.conf
+
+ tags:
+ -rm -f TAGS
+@@ -71,14 +71,15 @@
+ mkdir -p $(LOGDIR)
+ mkdir -p $(STATEDIR)
+ mkdir -p $(SPOOLDIR)
+- mkdir -p $(CONFDIR)
++ mkdir -p $(NCONFDIR)
++ mkdir -p $(MCONFDIR)
+ $(CHOWN) $(USER) $(LOGDIR) $(STATEDIR) $(SPOOLDIR)
+
+ install-master-prime: $(INFILES_MASTER) install-pre install-master
+ mkdir -p $(TEMPLATEDIR)
+ mkdir -p $(TEMPLATEDIR)/static
+ mkdir -p $(TEMPLATEDIR)/partial
+- mkdir -p $(CONFDIR)/munin-conf.d
++ mkdir -p $(MCONFDIR)/munin-conf.d
+ mkdir -p $(LIBDIR)
+ mkdir -p $(BINDIR)
+ mkdir -p $(SBINDIR)
+@@ -111,7 +112,7 @@
+ $(INSTALL) -m 0644 master/DejaVuSans.ttf $(LIBDIR)/
+
+ test -f $(HTMLDIR)/.htaccess || $(INSTALL) -m 0644 build/master/www/munin-htaccess $(HTMLDIR)/.htaccess
+- test -f "$(CONFDIR)/munin.conf" || $(INSTALL) -m 0644 build/master/munin.conf $(CONFDIR)/
++ test -f "$(MCONFDIR)/munin.conf" || $(INSTALL) -m 0644 build/master/munin.conf $(MCONFDIR)/
+
+ $(INSTALL) -m 0755 build/master/_bin/munin-cron $(SBINDIR)/
+ $(INSTALL) -m 0755 build/master/_bin/munin-check $(LIBDIR)/
+@@ -140,14 +141,14 @@
+ install-plugins-prime: install-plugins build $(PLUGINS) Makefile Makefile.config
+ @$(CHECKGROUP)
+
+- mkdir -p $(CONFDIR)/plugins
+- mkdir -p $(CONFDIR)/plugin-conf.d
++ mkdir -p $(NCONFDIR)/plugins
++ mkdir -p $(NCONFDIR)/plugin-conf.d
+ mkdir -p $(LIBDIR)/plugins
+ mkdir -p $(PLUGSTATE)
+
+ $(CHOWN) root:root $(PLUGSTATE)
+ $(CHMOD) 0755 $(PLUGSTATE)
+- $(CHMOD) 0755 $(CONFDIR)/plugin-conf.d
++ $(CHMOD) 0755 $(NCONFDIR)/plugin-conf.d
+
+ for p in build/plugins/node.d/* build/plugins/node.d.$(OSTYPE)/* ; do \
+ if test -f "$$p" ; then \
+@@ -184,7 +185,7 @@
+ install-node-prime: install-node-pre install-node
+
+ install-node-pre: build/node/munin-node.conf install-pre
+- test -f "$(CONFDIR)/munin-node.conf" || $(INSTALL) -m 0644 build/node/munin-node.conf $(CONFDIR)/
++ test -f "$(NCONFDIR)/munin-node.conf" || $(INSTALL) -m 0644 build/node/munin-node.conf $(NCONFDIR)/
+
+
+ install-common-prime: build-common install-common
+@@ -220,7 +221,8 @@
+ @echo "$< -> $@"
+ @mkdir -p build/`dirname $<`
+ @sed -e 's|@@PREFIX@@|$(PREFIX)|g' \
+- -e 's|@@CONFDIR@@|$(CONFDIR)|g' \
++ -e 's|@@MCONFDIR@@|$(MCONFDIR)|g' \
++ -e 's|@@NCONFDIR@@|$(NCONFDIR)|g' \
+ -e 's|@@BINDIR@@|$(BINDIR)|g' \
+ -e 's|@@SBINDIR@@|$(SBINDIR)|g' \
+ -e 's|@@DOCDIR@@|$(DOCDIR)|g' \
+@@ -261,7 +263,8 @@
+ common/blib/lib/Munin/Common/Defaults.pm: common/lib/Munin/Common/Defaults.pm build-common-pre
+ rm -f common/blib/lib/Munin/Common/Defaults.pm
+ $(PERL) -pe 's{(PREFIX \s+=\s).*}{\1q{$(PREFIX)};}x; \
+- s{(CONFDIR \s+=\s).*}{\1q{$(CONFDIR)};}x; \
++ s{(MCONFDIR \s+=\s).*}{\1q{$(MCONFDIR)};}x; \
++ s{(NCONFDIR \s+=\s).*}{\1q{$(NCONFDIR)};}x; \
+ s{(BINDIR \s+=\s).*}{\1q{$(BINDIR)};}x; \
+ s{(SBINDIR \s+=\s).*}{\1q{$(SBINDIR)};}x; \
+ s{(DOCDIR \s+=\s).*}{\1q{$(DOCDIR)};}x; \
+@@ -388,7 +391,7 @@
+ $(MAKE) $@ CONFIG=t/Makefile.config
+ else
+ test_plugins = id_default id_root env
+-old-test: t/*.t t/install $(addprefix $(CONFDIR)/plugins/,$(test_plugins))
++old-test: t/*.t t/install $(addprefix $(NCONFDIR)/plugins/,$(test_plugins))
+ @for test in t/*.t; do \
+ echo -n "$$test: "; \
+ PERL5LIB=$(PERLLIB) $(PERL) $$test;\
+@@ -396,10 +399,10 @@
+ endif
+
+ node-monkeywrench: install-node
+- rm -rf $(CONFDIR)/plugins
++ rm -rf $(NCONFDIR)/plugins
+ rm -rf $(LIBDIR)/plugins
+ mkdir -p $(LIBDIR)/plugins
+- mkdir -p $(CONFDIR)/plugins
++ mkdir -p $(NCONFDIR)/plugins
+ cp monkeywrench/plugin-break*_ $(LIBDIR)/plugins/
+ $(SBINDIR)/munin-node-configure --suggest
+ echo 'Done?'
+diff -ur munin-2.0.17/Makefile.config munin-2.0.17-sep/Makefile.config
+--- munin-2.0.17/Makefile.config 2013-08-17 12:26:06.386624187 +0200
++++ munin-2.0.17-sep/Makefile.config 2013-08-17 12:19:22.386149494 +0200
+@@ -20,7 +20,8 @@
+ PREFIX = $(DESTDIR)/usr
+
+ # Where Munin keeps its configurations (server.conf, client.conf, ++)
+-CONFDIR = $(DESTDIR)/etc/munin
++NCONFDIR = $(DESTDIR)/etc/munin
++MCONFDIR = $(DESTDIR)/etc/webapps/munin
+
+ # Server only - where to put munin-cron
+ BINDIR = $(PREFIX)/bin
+Only in munin-2.0.17: Makefile.config.orig
+Only in munin-2.0.17: Makefile.orig
+diff -ur munin-2.0.17/master/_bin/munin-cgi-graph.in munin-2.0.17-sep/master/_bin/munin-cgi-graph.in
+--- munin-2.0.17/master/_bin/munin-cgi-graph.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/_bin/munin-cgi-graph.in 2013-08-17 12:19:22.386149494 +0200
+@@ -44,7 +44,7 @@
+ use Log::Log4perl qw( :easy );
+
+ my $GRAPHER = "$Munin::Common::Defaults::MUNIN_LIBDIR/munin-graph";
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf";
++my $conffile = "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf";
+
+ my %period = ( "day" => 300,
+ "week" => 1800,
+diff -ur munin-2.0.17/master/_bin/munin-check.in munin-2.0.17-sep/master/_bin/munin-check.in
+--- munin-2.0.17/master/_bin/munin-check.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/_bin/munin-check.in 2013-08-17 12:19:22.386149494 +0200
+@@ -163,7 +163,7 @@
+ norec=yes owner_ok @@PLUGSTATE@@ @@PLUGINUSER@@
+ norec=yes perm_ok @@PLUGSTATE@@ 775
+
+-norec=yes perm_ok @@CONFDIR@@/plugin-conf.d 755
++norec=yes perm_ok @@NCONFDIR@@/plugin-conf.d 755
+
+ echo "Check done. Please note that this script only checks most things,"
+ echo "not all things."
+diff -ur munin-2.0.17/master/_bin/munin-graph.in munin-2.0.17-sep/master/_bin/munin-graph.in
+--- munin-2.0.17/master/_bin/munin-graph.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/_bin/munin-graph.in 2013-08-17 12:19:22.386149494 +0200
+@@ -51,7 +51,7 @@
+ use Log::Log4perl qw( :easy );
+
+ my $GRAPHER = "$Munin::Common::Defaults::MUNIN_LIBDIR/munin-graph";
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf";
++my $conffile = "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf";
+
+ my %period = ( "day" => 300,
+ "week" => 1800,
+diff -ur munin-2.0.17/master/_bin/munin-limits.in munin-2.0.17-sep/master/_bin/munin-limits.in
+--- munin-2.0.17/master/_bin/munin-limits.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/_bin/munin-limits.in 2013-08-17 12:19:22.386149494 +0200
+@@ -66,7 +66,7 @@
+
+ =item B<< --config <file> >>
+
+-Use E<lt>fileE<gt> as configuration file. [@@CONFDIR@@/munin.conf]
++Use E<lt>fileE<gt> as configuration file. [@@MCONFDIR@@/munin.conf]
+
+ =item B<< --always-send <severity list> >>
+
+@@ -114,7 +114,7 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin.conf
++ @@MCONFDIR@@/munin.conf
+ @@DBDIR@@/*
+ @@STATEDIR@@/*
+
+diff -ur munin-2.0.17/master/_bin/munin-update.in munin-2.0.17-sep/master/_bin/munin-update.in
+--- munin-2.0.17/master/_bin/munin-update.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/_bin/munin-update.in 2013-08-17 12:19:22.386149494 +0200
+@@ -139,7 +139,7 @@
+
+ =item B<< --config_file=<file> >>
+
+-Use E<lt>fileE<gt> as the configuration file. [@@CONFDIR@@/munin.conf]
++Use E<lt>fileE<gt> as the configuration file. [@@MCONFDIR@@/munin.conf]
+
+ =item B<< --[no]debug >>
+
+@@ -192,7 +192,7 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin.conf
++ @@MCONFDIR@@/munin.conf
+ @@DBDIR@@/*
+ @@LOGDIR@@/munin-update
+ @@STATEDIR@@/*
+diff -ur munin-2.0.17/master/doc/munin.conf.pod.in munin-2.0.17-sep/master/doc/munin.conf.pod.in
+--- munin-2.0.17/master/doc/munin.conf.pod.in 2013-08-17 12:26:06.386624187 +0200
++++ munin-2.0.17-sep/master/doc/munin.conf.pod.in 2013-08-17 12:19:22.386149494 +0200
+@@ -27,7 +27,7 @@
+ [machine1.your.dom]
+ address localhost
+
+-The default location of F<munin.conf> is F<@@CONFDIR@@/munin.conf>.
++The default location of F<munin.conf> is F<@@MCONFDIR@@/munin.conf>.
+ If your placement deviates from this norm, use the "--config
+ E<lt>fileE<gt>"-option when running the munin-* programs.
+
+@@ -149,20 +149,20 @@
+ =item B<tls_private_key> <value>
+
+ This directive sets the location of the private key to be used for
+-TLS. Default is @@CONFDIR@@/munin.pem. The private key and
++TLS. Default is @@MCONFDIR@@/munin.pem. The private key and
+ certificate can be stored in the same file. Affects: munin-update.
+
+ =item B<tls_certificate> <value>
+
+ This directive sets the location of the TLS certificate to be used for
+-TLS. Default is @@CONFDIR@@/munin.pem. The private key and
++TLS. Default is @@MCONFDIR@@/munin.pem. The private key and
+ certificate can be stored in the same file. Affects: munin-update.
+
+ =item B<tls_ca_certificate> <value>
+
+ This directive sets the CA certificate to be used to verify the node's
+ certificate, if tls_verify_certificate is set to C<yes>. Default is
+-@@CONFDIR@@/cacert.pem. Affects: munin-update.
++@@MCONFDIR@@/cacert.pem. Affects: munin-update.
+
+ =item B<tls_verify_depth> <value>
+
+Only in munin-2.0.17/master/doc: munin.conf.pod.in.orig
+diff -ur munin-2.0.17/master/doc/munin-cron.pod.in munin-2.0.17-sep/master/doc/munin-cron.pod.in
+--- munin-2.0.17/master/doc/munin-cron.pod.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/doc/munin-cron.pod.in 2013-08-17 12:19:22.386149494 +0200
+@@ -22,7 +22,7 @@
+
+ =item B<< --config <file> >>
+
+-Use E<lt>fileE<gt> as configuration file. [F<@@CONFDIR@@/munin.conf>]
++Use E<lt>fileE<gt> as configuration file. [F<@@MCONFDIR@@/munin.conf>]
+
+ =back
+
+diff -ur munin-2.0.17/master/extras/munin-update_old.in munin-2.0.17-sep/master/extras/munin-update_old.in
+--- munin-2.0.17/master/extras/munin-update_old.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/extras/munin-update_old.in 2013-08-17 12:19:22.386149494 +0200
+@@ -43,7 +43,7 @@
+ my $STATS;
+ my $cli_do_fork;
+ my $cli_timeout;
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf";
++my $conffile = "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf";
+ my $config;
+ my $do_fork = 1;
+ my $serversocket = "munin-server-socket.$$";
+@@ -159,7 +159,7 @@
+ --host <host> Limit graphed hosts to <host>. Multiple --host options
+ may be supplied.
+ --config <file> Use <file> as configuration file.
+- [$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf]
++ [$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf]
+ --[no]debug View debug messages. [--nodebug]
+ --[no]fork Don't fork one instance for each host. [--fork]
+ --timeout=<seconds> TCP timeout when talking to clients. [$timeout]
+@@ -752,11 +752,11 @@
+ my $ca_cert;
+ my $tls_verify;
+ $key = $cert = munin_get ($config, "tls_pem");
+- $key = &munin_get ($config, "tls_private_key", "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.pem")
++ $key = &munin_get ($config, "tls_private_key", "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.pem")
+ unless defined $key;
+- $cert = &munin_get ($config, "tls_certificate", "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.pem")
++ $cert = &munin_get ($config, "tls_certificate", "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.pem")
+ unless defined $cert;
+- $ca_cert = &munin_get ($config, "tls_ca_certificate", "$Munin::Common::Defaults::MUNIN_CONFDIR/cacert.pem")
++ $ca_cert = &munin_get ($config, "tls_ca_certificate", "$Munin::Common::Defaults::MUNIN_MCONFDIR/cacert.pem")
+ unless defined $ca_cert;
+ $tls_verify=&munin_get ($config, "tls_verify_certificate", "no");
+ $depth=&munin_get ($config, "tls_verify_depth", 5);
+@@ -1088,7 +1088,7 @@
+
+ =item B<< --config <file> >>
+
+-Use E<lt>fileE<gt> as configuration file. [@@CONFDIR@@/munin.conf]
++Use E<lt>fileE<gt> as configuration file. [@@MCONFDIR@@/munin.conf]
+
+ =item B<< --help >>
+
+@@ -1124,7 +1124,7 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin.conf
++ @@MCONFDIR@@/munin.conf
+ @@DBDIR@@/*
+ @@LOGDIR@@/munin-update
+ @@STATEDIR@@/*
+diff -ur munin-2.0.17/master/lib/Munin/Master/Config.pm munin-2.0.17-sep/master/lib/Munin/Master/Config.pm
+--- munin-2.0.17/master/lib/Munin/Master/Config.pm 2013-08-17 12:26:06.476625774 +0200
++++ munin-2.0.17-sep/master/lib/Munin/Master/Config.pm 2013-08-17 12:19:22.386149494 +0200
+@@ -139,7 +139,7 @@
+ root_instance => 1,
+
+ config => bless ( {
+- config_file => "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf",
++ config_file => "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf",
+ dbdir => $Munin::Common::Defaults::MUNIN_DBDIR,
+ debug => 0,
+ fork => 1,
+@@ -153,9 +153,9 @@
+ rundir => $Munin::Common::Defaults::MUNIN_STATEDIR,
+ timeout => 180,
+ tls => 'disabled',
+- tls_ca_certificate => "$Munin::Common::Defaults::MUNIN_CONFDIR/cacert.pem",
+- tls_certificate => "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.pem",
+- tls_private_key => "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.pem",
++ tls_ca_certificate => "$Munin::Common::Defaults::MUNIN_MCONFDIR/cacert.pem",
++ tls_certificate => "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.pem",
++ tls_private_key => "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.pem",
+ tls_verify_certificate => 0,
+ tls_verify_depth => 5,
+ tmpldir => "$Munin::Common::Defaults::MUNIN_TEMPLATEDIR",
+Only in munin-2.0.17/master/lib/Munin/Master: Config.pm.orig
+diff -ur munin-2.0.17/master/lib/Munin/Master/GraphOld.pm munin-2.0.17-sep/master/lib/Munin/Master/GraphOld.pm
+--- munin-2.0.17/master/lib/Munin/Master/GraphOld.pm 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/lib/Munin/Master/GraphOld.pm 2013-08-17 12:19:22.386149494 +0200
+@@ -90,7 +90,7 @@
+ my $skip_stats = 0;
+ my $stdout = 0;
+ my $force_run_as_root = 0;
+-my $conffile = $Munin::Common::Defaults::MUNIN_CONFDIR . "/munin.conf";
++my $conffile = $Munin::Common::Defaults::MUNIN_MCONFDIR . "/munin.conf";
+ my $libdir = $Munin::Common::Defaults::MUNIN_LIBDIR;
+ # Note: Nothing by default is more convenient and elliminates code while
+ # for cgi graphing - but it breaks how munin-graph expected stuff to work.
+diff -ur munin-2.0.17/master/lib/Munin/Master/HTMLOld.pm munin-2.0.17-sep/master/lib/Munin/Master/HTMLOld.pm
+--- munin-2.0.17/master/lib/Munin/Master/HTMLOld.pm 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/lib/Munin/Master/HTMLOld.pm 2013-08-17 12:19:22.389482886 +0200
+@@ -81,7 +81,7 @@
+ my @times = ("day", "week", "month", "year");
+
+ my $DEBUG = 0;
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf";
++my $conffile = "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf";
+ my $do_usage = 0;
+ my $do_version = 0;
+ my $stdout = 0;
+@@ -857,7 +857,7 @@
+ --service <service> Compatibility. No effect.
+ --host <host> Compatibility. No effect.
+ --config <file> Use <file> as configuration file.
+- [/etc/munin/munin.conf]
++ [$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf]
+
+ ";
+ exit 0;
+@@ -892,7 +892,7 @@
+
+ =item B<< --config <file> >>
+
+-Use E<lt>fileE<gt> as configuration file. [/etc/munin/munin.conf]
++Use E<lt>fileE<gt> as configuration file. [@@MCONFDIR@@/munin.conf]
+
+ =item B<< --help >>
+
+@@ -915,7 +915,7 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin.conf
++ @@MCONFDIR@@/munin.conf
+ @@DBDIR@@/datafile
+ @@LOGDIR@@/munin-html
+ @@HTMLDIR@@/*
+diff -ur munin-2.0.17/master/lib/Munin/Master/LimitsOld.pm munin-2.0.17-sep/master/lib/Munin/Master/LimitsOld.pm
+--- munin-2.0.17/master/lib/Munin/Master/LimitsOld.pm 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/lib/Munin/Master/LimitsOld.pm 2013-08-17 12:19:22.389482886 +0200
+@@ -52,7 +52,7 @@
+ use Munin::Common::Defaults;
+
+ my $DEBUG = 0;
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf";
++my $conffile = "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf";
+ my $do_usage = 0;
+ my $do_version = 0;
+ my @limit_hosts = ();
+@@ -230,7 +230,7 @@
+ --contact <contact> Limit notified contacts to <contact>. Multiple
+ --contact options may be supplied.
+ --config <file> Use <file> as configuration file.
+- [/etc/munin/munin.conf]
++ [$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf]
+
+ ";
+ exit 0;
+Only in munin-2.0.17/master/lib/Munin/Master: Node.pm.orig
+diff -ur munin-2.0.17/master/lib/Munin/Master/Utils.pm munin-2.0.17-sep/master/lib/Munin/Master/Utils.pm
+--- munin-2.0.17/master/lib/Munin/Master/Utils.pm 2013-08-17 12:26:06.476625774 +0200
++++ munin-2.0.17-sep/master/lib/Munin/Master/Utils.pm 2013-08-17 12:19:22.389482886 +0200
+@@ -115,7 +115,7 @@
+ },
+ };
+
+-my $configfile="$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf";
++my $configfile="$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf";
+
+ # Fields to copy when "aliasing" a field
+ my @COPY_FIELDS = ("label", "draw", "type", "rrdfile", "fieldname", "info");
+Only in munin-2.0.17/master/lib/Munin/Master: Utils.pm.orig
+diff -ur munin-2.0.17/master/munin.conf.in munin-2.0.17-sep/master/munin.conf.in
+--- munin-2.0.17/master/munin.conf.in 2013-08-17 12:26:06.476625774 +0200
++++ munin-2.0.17-sep/master/munin.conf.in 2013-08-17 12:19:22.389482886 +0200
+@@ -24,7 +24,7 @@
+ # cgitmpdir @@DBDIR@@/cgi-tmp
+
+ # (Exactly one) directory to include all files from.
+-includedir @@CONFDIR@@/munin-conf.d
++includedir @@MCONFDIR@@/munin-conf.d
+
+ # You can choose the time reference for "DERIVE" like graphs, and show
+ # "per minute", "per hour" values instead of the default "per second"
+Only in munin-2.0.17/master: munin.conf.in.orig
+diff -ur munin-2.0.17/master/t/munin_master_config.t munin-2.0.17-sep/master/t/munin_master_config.t
+--- munin-2.0.17/master/t/munin_master_config.t 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/t/munin_master_config.t 2013-08-17 12:23:31.933897977 +0200
+@@ -24,7 +24,7 @@
+ },
+
+ config => {
+- config_file => "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.conf",
++ config_file => "$Munin::Common::Defaults::MUNIN_MCONFDIR/munin.conf",
+ dbdir => '/opt/munin/sandbox/var/opt/munin',
+ debug => 0,
+ fork => 1,
+diff -ur munin-2.0.17/master/www/munin-htaccess.in munin-2.0.17-sep/master/www/munin-htaccess.in
+--- munin-2.0.17/master/www/munin-htaccess.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/master/www/munin-htaccess.in 2013-08-17 12:19:22.389482886 +0200
+@@ -9,7 +9,7 @@
+ #
+ # <directory @@HTMLDIR@@>
+
+-AuthUserFile @@CONFDIR@@/munin-htpasswd
++AuthUserFile @@MCONFDIR@@/munin-htpasswd
+ AuthName "Munin"
+ AuthType Basic
+ require valid-user
+diff -ur munin-2.0.17/node/bin/munindoc munin-2.0.17-sep/node/bin/munindoc
+--- munin-2.0.17/node/bin/munindoc 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/bin/munindoc 2013-08-17 12:19:22.389482886 +0200
+@@ -48,7 +48,7 @@
+
+ # Dirs in which to look for $plugin.pod and $plugin files.
+ my @DIRS = ("$Munin::Common::Defaults::MUNIN_LIBDIR/plugins",
+- "$Munin::Common::Defaults::MUNIN_CONFDIR/plugins",
++ "$Munin::Common::Defaults::MUNIN_NCONFDIR/plugins",
+ "$Munin::Common::Defaults::MUNIN_PERLLIB");
+
+ File::Find::find({wanted => \&wanted_pod}, @DIRS);
+diff -ur munin-2.0.17/node/doc/munin-node.conf.pod munin-2.0.17-sep/node/doc/munin-node.conf.pod
+--- munin-2.0.17/node/doc/munin-node.conf.pod 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/doc/munin-node.conf.pod 2013-08-17 12:24:04.784478220 +0200
+@@ -91,20 +91,20 @@
+ =item B<tls_private_key> <value>
+
+ This directive sets the location of the private key to be used for
+-TLS. Default is @@CONFDIR@@/munin-node.pem. The private key and
++TLS. Default is @@NCONFDIR@@/munin-node.pem. The private key and
+ certificate can be stored in the same file.
+
+ =item B<tls_certificate> <value>
+
+ This directive sets the location of the TLS certificate to be used for
+-TLS. Default is @@CONFDIR@@/munin-node.pem. The private key and
++TLS. Default is @@NCONFDIR@@/munin-node.pem. The private key and
+ certificate can be stored in the same file.
+
+ =item B<tls_ca_certificate> <value>
+
+ This directive sets the CA certificate to be used to verify the node's
+ certificate, if tls_verify_certificate is set to C<yes>. Default is
+-@@CONFDIR@@/cacert.pem.
++@@NCONFDIR@@/cacert.pem.
+
+ =item B<tls_verify_depth> <value>
+
+diff -ur munin-2.0.17/node/extras/munin-node-simple.in munin-2.0.17-sep/node/extras/munin-node-simple.in
+--- munin-2.0.17/node/extras/munin-node-simple.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/extras/munin-node-simple.in 2013-08-17 12:19:22.389482886 +0200
+@@ -28,8 +28,8 @@
+
+ $| = 1;
+
+-my $clientdir = "@@CONFDIR@@/node.d";
+-my $conffile = "@@CONFDIR@@/node-simple.conf";
++my $clientdir = "@@NCONFDIR@@/node.d";
++my $conffile = "@@NCONFDIR@@/node-simple.conf";
+ my $version = "@@VERSION@@";
+
+ # Empty environment
+diff -ur munin-2.0.17/node/lib/Munin/Node/Config.pm munin-2.0.17-sep/node/lib/Munin/Node/Config.pm
+--- munin-2.0.17/node/lib/Munin/Node/Config.pm 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/lib/Munin/Node/Config.pm 2013-08-17 12:19:22.389482886 +0200
+@@ -25,7 +25,7 @@
+ my ($class) = @_;
+
+ $instance ||= bless {
+- config_file => "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf",
++ config_file => "$Munin::Common::Defaults::MUNIN_NCONFDIR/munin-node.conf",
+ }, $class;
+
+ return $instance;
+diff -ur munin-2.0.17/node/lib/Munin/Node/Server.pm munin-2.0.17-sep/node/lib/Munin/Node/Server.pm
+--- munin-2.0.17/node/lib/Munin/Node/Server.pm 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/lib/Munin/Node/Server.pm 2013-08-17 12:19:22.389482886 +0200
+@@ -263,11 +263,11 @@
+ my $mode = $session->{tls_mode};
+
+ my $key = $config->{tls_private_key}
+- || "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.pem";
++ || "$Munin::Common::Defaults::MUNIN_NCONFDIR/munin-node.pem";
+ my $cert = $config->{tls_certificate}
+- || "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.pem";
++ || "$Munin::Common::Defaults::MUNIN_NCONFDIR/munin-node.pem";
+ my $ca_cert = $config->{tls_ca_certificate}
+- || "$Munin::Common::Defaults::MUNIN_CONFDIR/cacert.pem";
++ || "$Munin::Common::Defaults::MUNIN_NCONFDIR/cacert.pem";
+ my $tls_verify = $config->{tls_verify_certificate}
+ || 0;
+ my $tls_match = $config->{tls_match};
+diff -ur munin-2.0.17/node/lib/Munin/Node/Service.pm munin-2.0.17-sep/node/lib/Munin/Node/Service.pm
+--- munin-2.0.17/node/lib/Munin/Node/Service.pm 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/lib/Munin/Node/Service.pm 2013-08-17 12:24:22.264786886 +0200
+@@ -22,7 +22,7 @@
+ my ($class, %args) = @_;
+
+ # Set defaults
+- $args{servicedir} ||= "$Munin::Common::Defaults::MUNIN_CONFDIR/plugins";
++ $args{servicedir} ||= "$Munin::Common::Defaults::MUNIN_NCONFDIR/plugins";
+
+ $args{defuser} ||= getpwnam $Munin::Common::Defaults::MUNIN_PLUGINUSER;
+ $args{defgroup} ||= getgrnam $Munin::Common::Defaults::MUNIN_GROUP;
+diff -ur munin-2.0.17/node/sbin/munin-node munin-2.0.17-sep/node/sbin/munin-node
+--- munin-2.0.17/node/sbin/munin-node 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/sbin/munin-node 2013-08-17 12:19:22.389482886 +0200
+@@ -36,8 +36,8 @@
+ use Munin::Node::Server;
+
+ my $servicedir;
+-my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d";
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf";
++my $sconfdir = "$Munin::Common::Defaults::MUNIN_NCONFDIR/plugin-conf.d";
++my $conffile = "$Munin::Common::Defaults::MUNIN_NCONFDIR/munin-node.conf";
+ my $DEBUG = 0;
+ my $PIDEBUG = 0;
+ my $paranoia = 0;
+@@ -164,7 +164,7 @@
+
+ =item B<< --config <configfile> >>
+
+-Use E<lt>fileE<gt> as configuration file. [@@CONFDIR@@/munin-node.conf]
++Use E<lt>fileE<gt> as configuration file. [@@NCONFDIR@@/munin-node.conf]
+
+ =item B< --[no]paranoia >
+
+@@ -187,9 +187,9 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin-node.conf
+- @@CONFDIR@@/plugins/*
+- @@CONFDIR@@/plugin-conf.d/*
++ @@NCONFDIR@@/munin-node.conf
++ @@NCONFDIR@@/plugins/*
++ @@NCONFDIR@@/plugin-conf.d/*
+ @@STATEDIR@@/munin-node.pid
+ @@LOGDIR@@/munin-node.log
+
+diff -ur munin-2.0.17/node/sbin/munin-node-configure munin-2.0.17-sep/node/sbin/munin-node-configure
+--- munin-2.0.17/node/sbin/munin-node-configure 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/sbin/munin-node-configure 2013-08-17 12:19:22.489484658 +0200
+@@ -76,9 +76,9 @@
+
+ sub parse_args
+ {
+- my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf";
+- my $servicedir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugins";
+- my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d";
++ my $conffile = "$Munin::Common::Defaults::MUNIN_NCONFDIR/munin-node.conf";
++ my $servicedir = "$Munin::Common::Defaults::MUNIN_NCONFDIR/plugins";
++ my $sconfdir = "$Munin::Common::Defaults::MUNIN_NCONFDIR/plugin-conf.d";
+ my $libdir = "$Munin::Common::Defaults::MUNIN_LIBDIR/plugins";
+
+ my $debug = 0;
+@@ -492,15 +492,15 @@
+
+ =item B<< --config <file> >>
+
+-Override configuration file [@@CONFDIR@@/munin-node.conf]
++Override configuration file [@@NCONFDIR@@/munin-node.conf]
+
+ =item B<< --servicedir <dir> >>
+
+-Override plugin directory [@@CONFDIR@@/plugins/]
++Override plugin directory [@@NCONFDIR@@/plugins/]
+
+ =item B<< --sconfdir <dir> >>
+
+-Override plugin configuration directory [@@CONFDIR@@/plugin-conf.d/]
++Override plugin configuration directory [@@NCONFDIR@@/plugin-conf.d/]
+
+ =item B<< --libdir <dir> >>
+
+@@ -648,9 +648,9 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin-node.conf
+- @@CONFDIR@@/plugin-conf.d/*
+- @@CONFDIR@@/plugins/*
++ @@NCONFDIR@@/munin-node.conf
++ @@NCONFDIR@@/plugin-conf.d/*
++ @@NCONFDIR@@/plugins/*
+ @@LIBDIR@@/plugins/plugins.history
+ @@LIBDIR@@/plugins/*
+
+diff -ur munin-2.0.17/node/sbin/munin-run munin-2.0.17-sep/node/sbin/munin-run
+--- munin-2.0.17/node/sbin/munin-run 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/sbin/munin-run 2013-08-17 12:19:22.489484658 +0200
+@@ -35,7 +35,7 @@
+
+ my $services;
+ my $servicedir;
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf";
++my $conffile = "$Munin::Common::Defaults::MUNIN_NCONFDIR/munin-node.conf";
+ my $DEBUG = 0;
+ my $PIDEBUG = 0;
+ my $paranoia = 0;
+@@ -98,7 +98,7 @@
+ sub parse_args
+ {
+ # Default configuration values
+- my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d";
++ my $sconfdir = "$Munin::Common::Defaults::MUNIN_NCONFDIR/plugin-conf.d";
+ my $sconffile;
+
+ my ($plugin, $arg);
+@@ -189,15 +189,15 @@
+
+ =item B<< --config <configfile> >>
+
+-Use E<lt>fileE<gt> as configuration file. [@@CONFDIR@@/munin-node.conf]
++Use E<lt>fileE<gt> as configuration file. [@@NCONFDIR@@/munin-node.conf]
+
+ =item B<< --servicedir <dir> >>
+
+-Use E<lt>dirE<gt> as plugin dir. [@@CONFDIR@@/plugins/]
++Use E<lt>dirE<gt> as plugin dir. [@@NCONFDIR@@/plugins/]
+
+ =item B<< --sconfdir <dir> >>
+
+-Use E<lt>dirE<gt> as plugin configuration dir. [@@CONFDIR@@/plugin-conf.d/]
++Use E<lt>dirE<gt> as plugin configuration dir. [@@NCONFDIR@@/plugin-conf.d/]
+
+ =item B<< --sconffile <file> >>
+
+@@ -230,9 +230,9 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin-node.conf
+- @@CONFDIR@@/plugins/*
+- @@CONFDIR@@/plugin-conf.d/*
++ @@NCONFDIR@@/munin-node.conf
++ @@NCONFDIR@@/plugins/*
++ @@NCONFDIR@@/plugin-conf.d/*
+ @@STATEDIR@@/munin-node.pid
+ @@LOGDIR@@/munin-node.log
+
+diff -ur munin-2.0.17/node/sbin/munin-sched munin-2.0.17-sep/node/sbin/munin-sched
+--- munin-2.0.17/node/sbin/munin-sched 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/node/sbin/munin-sched 2013-08-17 12:24:54.562023692 +0200
+@@ -34,8 +34,8 @@
+ use Munin::Node::ProxySpooler;
+
+ my $servicedir;
+-my $sconfdir = "$Munin::Common::Defaults::MUNIN_CONFDIR/plugin-conf.d";
+-my $conffile = "$Munin::Common::Defaults::MUNIN_CONFDIR/munin-node.conf";
++my $sconfdir = "$Munin::Common::Defaults::MUNIN_NCONFDIR/plugin-conf.d";
++my $conffile = "$Munin::Common::Defaults::MUNIN_NCONFDIR/munin-node.conf";
+ my $spooldir = $Munin::Common::Defaults::MUNIN_SPOOLDIR;
+
+ my ($host, $port);
+@@ -164,7 +164,7 @@
+
+ =item B<< --config <configfile> >>
+
+-Use E<lt>fileE<gt> as configuration file. [@@CONFDIR@@/munin-node.conf]
++Use E<lt>fileE<gt> as configuration file. [@@NCONFDIR@@/munin-node.conf]
+
+ =item B< --[no]paranoia >
+
+@@ -182,9 +182,9 @@
+
+ =head1 FILES
+
+- @@CONFDIR@@/munin-node.conf
+- @@CONFDIR@@/plugins/*
+- @@CONFDIR@@/plugin-conf.d/*
++ @@NCONFDIR@@/munin-node.conf
++ @@NCONFDIR@@/plugins/*
++ @@NCONFDIR@@/plugin-conf.d/*
+ @@STATEDIR@@/munin-sched.pid
+ @@LOGDIR@@/munin-sched.log
+
+diff -ur munin-2.0.17/plugins/node.d/exim_mailqueue.in munin-2.0.17-sep/plugins/node.d/exim_mailqueue.in
+--- munin-2.0.17/plugins/node.d/exim_mailqueue.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/exim_mailqueue.in 2013-08-17 12:19:22.489484658 +0200
+@@ -15,7 +15,7 @@
+ [exim_*]
+ user exim
+
+-Configuration parameters for a file in @@CONFDIR@@/plugin-conf.d/
++Configuration parameters for a file in @@NCONFDIR@@/plugin-conf.d/
+ if you need to override the defaults below:
+
+ [exim_mailqueue]
+diff -ur munin-2.0.17/plugins/node.d/ipmi_sensor_.in munin-2.0.17-sep/plugins/node.d/ipmi_sensor_.in
+--- munin-2.0.17/plugins/node.d/ipmi_sensor_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/ipmi_sensor_.in 2013-08-17 12:19:22.489484658 +0200
+@@ -17,7 +17,7 @@
+ ipmitool probably needs to be run as root, and it may take more than
+ 10 seconds on some hosts.
+
+-Add the following to your @@CONFDIR@@/munin-node:
++Add the following to your @@NCONFDIR@@/munin-node:
+
+ [ipmi_sensor_*]
+ user root
+@@ -49,7 +49,7 @@
+
+ =head1 BUGS
+
+-Plugin reads @@CONFDIR@@/ipmi directly, instead of reading environment
++Plugin reads @@NCONFDIR@@/ipmi directly, instead of reading environment
+ variables.
+
+ =head1 MAGIC MARKERS
+@@ -72,7 +72,7 @@
+ CACHEDIR = os.environ['MUNIN_PLUGSTATE']
+ CACHEFILE = "plugin-ipmi_sensor.cache"
+ CACHEAGE = 120
+-CONFIG = '@@CONFDIR@@/ipmi'
++CONFIG = '@@NCONFDIR@@/ipmi'
+
+
+
+diff -ur munin-2.0.17/plugins/node.d/mysql_innodb.in munin-2.0.17-sep/plugins/node.d/mysql_innodb.in
+--- munin-2.0.17/plugins/node.d/mysql_innodb.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/mysql_innodb.in 2013-08-17 12:19:22.489484658 +0200
+@@ -34,7 +34,7 @@
+
+ =head1 CONFIGURATION
+
+-Configuration parameters for @@CONFDIR@@/mysql_innodb,
++Configuration parameters for @@NCONFDIR@@/mysql_innodb,
+ if you need to override the defaults below:
+
+ [mysql_innodb]
+diff -ur munin-2.0.17/plugins/node.d/mysql_isam_space_.in munin-2.0.17-sep/plugins/node.d/mysql_isam_space_.in
+--- munin-2.0.17/plugins/node.d/mysql_isam_space_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/mysql_isam_space_.in 2013-08-17 12:19:22.489484658 +0200
+@@ -8,7 +8,7 @@
+
+ =head1 CONFIGURATION
+
+-Configuration parameters for @@CONFDIR@@/PLUGIN,
++Configuration parameters for @@NCONFDIR@@/PLUGIN,
+ if you need to override the defaults below:
+
+ [mysql_isam_space_*]
+diff -ur munin-2.0.17/plugins/node.d/mysql_threads.in munin-2.0.17-sep/plugins/node.d/mysql_threads.in
+--- munin-2.0.17/plugins/node.d/mysql_threads.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/mysql_threads.in 2013-08-17 12:19:22.489484658 +0200
+@@ -9,7 +9,7 @@
+
+ =head1 CONFIGURATION
+
+-Configuration parameters for @@CONFDIR@@/mysql_threads, if you
++Configuration parameters for @@NCONFDIR@@/mysql_threads, if you
+ need to override the defaults below:
+
+ [mysql_threads]
+diff -ur munin-2.0.17/plugins/node.d/named.in munin-2.0.17-sep/plugins/node.d/named.in
+--- munin-2.0.17/plugins/node.d/named.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/named.in 2013-08-17 12:19:22.489484658 +0200
+@@ -34,7 +34,7 @@
+
+ =head1 CONFIGURATION
+
+-Configuration parameters for @@CONFDIR@@/named,
++Configuration parameters for @@NCONFDIR@@/named,
+ if you need to override the defaults below:
+
+ [named]
+diff -ur munin-2.0.17/plugins/node.d/ntp_kernel_pll_freq.in munin-2.0.17-sep/plugins/node.d/ntp_kernel_pll_freq.in
+--- munin-2.0.17/plugins/node.d/ntp_kernel_pll_freq.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/ntp_kernel_pll_freq.in 2013-08-17 12:19:22.489484658 +0200
+@@ -12,7 +12,7 @@
+
+ No configuration
+
+-This plugin optionally reads the file @@CONFDIR@@/ntp-freq-comp, which
++This plugin optionally reads the file @@NCONFDIR@@/ntp-freq-comp, which
+ should contain a number to be added to the frequency read by ntpdc.
+
+ =head1 AUTHORS
+@@ -46,8 +46,8 @@
+ exit 0
+ fi
+
+-if [ -f @@CONFDIR@@/ntp-freq-comp ]; then
+- fcomp=`cat @@CONFDIR@@/ntp-freq-comp`
++if [ -f @@NCONFDIR@@/ntp-freq-comp ]; then
++ fcomp=`cat @@NCONFDIR@@/ntp-freq-comp`
+ else
+ fcomp=0
+ fi
+diff -ur munin-2.0.17/plugins/node.d/postfix_mailstats.in munin-2.0.17-sep/plugins/node.d/postfix_mailstats.in
+--- munin-2.0.17/plugins/node.d/postfix_mailstats.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/postfix_mailstats.in 2013-08-17 12:19:22.489484658 +0200
+@@ -8,7 +8,7 @@
+
+ =head1 CONFIGURATION
+
+-Configuration parameters for @@CONFDIR@@/postfix_mailstats,
++Configuration parameters for @@NCONFDIR@@/postfix_mailstats,
+ if you need to override the defaults below:
+
+ [postfix_mailstats]
+diff -ur munin-2.0.17/plugins/node.d/psu_.in munin-2.0.17-sep/plugins/node.d/psu_.in
+--- munin-2.0.17/plugins/node.d/psu_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/psu_.in 2013-08-17 12:19:22.489484658 +0200
+@@ -15,7 +15,7 @@
+
+ Example:
+
+- ln -s @@LIBDIR@@/plugins/psu_ @@CONFDIR@@/plugins/psu_foo
++ ln -s @@LIBDIR@@/plugins/psu_ @@NCONFDIR@@/plugins/psu_foo
+
+ ...will monitor the user "foo"
+
+diff -ur munin-2.0.17/plugins/node.d/squeezebox_.in munin-2.0.17-sep/plugins/node.d/squeezebox_.in
+--- munin-2.0.17/plugins/node.d/squeezebox_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/squeezebox_.in 2013-08-17 12:19:22.489484658 +0200
+@@ -20,7 +20,7 @@
+ non-default configuration, please use the environment variables
+ 'squeezebox_host' and 'squeezebox_port' to connect. Also, if your
+ nc(1) binary is not called "nc", or not the one in $PATH, please define it
+-in the plugin's environment file (@@CONFDIR@@/squeezebox or similar).
++in the plugin's environment file (@@NCONFDIR@@/squeezebox or similar).
+
+ Sample follows:
+
+diff -ur munin-2.0.17/plugins/node.d/varnish_.in munin-2.0.17-sep/plugins/node.d/varnish_.in
+--- munin-2.0.17/plugins/node.d/varnish_.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d/varnish_.in 2013-08-17 12:19:22.492818051 +0200
+@@ -54,7 +54,7 @@
+ You can link them yourself with something like this:
+
+ ln -s @@LIBDIR@@/plugins/varnish_ \
+- @@CONFDIR@@/plugins/varnish_data_structures
++ @@NCONFDIR@@/plugins/varnish_data_structures
+
+ =head1 INTERPRETATION
+
+diff -ur munin-2.0.17/plugins/node.d.cygwin/df.in munin-2.0.17-sep/plugins/node.d.cygwin/df.in
+--- munin-2.0.17/plugins/node.d.cygwin/df.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.cygwin/df.in 2013-08-17 12:25:08.005594281 +0200
+@@ -13,7 +13,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ The plugin excludes per default the following special, read-only or
+ dynamically allocating file systems from graphing:
+diff -ur munin-2.0.17/plugins/node.d.debug/if.in munin-2.0.17-sep/plugins/node.d.debug/if.in
+--- munin-2.0.17/plugins/node.d.debug/if.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.debug/if.in 2013-08-17 12:25:17.379093018 +0200
+@@ -21,7 +21,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 MAGIC MARKERS
+
+diff -ur munin-2.0.17/plugins/node.d.debug/tc.in munin-2.0.17-sep/plugins/node.d.debug/tc.in
+--- munin-2.0.17/plugins/node.d.debug/tc.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.debug/tc.in 2013-08-17 12:25:26.375918427 +0200
+@@ -21,7 +21,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 MAGIC MARKERS
+
+diff -ur munin-2.0.17/plugins/node.d.linux/acpi.in munin-2.0.17-sep/plugins/node.d.linux/acpi.in
+--- munin-2.0.17/plugins/node.d.linux/acpi.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/acpi.in 2013-08-17 12:19:22.492818051 +0200
+@@ -17,7 +17,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 INTERPRETATION
+
+diff -ur munin-2.0.17/plugins/node.d.linux/apt.in munin-2.0.17-sep/plugins/node.d.linux/apt.in
+--- munin-2.0.17/plugins/node.d.linux/apt.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/apt.in 2013-08-17 12:19:22.492818051 +0200
+@@ -38,7 +38,7 @@
+
+ =head1 USAGE
+
+-Link this plugin in @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin in @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 NOTES
+
+diff -ur munin-2.0.17/plugins/node.d.linux/df.in munin-2.0.17-sep/plugins/node.d.linux/df.in
+--- munin-2.0.17/plugins/node.d.linux/df.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/df.in 2013-08-17 12:19:22.492818051 +0200
+@@ -28,7 +28,7 @@
+ env.warning 92
+ env.critical 98
+
+-Put it in a file in @@CONFDIR@@/plugin-conf.d/ and restart the munin-node.
++Put it in a file in @@NCONFDIR@@/plugin-conf.d/ and restart the munin-node.
+
+ You may specify filesystem specific warning and critical levels:
+
+@@ -55,7 +55,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 MAGIC MARKERS
+
+diff -ur munin-2.0.17/plugins/node.d.linux/df_inode.in munin-2.0.17-sep/plugins/node.d.linux/df_inode.in
+--- munin-2.0.17/plugins/node.d.linux/df_inode.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/df_inode.in 2013-08-17 12:25:37.609449943 +0200
+@@ -28,7 +28,7 @@
+ env.warning 92
+ env.critical 98
+
+-Put it in a file in @@CONFDIR@@/plugin-conf.d/ and restart the munin-node.
++Put it in a file in @@NCONFDIR@@/plugin-conf.d/ and restart the munin-node.
+
+ You may specify filesystem specific warning and critical levels:
+
+@@ -55,7 +55,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 MAGIC MARKERS
+
+diff -ur munin-2.0.17/plugins/node.d.linux/fw_conntrack.in munin-2.0.17-sep/plugins/node.d.linux/fw_conntrack.in
+--- munin-2.0.17/plugins/node.d.linux/fw_conntrack.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/fw_conntrack.in 2013-08-17 12:19:22.492818051 +0200
+@@ -11,7 +11,7 @@
+
+ =head2 CONFIGURATION EXAMPLE
+
+-@@CONFDIR@@/plugin-conf.d/global or other file in that dir must contain:
++@@NCONFDIR@@/plugin-conf.d/global or other file in that dir must contain:
+
+ [fw_*]
+ user root
+diff -ur munin-2.0.17/plugins/node.d.linux/fw_forwarded_local.in munin-2.0.17-sep/plugins/node.d.linux/fw_forwarded_local.in
+--- munin-2.0.17/plugins/node.d.linux/fw_forwarded_local.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/fw_forwarded_local.in 2013-08-17 12:19:22.492818051 +0200
+@@ -10,7 +10,7 @@
+
+ =head2 CONFIGURATION EXAMPLE
+
+-@@CONFDIR@@/plugin-conf.d/global or other file in that dir must contain:
++@@NCONFDIR@@/plugin-conf.d/global or other file in that dir must contain:
+
+ [fw_*]
+ user root
+diff -ur munin-2.0.17/plugins/node.d.linux/fw_packets.in munin-2.0.17-sep/plugins/node.d.linux/fw_packets.in
+--- munin-2.0.17/plugins/node.d.linux/fw_packets.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/fw_packets.in 2013-08-17 12:19:22.492818051 +0200
+@@ -11,7 +11,7 @@
+
+ =head1 CONFIGURATION EXAMPLE
+
+-@@CONFDIR@@/plugin-conf.d/global or other file in that dir must contain:
++@@NCONFDIR@@/plugin-conf.d/global or other file in that dir must contain:
+
+ [fw*]
+ user root
+diff -ur munin-2.0.17/plugins/node.d.linux/iostat.in munin-2.0.17-sep/plugins/node.d.linux/iostat.in
+--- munin-2.0.17/plugins/node.d.linux/iostat.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/iostat.in 2013-08-17 12:19:22.492818051 +0200
+@@ -24,7 +24,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 INTERPRETATION
+
+diff -ur munin-2.0.17/plugins/node.d.linux/iostat_ios.in munin-2.0.17-sep/plugins/node.d.linux/iostat_ios.in
+--- munin-2.0.17/plugins/node.d.linux/iostat_ios.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/iostat_ios.in 2013-08-17 12:19:22.492818051 +0200
+@@ -15,7 +15,7 @@
+
+ =head1 USAGE
+
+-Link this into @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this into @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 INTERPRETATION
+
+diff -ur munin-2.0.17/plugins/node.d.linux/irqstats.in munin-2.0.17-sep/plugins/node.d.linux/irqstats.in
+--- munin-2.0.17/plugins/node.d.linux/irqstats.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/plugins/node.d.linux/irqstats.in 2013-08-17 12:19:22.492818051 +0200
+@@ -15,7 +15,7 @@
+
+ =head1 USAGE
+
+-Link this plugin to @@CONFDIR@@/plugins/ and restart the munin-node.
++Link this plugin to @@NCONFDIR@@/plugins/ and restart the munin-node.
+
+ =head1 INTERPRETATION
+
+diff -ur munin-2.0.17/resources/hpux-init.d_munin-node.in munin-2.0.17-sep/resources/hpux-init.d_munin-node.in
+--- munin-2.0.17/resources/hpux-init.d_munin-node.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/resources/hpux-init.d_munin-node.in 2013-08-17 12:19:22.492818051 +0200
+@@ -6,7 +6,7 @@
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ NAME=munin-node
+ DAEMON=@@SBINDIR@@/$NAME
+-CONFFILE=@@CONFDIR@@/munin-node.conf
++CONFFILE=@@NCONFDIR@@/munin-node.conf
+ RUN_AS=$(awk '$1~/user/{print$2}' $CONFFILE)
+ PIDFILE=$(awk '$1~/pid/{print$2}' $CONFFILE)
+ MYCONF=/etc/rc.config.d/muninconf
+diff -ur munin-2.0.17/resources/linux-cron.d_munin-node.in munin-2.0.17-sep/resources/linux-cron.d_munin-node.in
+--- munin-2.0.17/resources/linux-cron.d_munin-node.in 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/resources/linux-cron.d_munin-node.in 2013-08-17 12:19:22.492818051 +0200
+@@ -8,5 +8,5 @@
+ # an hour (12 invokations an hour, 1 in 12 chance that the update will
+ # happen), but ensure that there will never be more than two hour (7200
+ # seconds) interval between updates..
+-*/5 * * * * root [ -x @@CONFDIR@@/plugins/apt ] && @@CONFDIR@@/plugins/apt update 7200 12 >/dev/null
++*/5 * * * * root [ -x @@NCONFDIR@@/plugins/apt ] && @@NCONFDIR@@/plugins/apt update 7200 12 >/dev/null
+
+diff -ur munin-2.0.17/t/Makefile.config munin-2.0.17-sep/t/Makefile.config
+--- munin-2.0.17/t/Makefile.config 2013-07-19 18:30:03.000000000 +0200
++++ munin-2.0.17-sep/t/Makefile.config 2013-08-17 12:19:22.492818051 +0200
+@@ -9,7 +9,8 @@
+ PREFIX = $(PWD)/t/install
+
+ # Where Munin keeps its configurations (server.conf, client.conf, ++)
+-CONFDIR = $(PREFIX)/etc
++MCONFDIR = $(PREFIX)/etc
++NCONFDIR = $(PREFIX)/etc
+
+ # Client only - Where to put RRD files and other intenal data
+ DBDIR = $(PREFIX)/var/lib
--- /dev/null
+diff -ur munin-1.4.0/common/lib/Munin/Common/Defaults.pm munin-1.4.0.template/common/lib/Munin/Common/Defaults.pm
+--- munin-1.4.0/common/lib/Munin/Common/Defaults.pm 2009-11-27 12:17:16.000000000 +0100
++++ munin-1.4.0.template/common/lib/Munin/Common/Defaults.pm 2009-11-30 15:53:32.281661475 +0100
+@@ -30,6 +30,7 @@
+ our $MUNIN_MANDIR = '';
+ our $MUNIN_LOGDIR = "$COMPONENT_ROOT/log/";
+ our $MUNIN_STATEDIR = '';
++our $MUNIN_TEMPLATEDIR = '';
+ our $MUNIN_USER = getpwuid $UID;
+ our $MUNIN_GROUP = getgrgid $GID;
+ our $MUNIN_PLUGINUSER = getpwuid $UID;
+diff -ur munin-1.4.0/contrib/munin-every-services-all-boxes-build-html.in munin-1.4.0.template/contrib/munin-every-services-all-boxes-build-html.in
+--- munin-1.4.0/contrib/munin-every-services-all-boxes-build-html.in 2009-11-27 12:17:18.000000000 +0100
++++ munin-1.4.0.template/contrib/munin-every-services-all-boxes-build-html.in 2009-11-30 15:31:14.400724600 +0100
+@@ -23,7 +23,7 @@
+
+ chown @@USER@@.@@GROUP@@ @@HTMLDIR@@/every-services-all-boxes
+
+-in @@CONFDIR@@/templates/munin-overview.tmpl:
++in @@TEMPLATEDIR@@/munin-overview.tmpl:
+
+ <div class="box">
+ <a href=every-services-all-boxes>every services on all boxes</a>
+diff -ur munin-1.4.0/Makefile munin-1.4.0.template/Makefile
+--- munin-1.4.0/Makefile 2009-11-30 15:56:58.665729798 +0100
++++ munin-1.4.0.template/Makefile 2009-11-30 15:43:56.093673451 +0100
+@@ -72,9 +72,9 @@
+ $(CHOWN) $(USER) $(LOGDIR) $(STATEDIR)
+
+ install-master-prime: $(INFILES_MASTER) install-pre install-master
+- mkdir -p $(CONFDIR)/templates
+- mkdir -p $(CONFDIR)/static
+- mkdir -p $(CONFDIR)/templates/partial
++ mkdir -p $(TEMPLATEDIR)
++ mkdir -p $(TEMPLATEDIR)/static
++ mkdir -p $(TEMPLATEDIR)/partial
+ mkdir -p $(CONFDIR)/munin-conf.d
+ mkdir -p $(LIBDIR)
+ mkdir -p $(BINDIR)
+@@ -87,15 +87,15 @@
+ $(CHMOD) 0755 $(DBDIR)
+
+ for p in master/www/*.tmpl ; do \
+- $(INSTALL) -m 0644 "$$p" $(CONFDIR)/templates/ ; \
++ $(INSTALL) -m 0644 "$$p" $(TEMPLATEDIR)/ ; \
+ done
+
+ for p in master/static/* ; do \
+- $(INSTALL) -m 0644 "$$p" $(CONFDIR)/static/ ; \
++ $(INSTALL) -m 0644 "$$p" $(TEMPLATEDIR)/static/ ; \
+ done
+
+ for p in master/www/partial/*.tmpl; do \
+- $(INSTALL) -m 0644 "$$p" $(CONFDIR)/templates/partial/ ; \
++ $(INSTALL) -m 0644 "$$p" $(TEMPLATEDIR)/partial/ ; \
+ done
+
+ $(INSTALL) -m 0755 master/DejaVuSansMono.ttf $(LIBDIR)/
+@@ -217,6 +217,7 @@
+ -e 's|@@GOODSH@@|$(GOODSH)|g' \
+ -e 's|@@BASH@@|$(BASH)|g' \
+ -e 's|@@HASSETR@@|$(HASSETR)|g' \
++ -e 's|@@TEMPLATEDIR@@|$(TEMPLATEDIR)|g' \
+ $< > $@;
+
+
+@@ -255,7 +256,8 @@
+ s{(PLUGINUSER \s+=\s).*}{\1q{$(PLUGINUSER)};}x; \
+ s{(GOODSH \s+=\s).*}{\1q{$(GOODSH)};}x; \
+ s{(BASH \s+=\s).*}{\1q{$(BASH)};}x; \
+- s{(HASSETR \s+=\s).*}{\1q{$(HASSETR)};}x;' \
++ s{(HASSETR \s+=\s).*}{\1q{$(HASSETR)};}x; \
++ s{(TEMPLATEDIR \s+=\s).*}{\1q{$(TEMPLATEDIR)};}x;'\
+ $< > $@
+
+ build-doc: build-doc-stamp Makefile Makefile.config
+diff -ur munin-1.4.0/Makefile.config munin-1.4.0.template/Makefile.config
+--- munin-1.4.0/Makefile.config 2009-11-30 15:56:58.665729798 +0100
++++ munin-1.4.0.template/Makefile.config 2009-11-30 15:44:54.459859861 +0100
+@@ -40,6 +40,7 @@
+ # Server only - Output directory
+ HTMLDIR = $(DESTDIR)/var/lib/munin/html
+ CGIDIR = $(LIBDIR)/cgi
++TEMPLATEDIR= $(DESTDIR)/etc/webapps/munin/templates
+
+ # Server only - spool directory for data gathered from nodes by
+ # munin-gather - experimental. Place on ramdisk to make munin
+diff -ur munin-1.4.0/master/doc/munin.conf.pod.in munin-1.4.0.template/master/doc/munin.conf.pod.in
+--- munin-1.4.0/master/doc/munin.conf.pod.in 2009-11-27 12:17:16.000000000 +0100
++++ munin-1.4.0.template/master/doc/munin.conf.pod.in 2009-11-30 15:51:40.016661676 +0100
+@@ -68,7 +68,7 @@
+
+ Directory for files tracking munin's current running state. Required.
+
+-=item B<tmpldir> I<path> (Default: F<@@CONFDIR@@/templates>)
++=item B<tmpldir> I<path> (Default: F<@@TEMPLATEDIR@@>)
+
+ Directory for templates used to generate HTML pages. Required.
+
+diff -ur munin-1.4.0/master/lib/Munin/Master/Config.pm munin-1.4.0.template/master/lib/Munin/Master/Config.pm
+--- munin-1.4.0/master/lib/Munin/Master/Config.pm 2009-11-27 12:17:17.000000000 +0100
++++ munin-1.4.0.template/master/lib/Munin/Master/Config.pm 2009-11-30 15:50:50.533791958 +0100
+@@ -156,8 +156,8 @@
+ tls_private_key => "$Munin::Common::Defaults::MUNIN_CONFDIR/munin.pem",
+ tls_verify_certificate => 0,
+ tls_verify_depth => 5,
+- tmpldir => "$Munin::Common::Defaults::MUNIN_CONFDIR/templates",
+- staticdir => "$Munin::Common::Defaults::MUNIN_CONFDIR/static",
++ tmpldir => "$Munin::Common::Defaults::MUNIN_TEMPLATEDIR",
++ staticdir => "$Munin::Common::Defaults::MUNIN_TEMPLATEDIR/static",
+ cgitmpdir => "$Munin::Common::Defaults::MUNIN_DBDIR/cgi-tmp",
+ }, $class ),
+
+diff -ur munin-1.4.0/master/lib/Munin/Master/Utils.pm munin-1.4.0.template/master/lib/Munin/Master/Utils.pm
+--- munin-1.4.0/master/lib/Munin/Master/Utils.pm 2009-11-27 12:17:18.000000000 +0100
++++ munin-1.4.0.template/master/lib/Munin/Master/Utils.pm 2009-11-30 15:49:47.135724128 +0100
+@@ -273,8 +273,8 @@
+ $config->{'rundir'} ||= $Munin::Common::Defaults::MUNIN_STATEDIR;
+ $config->{'dbdir'} ||= $Munin::Common::Defaults::MUNIN_DBDIR;
+ $config->{'logdir'} ||= $Munin::Common::Defaults::MUNIN_LOGDIR;
+- $config->{'tmpldir'} ||= "$Munin::Common::Defaults::MUNIN_CONFDIR/templates/";
+- $config->{'staticdir'} ||= "$Munin::Common::Defaults::MUNIN_CONFDIR/static/";
++ $config->{'tmpldir'} ||= "$Munin::Common::Defaults::MUNIN_TEMPLATEDIR";
++ $config->{'staticdir'} ||= "$Munin::Common::Defaults::MUNIN_TEMPLATEDIR/static/";
+ $config->{'htmldir'} ||= $Munin::Common::Defaults::MUNIN_HTMLDIR;
+ $config->{'spooldir'} ||= $Munin::Common::Defaults::MUNIN_SSPOOLDIR;
+ $config->{'#%#parent'} = undef;
+diff -ur munin-1.4.0/master/munin.conf.in munin-1.4.0.template/master/munin.conf.in
+--- munin-1.4.0/master/munin.conf.in 2009-11-27 12:17:18.000000000 +0100
++++ munin-1.4.0.template/master/munin.conf.in 2009-11-30 15:47:40.690849769 +0100
+@@ -11,11 +11,11 @@
+
+ # Where to look for the HTML templates
+ #
+-#tmpldir @@CONFDIR@@/templates
++#tmpldir @@TEMPLATEDIR@@
+
+ # Where to look for the static www files
+ #
+-#staticdir @@CONFDIR@@/static
++#staticdir @@TEMPLATEDIR@@/static
+
+ # temporary cgi files are here. note that it has to be writable by
+ # the cgi user (usually nobody or httpd).
--- /dev/null
+--- munin-1.4.0/master/lib/Munin/Master/Node.pm~ 2009-11-27 12:17:17.000000000 +0100
++++ munin-1.4.0/master/lib/Munin/Master/Node.pm 2009-12-01 17:33:33.041187499 +0100
+@@ -27,7 +27,7 @@
+ pid => undef,
+ writer => undef,
+ master_capabilities => "multigraph dirtyconfig",
+- io_timeout => 120,
++ io_timeout => $config->{timeout},
+ configref => $configref,
+ };
+
--- /dev/null
+#
+# cron-jobs for munin
+#
+MAILTO=root
+
+*/5 * * * * munin /usr/sbin/munin-cron
--- /dev/null
+/var/log/munin/munin-cgi-graph.log
+/var/log/munin/munin-cgi-html.log
+/var/log/munin/munin-graph.log
+/var/log/munin/munin-html.log
+/var/log/munin/munin-limits.log
+/var/log/munin/munin-update.log {
+ su root http
+ olddir /var/log/archive/munin
+ create 660 munin http
+}
--- /dev/null
+# TODO
+# - R: perl* should be autogenerated?
+# - add plugins-java package and proper BRs
+#
+# Condtional build:
+%bcond_with sybase # add Sybase support to munin-node
+
+%include /usr/lib/rpm/macros.perl
+Summary: Munin - the Linpro RRD data agent
+Summary(pl.UTF-8): Munin - agent danych RRD Linpro
+Name: munin
+Version: 2.0.19
+Release: 3
+License: GPL
+Group: Applications/WWW
+Source0: http://downloads.sourceforge.net/munin/%{name}-%{version}.tar.gz
+# Source0-md5: ab27d477052c0f5da4ed81edb7f95f1b
+Source1: %{name}-node.init
+Source2: %{name}.cron
+Source3: %{name}-apache.conf
+Source4: %{name}.logrotate
+Source5: %{name}-node.logrotate
+Source6: %{name}-lighttpd.conf
+Source7: %{name}.tmpfiles
+Source8: %{name}-httpd.conf
+Source9: %{name}-node.service
+Source10: %{name}-asyncd.service
+Source11: %{name}-asyncd.init
+Patch0: %{name}-Makefile.patch
+Patch1: %{name}-plugins.patch
+Patch2: %{name}-templatedir.patch
+Patch3: %{name}-separate-configs.patch
+Patch4: %{name}-timeout.patch
+URL: http://munin.sourceforge.net/
+BuildRequires: perl-Encode
+BuildRequires: perl-Net-SNMP
+BuildRequires: perl-devel
+BuildRequires: rpm-perlprov
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.671
+BuildRequires: which
+Requires(triggerpostun): sed >= 4.0
+Requires: %{name}-common = %{version}-%{release}
+Requires: fonts-TTF-DejaVu
+Requires: perl-Date-Manip
+Requires: perl-FCGI
+Requires: perl-HTML-Template
+Requires: perl-Net-Server
+Requires: rrdtool >= 1.3.0
+Requires: webapps
+Requires: webserver(alias)
+Requires: webserver(auth)
+Requires: webserver(cgi)
+Requires: webserver(expires)
+Suggests: crondaemon
+Conflicts: apache-base < 2.4.0-1
+Conflicts: logrotate < 3.8.0
+BuildArch: noarch
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define _noautoreq_perl DBD::Pg
+
+%define _sysconfdir /etc/%{name}
+%define _webapps /etc/webapps
+%define _webapp %{name}
+%define _appdir %{_datadir}/%{_webapp}
+%define _htmldir /var/lib/%{name}/html
+
+%description
+Munin, formerly known as The Linpro RRD server, queries a number of
+nodes, and processes the data using RRDtool and presents it on web
+pages.
+
+%description -l pl.UTF-8
+Munin, znany poprzednio jako serwer RRD Linpro, odpytuje wiele węzłów
+i przetwarza dane przy użyciu RRDtoola, a następnie prezentuje je na
+stronach WWW.
+
+%package common
+Summary: Munin - the Linpro RRD data agent - common files
+Summary(pl.UTF-8): Munin - agent danych RRD Linpro - wspólne pliki
+Group: Daemons
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+
+%description common
+Munin, formerly known as The Linpro RRD server, queries a number of
+nodes, and processes the data using RRDtool and presents it on web
+pages.
+
+%description common -l pl.UTF-8
+Munin, znany poprzednio jako serwer RRD Linpro, odpytuje wiele węzłów
+i przetwarza dane przy użyciu RRDtoola, a następnie prezentuje je na
+stronach WWW.
+
+%package node
+Summary: Linpro RRD data agent
+Summary(pl.UTF-8): Agent danych RRD Linpro
+Group: Daemons
+Requires(post,preun): /sbin/chkconfig
+Requires: %{name}-common = %{version}-%{release}
+Requires: logtail
+Requires: logtool
+#Requires: perl-Config-General
+Requires: perl-Net-Netmask
+Requires: perl-Net-SNMP
+Requires: perl-Net-Server
+Requires: perl-libwww
+Requires: procps >= 2.0.7
+Requires: rc-scripts >= 0.4.0.15
+Requires: sysstat
+Requires: systemd-units >= 38
+Suggests: perl-DBD-Pg
+Conflicts: logrotate < 3.7-4
+
+%description node
+The Munin node package returns statistical data on the request of a
+Munin server.
+
+%description node -l pl.UTF-8
+Pakiet Munin dla węzła zwraca dane statystyczne na żądanie serwera
+Munin.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+%build
+%{__make} -j1 build \
+ PERL_MB_OPT="perl=%{__perl}" \
+ JCVALID=no
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,cron.d,logrotate.d},%{_bindir},%{_sbindir}} \
+ $RPM_BUILD_ROOT/var/log/archive/munin \
+ $RPM_BUILD_ROOT%{_webapps}/%{_webapp} \
+ $RPM_BUILD_ROOT%{systemdtmpfilesdir} \
+ $RPM_BUILD_ROOT%{systemdunitdir}
+
+%{__make} -j1 install \
+ JCVALID=no \
+ CHOWN=/bin/true \
+ DESTDIR=$RPM_BUILD_ROOT
+
+# move asyncd daemon do sbin
+%{__mv} $RPM_BUILD_ROOT{%{_datadir}/munin,%{_sbindir}}/munin-asyncd
+
+install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/munin-asyncd
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/munin-node
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.d/munin
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/munin
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/munin-node
+
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
+cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
+
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+
+cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdunitdir}/munin-node.service
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdunitdir}/munin-asyncd.service
+
+cp -p dists/tarball/plugins.conf $RPM_BUILD_ROOT%{_sysconfdir}
+ln -sf %{_sysconfdir}/plugins.conf $RPM_BUILD_ROOT%{_sysconfdir}/plugin-conf.d/munin-node
+
+for f in cgi-graph cgi-html graph html limits update ; do
+ touch $RPM_BUILD_ROOT/var/log/munin/munin-$f.log
+done
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%triggerin -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin -- apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun -- apache-base
+%webapp_unregister httpd %{_webapp}
+
+%triggerin -- lighttpd
+%webapp_register lighttpd %{_webapp}
+
+%triggerun -- lighttpd
+%webapp_unregister lighttpd %{_webapp}
+
+%triggerpostun -- munin < 1.3.4-5
+# rescue app config
+if [ -f /etc/munin/munin.conf.rpmsave ]; then
+ mv -f %{_webapps}/%{_webapp}/munin.conf{,.rpmnew}
+ mv -f /etc/munin/munin.conf.rpmsave %{_webapps}/%{_webapp}/munin.conf
+
+ # fix paths in munin.conf
+ sed -i -e 's|dbdir.*|dbdir /var/lib/munin/db|' \
+ -e 's|tmpldir.*|tmpldir %{_webapps}/%{_webapp}/templates|' \
+ %{_webapps}/%{_webapp}/munin.conf
+fi
+# move RRDs to new location
+cd /var/lib/munin
+for i in *; do
+ case "$i" in
+ db|html|plugin-state) ;;
+ *) mv -f "$i" db/ ;;
+ esac
+done
+
+%post
+for f in cgi-graph cgi-html graph html limits update ; do
+ touch /var/log/munin/munin-$f.log
+ chmod 660 /var/log/munin/munin-$f.log
+ chown munin:http /var/log/munin/munin-$f.log
+done
+
+%post node
+if [ "$1" = "1" ] ; then
+ /sbin/chkconfig --add munin-node
+ %{_sbindir}/munin-node-configure --shell | sh
+fi
+%service munin-node restart "Munin Node agent"
+%service munin-asyncd try-restart "Munin Asyncd agent"
+%systemd_post munin-node.service
+%systemd_service_restart munin-asyncd.service
+
+%preun node
+if [ "$1" = "0" ] ; then
+ %service munin-asyncd stop
+ %service munin-node stop
+ /sbin/chkconfig --del munin-node
+ /sbin/chkconfig --del munin-asyncd
+fi
+%systemd_preun munin-node.service munin-asyncd.service
+
+%postun node
+%systemd_reload
+
+%triggerpostun node -- munin-node < 2.0.17-1
+%systemd_trigger munin-node.service
+
+%pre common
+%groupadd -g 158 munin
+%useradd -o -u 158 -s /bin/false -g munin -c "Munin Node agent" -d /var/lib/munin munin
+
+%postun common
+if [ "$1" = "0" ]; then
+ %userremove munin
+ %groupremove munin
+fi
+
+%files
+%defattr(644,root,root,755)
+%dir %attr(750,munin,http) %{_webapps}/%{_webapp}
+%dir %attr(750,munin,http) %{_webapps}/%{_webapp}/munin-conf.d
+%dir %{_webapps}/%{_webapp}/templates
+%{_webapps}/%{_webapp}/templates/*.tmpl
+%dir %{_webapps}/%{_webapp}/templates/static
+%{_webapps}/%{_webapp}/templates/static/*.css
+%{_webapps}/%{_webapp}/templates/static/*.html
+%{_webapps}/%{_webapp}/templates/static/*.ico
+%{_webapps}/%{_webapp}/templates/static/*.js
+%{_webapps}/%{_webapp}/templates/static/*.png
+%dir %{_webapps}/%{_webapp}/templates/partial
+%{_webapps}/%{_webapp}/templates/partial/*.tmpl
+%config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/munin.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/munin
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/munin
+%attr(755,root,root) %{_sbindir}/munin-cron
+%attr(755,root,root) %{_datadir}/munin/munin-check
+%attr(755,root,root) %{_datadir}/munin/munin-graph
+%attr(755,root,root) %{_datadir}/munin/munin-html
+%attr(755,root,root) %{_datadir}/munin/munin-limits
+%attr(755,root,root) %{_datadir}/munin/munin-update
+%attr(755,root,root) %{_datadir}/munin/munin-datafile2storable
+%attr(755,root,root) %{_datadir}/munin/munin-storable2datafile
+%attr(755,munin,root) %dir %{_datadir}/munin/cgi
+%attr(755,munin,root) %{_datadir}/munin/cgi/munin-cgi-graph
+%attr(755,munin,root) %{_datadir}/munin/cgi/munin-cgi-html
+%attr(755,munin,root) %dir %{_htmldir}
+%{perl_vendorlib}/Munin/Master
+%{_mandir}/man3/Munin::Master*
+%{_mandir}/man5/munin.conf*
+%{_mandir}/man8/munin-check*
+%{_mandir}/man8/munin-cron*
+%{_mandir}/man8/munin-graph*
+%{_mandir}/man8/munin-html*
+%{_mandir}/man8/munin-limits*
+%{_mandir}/man8/munin-update*
+%{_mandir}/man8/munin.*
+%attr(771,munin,munin) %dir /var/lib/munin/db
+%attr(770,munin,http) %dir /var/lib/munin/db/cgi-tmp
+%attr(660,munin,http) %ghost /var/log/munin/munin-cgi-graph.log
+%attr(660,munin,http) %ghost /var/log/munin/munin-cgi-html.log
+%attr(660,munin,http) %ghost /var/log/munin/munin-graph.log
+%attr(660,munin,http) %ghost /var/log/munin/munin-html.log
+%attr(660,munin,http) %ghost /var/log/munin/munin-limits.log
+%attr(660,munin,http) %ghost /var/log/munin/munin-update.log
+
+%files common
+%defattr(644,root,root,755)
+%doc README ChangeLog logo* Checklist
+%dir %{_datadir}/munin
+%{systemdtmpfilesdir}/%{name}.conf
+%attr(770,munin,http) %dir /var/log/munin
+%attr(750,munin,http) %dir /var/log/archive/munin
+%attr(771,munin,munin) %dir /var/lib/munin
+%attr(770,munin,http) %dir /var/run/munin
+%dir %{perl_vendorlib}/Munin
+%{perl_vendorlib}/Munin/Common
+%{_mandir}/man3/Munin::Common*
+
+%files node
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}
+%dir %{_sysconfdir}/plugins
+%dir %{_sysconfdir}/plugin-conf.d
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/munin-node.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugin-conf.d/munin-node
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/munin-node
+%attr(754,root,root) /etc/rc.d/init.d/munin-asyncd
+%attr(754,root,root) /etc/rc.d/init.d/munin-node
+%{systemdunitdir}/munin-asyncd.service
+%{systemdunitdir}/munin-node.service
+%attr(755,root,root) %{_bindir}/munindoc
+%attr(755,root,root) %{_sbindir}/munin-asyncd
+%attr(755,root,root) %{_sbindir}/munin-node
+%attr(755,root,root) %{_sbindir}/munin-node-configure
+%attr(755,root,root) %{_sbindir}/munin-run
+%attr(755,root,root) %{_sbindir}/munin-sched
+%{perl_vendorlib}/Munin/Node
+%{perl_vendorlib}/Munin/Plugin
+%{perl_vendorlib}/Munin/Plugin.pm
+%attr(755,root,root) %{_datadir}/munin/munin-async
+%dir %{_datadir}/munin/plugins
+%attr(755,root,root) %{_datadir}/munin/plugins/*
+%if !%{with sybase}
+%exclude %{_datadir}/munin/plugins/sybase_space
+%endif
+%dir %attr(770,munin,munin) /var/lib/munin/plugin-state
+%dir %attr(770,munin,munin) /var/spool/munin
+%{_mandir}/man1/munin-node*
+%{_mandir}/man1/munin-run*
+%{_mandir}/man1/munin-sched*
+%{_mandir}/man1/munindoc*
+%{_mandir}/man3/Munin::Node*
+%{_mandir}/man3/Munin::Plugin*
+%{_mandir}/man5/munin-node.conf*
+
+#%files plugins-java
+#%defattr(644,root,root,755)
+#%{_datadir}/munin/munin-jmx-plugins.jar
--- /dev/null
+d /var/run/munin 0770 munin http -