--- munin-2.0.2.orig/debian/munin-async.postrm
+++ munin-2.0.2/debian/munin-async.postrm
@@ -0,0 +1,21 @@
+#! /bin/sh
+
+set -e
+
+prevver="$2"
+
+del_munin_async_user() {
+ if getent passwd munin-async >/dev/null; then
+ userdel -r munin-async
+ fi
+}
+
+case "$1" in
+ purge)
+ del_munin_async_user
+ ;;
+ *)
+ ;;
+esac
+
+#DEBHELPER#
--- munin-2.0.2.orig/debian/munin.apache.conf
+++ munin-2.0.2/debian/munin.apache.conf
@@ -0,0 +1,67 @@
+# Enable this for template generation
+Alias /munin /var/cache/munin/www
+
+# Enable this for cgi-based templates
+Alias /munin-cgi/static /var/cache/munin/www/static
+ScriptAlias /munin-cgi /usr/lib/cgi-bin/munin-cgi-html
+
+
+#Alias /munin-cgi/static /var/cache/munin/www/static
+#ScriptAlias /munin-cgi /usr/lib/cgi-bin/munin-cgi-html
+
+ Order allow,deny
+ Allow from localhost 127.0.0.0/8 ::1
+ Options None
+
+ # This file can be used as a .htaccess file, or a part of your apache
+ # config file.
+ #
+ # For the .htaccess file option to work the munin www directory
+ # (/var/cache/munin/www) must have "AllowOverride all" or something
+ # close to that set.
+ #
+
+ # AuthUserFile /etc/munin/munin-htpasswd
+ # AuthName "Munin"
+ # AuthType Basic
+ # require valid-user
+
+ # This next part requires mod_expires to be enabled.
+ #
+
+ # Set the default expiration time for files to 5 minutes 10 seconds from
+ # their creation (modification) time. There are probably new files by
+ # that time.
+ #
+
+
+ ExpiresActive On
+ ExpiresDefault M310
+
+
+
+
+# Enables fastcgi for munin-cgi-html if present
+#
+#
+# SetHandler fastcgi-script
+#
+#
+
+#
+# SetHandler None
+#
+
+# Enables fastcgi for munin-cgi-graph if present
+
+
+ SetHandler fastcgi-script
+
+
+
+
+
+ SetHandler fastcgi-script
+
+
+
--- munin-2.0.2.orig/debian/munin.postinst
+++ munin-2.0.2/debian/munin.postinst
@@ -0,0 +1,118 @@
+#! /bin/sh
+
+set -e
+
+prevver="$2"
+
+add_munin_system_user() {
+ if ! getent passwd munin >/dev/null; then
+ adduser --group --system --no-create-home \
+ --home /var/lib/munin munin;
+ fi
+ # workaround bug (#531021) in xen-tools
+ if ! getent group munin >/dev/null; then
+ addgroup --system munin
+ adduser munin munin
+ fi
+}
+
+initperms() {
+ chown munin:adm /var/log/munin
+ chmod 755 /var/log/munin
+
+ chown munin:munin /var/lib/munin
+ chmod 755 /var/lib/munin
+
+ # create munin-cgi-html.log since www-data cannot create it itself
+ touch /var/log/munin/munin-cgi-html.log
+ chown www-data:adm /var/log/munin/munin-cgi-html.log
+ chmod 750 /var/log/munin/munin-cgi-html.log
+
+ # create munin-cgi-graph.log since www-data cannot create it itself
+ touch /var/log/munin/munin-cgi-graph.log
+ chown www-data:adm /var/log/munin/munin-cgi-graph.log
+ chmod 750 /var/log/munin/munin-cgi-graph.log
+
+ chown munin:munin /var/cache/munin/www
+ chmod 755 /var/cache/munin/www
+
+ mkdir -p /var/lib/munin/cgi-tmp
+ chown munin:www-data /var/lib/munin/cgi-tmp
+ chmod 775 /var/lib/munin/cgi-tmp
+}
+
+fixoverrides() {
+
+ overrides="
+/var/cache/munin/www
+/var/lib/munin
+/var/log/munin
+/var/log/munin/munin-cgi-graph.log
+/var/log/munin/munin-cgi-html.log
+"
+
+ for override in $overrides; do
+ if dpkg-statoverride --list $override >/dev/null; then
+ dpkg-statoverride --remove $override
+ fi
+ done
+}
+
+apache_install() {
+ # if you add more webservers here, dont forget to also remove them in postrm
+ webserver=apache2
+ webserver_init_script="/etc/init.d/$webserver"
+ if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/munin ]; then
+ if [ -z "$prevver" ] ; then
+ # only create link on new installs
+ ln -s ../../munin/apache.conf /etc/$webserver/conf.d/munin
+ fi
+ if [ -f $webserver_init_script ];then
+ if [ -x $webserver_init_script ]; then
+ invoke-rc.d $webserver reload 3>/dev/null || true
+ else
+ echo "munin: $webserver_init_script is not executable."\
+ "Could not reload $webserver"
+ fi
+ fi
+ fi
+
+ # installing configuration for Apache 2.4
+ # link config to conf-available
+ if [ -d /etc/$webserver/conf-available ] && [ ! -e /etc/$webserver/conf-available/munin.conf ]; then
+ ln -s ../../munin/apache.conf /etc/$webserver/conf-available/munin.conf
+
+ # activate configuration on new install with apache2-mainscript-helper
+ # TODO: Migration from installed Munin with apache2.2 to apache 2.4
+ if [ -z "$prevver" ]; then
+ if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
+ . /usr/share/apache2/apache2-maintscript-helper
+ apache2_invoke enconf munin.conf
+ fi
+ fi
+ fi
+}
+
+
+case "$1" in
+ configure)
+ add_munin_system_user
+ # this can go away after wheezy
+ if dpkg --compare-versions "$2" le "2.0~rc5-1" ; then
+ fixoverrides
+ fi
+ if dpkg --compare-versions "$2" le "2.0~rc6-2" || [ "$2" = 0 ] ; then
+ initperms
+ fi
+ apache_install
+ ;;
+ abort-upgrade|abort-deconfigure|abort-remove)
+ :
+ ;;
+ *)
+ echo "Called with unknown argument $1, bailing out."
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
--- munin-2.0.2.orig/debian/munin.README.Debian
+++ munin-2.0.2/debian/munin.README.Debian
@@ -0,0 +1,44 @@
+Debian-specific information regarding Munin
+===========================================
+
+ Getting started
+ ---------------
+
+ Using Munin requires to run a Munin master, which needs the munin
+ package installed and an arbitrary number of Munin nodes, with the
+ munin-node package installed. The master can and should also be a node.
+
+ On the master system point your browser to http://localhost/munin - to
+ customize edit /etc/munin/apache.conf if you are using apache2.
+
+ On the nodes, /etc/munin/munin-node.conf needs to be edited to allow
+ access from the master node.
+
+ Plugins reside in /usr/share/munin/plugins/, their usage is activated
+ by linking them to /etc/munin/plugins/. Plugin configuration is best
+ done in /etc/munin/plugin-conf.d/
+
+ Further reading: http://munin-monitoring.org/wiki/Documentation
+
+ Find the upstream source
+ ------------------------
+ This Debian package uses the upstream tarball located here:
+ http://sourceforge.net/projects/munin/ .
+
+ It also uses quilt to apply some debian specific patches located in
+ ./debian/patches/
+
+
+ Suggestions? Impressions? Questions? Fanmail? Love letters? Murder threats?
+ ---------------------------------------------------------------------------
+
+ We've got a mailing list. You'll find subscription information at
+ . All feedback
+ are welcome.
+
+ If you feel like sending us things that can't be represented in binary (for
+ example beautiful people fluent in assembly, bacillus anthracis, cash,
+ explosives, and so on), take contact off-list, and we'll find a way of
+ arranging the logistics.
+
+ Enjoy! :-)
--- munin-2.0.2.orig/debian/plugins.conf
+++ munin-2.0.2/debian/plugins.conf
@@ -0,0 +1,122 @@
+# This file is used to configure how the plugins are invoked.
+# Place in /etc/munin/plugin-conf.d/ or corresponding directory.
+#
+# PLEASE NOTE: Changes in the plugin-conf.d directory are only
+# read at munin-node startup, so restart at any changes.
+#
+# user # Set the user to run the plugin as.
+# group # Set the group to run the plugin as.
+# command # Run instead of the plugin. %c expands to
+# what would normally be run.
+# env. # Sets in the plugin's environment, see the
+# individual plugins to find out which variables they
+# care about.
+
+
+[amavis]
+group adm
+env.MUNIN_MKTEMP /bin/mktemp -p /tmp/ $1
+env.amavislog /var/log/mail.info
+
+[apt]
+user root
+
+[courier_mta_mailqueue]
+group daemon
+
+[courier_mta_mailstats]
+group adm
+
+[courier_mta_mailvolume]
+group adm
+
+[cps*]
+user root
+
+[df*]
+env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs
+env.warning 92
+env.critical 98
+
+[exim_mailqueue]
+group adm, (Debian-exim)
+
+[exim_mailstats]
+group adm, (Debian-exim)
+env.logdir /var/log/exim4/
+env.logname mainlog
+
+[fw_conntrack]
+user root
+
+[fw_forwarded_local]
+user root
+
+[hddtemp_smartctl]
+user root
+
+[hddtemp2]
+user root
+
+[if_*]
+user root
+
+[if_err_*]
+user nobody
+
+[ip_*]
+user root
+
+[ipmi_*]
+user root
+
+[mysql*]
+user root
+env.mysqlopts --defaults-file=/etc/mysql/debian.cnf
+env.mysqluser debian-sys-maint
+env.mysqlconnection DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf
+
+[postfix_mailqueue]
+user postfix
+
+[postfix_mailstats]
+group adm
+
+[postfix_mailvolume]
+group adm
+env.logfile mail.log
+
+[smart_*]
+user root
+
+[vlan*]
+user root
+
+[ejabberd*]
+user ejabberd
+env.statuses available away chat xa
+env.days 1 7 30
+
+[dhcpd3]
+user root
+env.leasefile /var/lib/dhcp3/dhcpd.leases
+env.configfile /etc/dhcp3/dhcpd.conf
+
+[jmx_*]
+env.ip 127.0.0.1
+env.port 5400
+
+[samba]
+user root
+
+[munin_stats]
+user munin
+group munin
+
+[postgres_*]
+user postgres
+env.PGUSER postgres
+env.PGPORT 5432
+
+[fail2ban]
+user root
--- munin-2.0.2.orig/debian/munin-node.upstart
+++ munin-2.0.2/debian/munin-node.upstart
@@ -0,0 +1,24 @@
+# munin-node
+
+description "munin-node"
+author "Chuck Short "
+
+start on (filesystem and net-device-up IFACE=lo)
+stop on runlevel [!2345]
+
+env DAEMON=/usr/sbin/munin-node
+
+expect fork
+respawn
+
+pre-start script
+ mkdir -p /var/run/munin
+ chown munin:munin /var/run/munin
+ chmod 0755 /var/run/munin
+end script
+
+script
+ [ -r /etc/default/munin-node ] && . /etc/default/munin-node
+
+ exec $DAEMON $DAEMON_ARGS
+end script
--- munin-2.0.2.orig/debian/munin-node.docs
+++ munin-2.0.2/debian/munin-node.docs
@@ -0,0 +1,3 @@
+build/doc/munin-faq.*
+build/doc/munin-doc.*
+debian/README.PluginConfiguration
--- munin-2.0.2.orig/debian/munin-node.cron.d
+++ munin-2.0.2/debian/munin-node.cron.d
@@ -0,0 +1,12 @@
+#
+# cron-jobs for munin-node
+#
+
+MAILTO=root
+
+# If the APT plugin is enabled, update packages databases approx. once
+# 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 if [ -x /etc/munin/plugins/apt_all ]; then /etc/munin/plugins/apt_all update 7200 12 >/dev/null; elif [ -x /etc/munin/plugins/apt ]; then /etc/munin/plugins/apt update 7200 12 >/dev/null; fi
+
--- munin-2.0.2.orig/debian/munin.NEWS
+++ munin-2.0.2/debian/munin.NEWS
@@ -0,0 +1,286 @@
+munin (2.0~rc6-1) unstable; urgency=low
+
+ Welcome to munin 2.0~rc6! Please read the changelog and the documentation
+ to learn about new features.
+
+ If you're upgrading and have modified /etc/munin/munin.conf in the past
+ you will now need to set "cgitmpdir /var/lib/munin/cgi-tmp" manually.
+
+ "graph_strategy cgi" is the default now. (In theory, you could get the
+ old cron based graphing to work as well, but we strongly recommend not to.)
+ See http://munin-monitoring.org/wiki/CgiHowto2 for more information.
+
+ The munin-node package now only provides the actual node, plugins are
+ provided in separate munin-plugins* packages. munin-async is a new feature
+ in 2.0
+ The documentation for munin has been moved to the new "munin-doc" package.
+
+ -- Holger Levsen Sun, 13 May 2012 17:57:24 +0200
+
+munin (1.4.0-1) unstable; urgency=low
+
+ Move htmldir to /var/cache/munin/www. Note that we currently don't
+ have a proper upgrade mechanism in place. When upgrading from a
+ previous version of munin, you'll need to change /etc/munin/munin.conf
+ htmldir parameter, from /var/www/munin, to /var/cache/munin/www.
+
+ A new binary package: munin-java-plugins was added. This package contains
+ a java jmx (Java Management Extensions) plugin.
+
+ A new binary package: munin-common, was added. It contains code shared by
+ munin and munin-node. munin, munin-node packages now both depend on
+ munin-common.
+
+ munin-node-configure-snmp command is no longer available, use
+ munin-node-configure --snmp to configure snmp hosts.
+
+ If upgrading from 1.2.6, please review the
+ /usr/share/doc/munin/UPGRADING file as there is an issue with truncated
+ field names in plugins (especially with the df plugin), resulting
+ in loss of history, which can be fixed manually.
+
+ munin.conf has a "includedir" directive now, to include config file
+ snipplets.
+
+ -- Tom Feiner Fri, 04 Dec 2009 18:29:16 +0200
+
+munin (1.2.6-2) unstable; urgency=low
+
+ * Build the binary package 'munin-plugins-extra' with user contributed
+ plugins (again) by default. Though previously this package was called
+ 'munin-plugins-contrib'. It was renamed to avoid confusion about the term
+ 'contrib' which is used in Debian with a different meaning.
+
+ -- Matthias Schmitz Tue, 01 Jul 2008 19:06:20 +0200
+
+munin (1.2.5-1) unstable; urgency=low
+
+ * Thanks to Marc Haber the Debian build scripts are now able to build a
+ custom package called "munin-plugins-contrib", which will contain some
+ user-contributed plugins that aren't included in the "munin-node" package.
+
+ To enable the build of this package, the environment variable
+ DEB_BUILD_OPTIONS must contain the string "munin:build-contrib-pkg".
+ The following commands ought to do the trick for most users:
+
+ export DEB_BUILD_OPTIONS="$DEB_BUILD_OPTIONS munin:build-contrib-pkg"
+ apt-get build-dep munin
+ apt-get --build source munin
+ dpkg --install munin-plugins-contrib_*_all.deb
+
+ It is not included in the Debian distribution. Bugs should therefore be
+ reported to the upstream bug tracker at .
+
+ -- Tore Anderson Tue, 17 Oct 2006 14:39:05 +0200
+
+munin (1.2.2-1) unstable; urgency=low
+
+ * The "contrib" plugins are not supported from upstream, and have therefore
+ been removed from the package. They have not been through a thorough QA
+ review, and could therefore contain security holes or simply not work as
+ expected.
+
+ The removed plugins are:
+
+ amavis apc_envunit_ apc_nis bind9 bind9_rndc courier_ dhcpd3
+ exim_mailqueue_alt files_ foldingathome foldingathome_rank
+ foldingathome_wu hddtemp2 hddtempd hddtemp i2c_fan i2c iostat_ios ipac-ng
+ mailman mailscanner mbmon_ mhttping named netopia nut_misc nut_volts
+ perdition pm3users_ pop_stats samba spamstats surfboard users
+
+ Most of these who turn out to be well-written and of general interest, will
+ likely make their way back into the package as auto or manual at a later
+ release. If you have been using any of these, you should consider aborting
+ the upgrade, and copy the plugins you use from /usr/share/munin/plugins/ to
+ /etc/munin/plugins/ (overwriting the symlink). That way, they will not be
+ touched during the upgrade.
+
+ You may also download them from .
+
+ -- Tore Anderson Sun, 13 Mar 2005 00:28:49 +0100
+
+munin (1.2.0-1) unstable; urgency=low
+
+ * There are two major bugfixes in the 1.2.x series of Munin since 1.0.x that
+ could not be accomplished without introducing a risk of losing historical
+ data after upgrades. Or more precisely: no data will be lost, but the
+ exact name of the RRD file will change, so that the update process will
+ start collecting data into a new, emtpy, file, which in turn will be read
+ by munin-graph, and the final result is that the graph will appear to have
+ lost all data. The historical data will still be present in the old graph.
+
+ In the last two sections of this file I will attempt to detail how you can
+ minimize the data loss by carefully planning how to perform the upgrade.
+
+ * The infrastructure for sending warnings if values drop below or rise above
+ preset boundaries has been redesigned to improve flexibility, and are no
+ longer specific to NSCA/Nagios. The old nsca_* settings are still
+ recognized, and are automatically mapped into a contact with the name
+ "old-nagios". Hence the now deprecated munin.conf entries
+
+ nsca /bin/nsca
+ nsca_server sloth.fud.no
+ nsca_config /etc/nsca.cf
+
+ would implicitly be converted to the entry
+
+ contact.old-nagios.command /bin/nsca sloth.fud.no -c /etc/nsca.cf -to 60
+
+ unless the latter was explicitly defined in /etc/munin/munin.conf, in which
+ case the deprecated entries would be ignored.
+
+ * Data loss issue 1
+ =================
+
+ A number of plugins which in the 1.0.x series used the COUNTER data type
+ has now been changed to use the DERIVE type, with a minimum of 0. The
+ reason is to hinder RRDtool from misdetecting counter wraps when a service
+ or machine is restarted, which resulted in abnormal spikes in those graphs.
+
+ The munin-update component from the 1.2.x series are able to recognize that
+ a plugin has changed thusly, and will automatically copy all the historic
+ data from the old RRD file into the new one, ensuring a smooth transition.
+ However, the munin-update component from the 1.0.x series are not aware of
+ this, and will react to this data type change by starting to collect data
+ into a new, empty, RRD file.
+
+ The method to ensure a painless upgrade is simple:
+
+ Ensure that you upgrade the "munin" package BEFORE you upgrade the
+ ==================================================================
+ "munin-node" package on any of the hosts it collects data from.
+ ===============================================================
+
+ Should you however have already upgraded the packages in the wrong order,
+ you may salvage your graphs by manually change the data type in the old
+ RRD file, and afterwards rename it. For instance, you may have this RRD
+ file containing the "user" field from the "cpu" plugin of munin-node 1.0.x:
+
+ /var/lib/munin/fud.no/lust.fud.no-cpu-user-c.rrd
+
+ After upgrading to version 1.2.x of munin-node, this will have changed to:
+
+ /var/lib/munin/fud.no/lust.fud.no-cpu-user-d.rrd
+
+ If the "munin" package wasn't upgraded before "munin-node" one, you will
+ have both files, and the latter one will only contain the data gathered
+ since the upgrade of the "munin-node" package. In order to make the old
+ data reappear in the graph, you may do so using the following procedure:
+
+ cd /var/lib/munin/fud.no
+ rrdtool tune lust.fud.no-cpu-user-c.rrd -d 42:DERIVE
+ mv -f lust.fud.no-cpu-user-c.rrd lust.fud.no-cpu-user-d.rrd
+
+ You will have to repeat this process once for each field in each affected
+ plugin. Also remember to ensure that the "munin" system user have write
+ access to the resulting RRD file when you are finished. Be warned,
+ however, that by doing this you will lose all data collected since
+ munin-node was upgraded to version 1.2.x.
+
+ * Data loss issue 2
+ =================
+
+ The 1.0.x series had rather nasty design flaw that caused field names
+ longer than 18 characters be truncated, removing any excessive characters
+ from the start of the field name. This led to a nasty bug; if a plugin
+ reported values for two fields, who both had long names where the last 18
+ charaters were the same, only one RRD file would be generated, and its
+ contents would be unpredictable. The 1.2.x series do not exhibit this
+ behaviour, and will store the entire field name as part of the RRD file
+ name. As this leads to the fact that a new, empty, file will be created
+ with the non-truncated field name, the graphs will appear to have been
+ reset.
+
+ To solve this you need to manually figure out which RRD files are affected,
+ and rename them so that they are called what the new version of Munin
+ expects them to. To figure out which files may be affected, you can
+ do the following:
+
+ cd /var/lib/munin
+ ls */*.rrd | awk '-F[/-]' '{if(length($4)==18) print}'
+
+ This will output one line for each file that may be affected, for instance:
+
+ fud.no/pride.fud.no-df-v_mapper_pride_usr-g.rrd
+
+ The three first strings separated by hyphens in the filename is the
+ interesting ones. The first is the host as named in /etc/munin/munin.conf,
+ the second is the plugin name, and the third is the possibly mangled field
+ name. I say "possibly", because any RRD files with a field name that is
+ exactly 18 characters long will also be reported, even though they are not
+ affected by the change. To figure out if the file is indeed affected, and
+ what the new name should be, you need to ask the host's Munin-node process.
+
+ First, you need to figure out the DNS hostname or IP address of the node,
+ unless you already know it. This information can be found in the file
+ /etc/munin/munin.conf, and will for this example look like this:
+
+ [pride.fud.no]
+ address 127.0.0.1
+
+ Next, connect to the host's Munin-node process:
+
+ telnet 127.0.0.1 munin
+
+ After receiving the welcoming "# munin node at pride.fud.no" banner, input:
+
+ fetch df
+
+ "df" is of course the plugin name as found embedded in the RRD file name
+ above. You should now get the values reported by the plugin in return:
+
+ _dev_hda5.value 54
+ _dev_mapper_pride_usr.value 88
+ _dev.value 54
+
+ The field names are the strings before the periods. At this point the
+ correct field name is obvious - the truncated field name
+ "v_mapper_pride_usr" is the last 18 characters of "_dev_mapper_pride_usr",
+ so the latter must be the correct one. Now that you know that, you can
+ rename the RRD file so that the new version can find it:
+
+ cd /var/lib/munin/fud.no
+ mv pride.fud.no-df-v_mapper_pride_usr-g.rrd \
+ pride.fud.no-df-_dev_mapper_pride_usr-g.rrd
+
+ If you find no possible matches, it may be because the RRD file contains
+ data that are no longer collected, which could've happened in this example
+ if the filesystem in /dev/mapper/pride-usr was unmounted in the past.
+ To find out if that is the case, look at the time stamp of the file to
+ see when it was last modified. If that's a long time ago, chances are the
+ file isn't used anyway and can be left alone.
+
+ If you're really unfortunate, you may end up with multiple possibilities,
+ which could've happened in the example used here if both a device named
+ /udev/mapper/pride-usr and also one named /dev/mapper/pride-usr was mounted
+ simultaneously. If this is the case, you can't do anything but inspect the
+ relevant graph as created with Munin 1.0 to see if the field seems to
+ contain the correct data for at least one of the fields, and rename the RRD
+ accordingly. However, there is a possibility that the RRD will contain
+ useless data that isn't correct for either of the fields. In any case, you
+ won't be able to bring back correct data for both the fields, as it wasn't
+ collected properly to begin with.
+
+ You will have to repeat the process for every possibly affected RRD file,
+ after which you may safely upgrade your "munin" package.
+
+ -- Tore Anderson Mon, 21 Feb 2005 00:16:25 +0100
+munin (2.0~rc2-1~1) unstable; urgency=low
+
+ Welcome to munin 2.0~rc2! Please read the changelog and the documentation
+ to learn about new features.
+
+ If you're upgrading and have modified /etc/munin/munin.conf in the past
+ you will now need to to set "graph_strategy cgi", if you haven't done so
+ already.
+ (In theory, you could get the old cron based graphing to work as well,
+ but we strongly recommend not to.)
+
+ See http://munin-monitoring.org/wiki/CgiHowto2 for more information.
+
+ The munin-node package now only provides the actual node, plugins are
+ provided in seperate munin-plugins* packages. munin-async is a new feature
+ in 2.0
+ The documentation for munin has been moved to the new "munin-doc" package.
+
+ -- Holger Levsen Mon, 19 Mar 2012 14:49:24 +0100
--- munin-2.0.2.orig/debian/copyright
+++ munin-2.0.2/debian/copyright
@@ -0,0 +1,67 @@
+Munin is maintained for Debian by Tore Anderson .
+
+The upstream source is available from .
+
+Lead developers include:
+
+ Audun Ytterdal
+ Jimmy Olsen
+ Tore Anderson
+ Knut Haugen
+ Ingvar Hagelund
+
+Munin is licensed under the terms of the GNU General Public License, version 2.
+A verbatim copy of this license is found in the file
+
+ `/usr/share/common-licenses/GPL-2'
+
+on every Debian GNU/Linux system.
+
+The font Bitstream Vera Mono is bundled with this package, and is distributed
+under the following licence:
+
+ Copyright (C) 2003 Bitstream, Inc.
+ All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of the fonts accompanying this license ("Fonts") and associated
+ documentation files (the "Font Software"), to reproduce and distribute
+ the Font Software, including without limitation the rights to use, copy,
+ merge, publish, distribute, and/or sell copies of the Font Software, and
+ to permit persons to whom the Font Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright and trademark notices and this permission notice
+ shall be included in all copies of one or more of the Font Software
+ typefaces.
+
+ The Font Software may be modified, altered, or added to, and in
+ particular the designs of glyphs or characters in the Fonts may be
+ modified and additional glyphs or characters may be added to the Fonts,
+ only if the fonts are renamed to names not containing either the words
+ "Bitstream" or the word "Vera".
+
+ This License becomes null and void to the extent applicable to Fonts or
+ Font Software that has been modified and is distributed under the
+ "Bitstream Vera" names.
+
+ The Font Software may be sold as part of a larger software package but
+ no copy of one or more of the Font Software typefaces may be sold by
+ itself.
+
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+ COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+ BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
+ OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
+ SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+
+ Except as contained in this notice, the names of Gnome, the Gnome
+ Foundation, and Bitstream Inc., shall not be used in advertising or
+ otherwise to promote the sale, use or other dealings in this Font
+ Software without prior written authorization from the Gnome Foundation
+ or Bitstream Inc., respectively. For further information, contact:
+ .
--- munin-2.0.2.orig/debian/munin-node.logrotate
+++ munin-2.0.2/debian/munin-node.logrotate
@@ -0,0 +1,9 @@
+/var/log/munin/munin-node.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ copytruncate
+ notifempty
+ create 640 root root
+}
--- munin-2.0.2.orig/debian/control
+++ munin-2.0.2/debian/control
@@ -0,0 +1,166 @@
+Source: munin
+Section: net
+Priority: optional
+Maintainer: Ubuntu Developers
+XSBC-Original-Maintainer: Munin Debian Maintainers
+Uploaders: Holger Levsen ,
+ Stig Sandbeck Mathisen ,
+ Tom Feiner ,
+ Steve Schnepp
+Build-Depends-Indep: perl, htmldoc, html2text, default-jdk
+Build-Depends: debhelper (>=8), quilt
+Standards-Version: 3.9.3
+Homepage: http://munin-monitoring.org
+Vcs-svn: svn://munin-monitoring.org/munin/branches/debian/wheezy
+Vcs-Browser: http://munin-monitoring.org/browser/
+
+Package: munin-node
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, libnet-server-perl, procps, adduser, lsb-base (>= 3.2-4), gawk, munin-common (>= ${binary:Version}), munin-plugins-core
+Recommends: libnet-snmp-perl, munin-plugins-extra
+Suggests: munin, munin-plugins-java, libwww-perl, liblwp-useragent-determined-perl, libnet-irc-perl, mysql-client, smartmontools (>= 5.37-6~bpo40+1), acpi | lm-sensors, python, ruby, ethtool, libdbd-pg-perl, libdbd-mysql-perl, libcache-cache-perl, net-tools, hdparm, libcrypt-ssleay-perl, libtext-csv-xs-perl, libxml-simple-perl, logtail
+Description: network-wide graphing framework (node)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains the daemon for the nodes being monitored. You should
+ install it on all the nodes in your network. It will know how to extract all
+ sorts of data from the node it runs on, and will wait for the gatherer to
+ request this data for further processing.
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
+
+Package: munin-plugins-core
+Provides: munin-plugins
+Replaces: munin-plugins (<<1.999.4548-3~), munin-node (<<1.999.4548-3~)
+Breaks: munin-plugins (<<1.999.4548-3~), munin-node (<<1.999.4548-3~)
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, munin-common (>= ${binary:Version})
+Recommends: libnet-snmp-perl
+Suggests: libnet-netmask-perl, python, libnet-telnet-perl, ruby | ruby-interpreter
+Description: network-wide graphing framework (plugins for node)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains the official plugins for the Munin node, capable of
+ extracting common values such as cpu usage, network usage, load average, and
+ so on.
+ .
+ Creating your own plugins which are capable of extracting other system-specific
+ values is very easy, and is often done in a matter of minutes.
+ You can also create plugins which relay information from other devices in your
+ network that can't run Munin, such as a switch or a server running another
+ operating system, by using SNMP or similar technology.
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
+
+Package: munin-plugins-extra
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, munin-common (>= ${binary:Version})
+Suggests: libnet-netmask-perl, python, libnet-telnet-perl
+Provides: munin-plugins
+Description: network-wide graphing framework (user contributed plugins for node)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains unsupported plugins for the Munin node, contributed by
+ various users of Munin.
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
+
+Package: munin-plugins-java
+Architecture: all
+Depends: ${misc:Depends}, default-jre-headless | java6-runtime-headless | java5-runtime-headless | java2-runtime-headless, munin-common (>= ${binary:Version})
+Provides: munin-plugins
+Replaces: munin-java-plugins (<<1.999.4548-3~)
+Breaks: munin-java-plugins (<<1.999.4548-3~)
+Description: network-wide graphing framework (java plugins for node)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains the java based plugins that are used by munin-node to
+ monitor Java Management Extensions (JMX).
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
+
+Package: munin
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, perl-modules | libparse-recdescent-perl, librrds-perl (>= 1.2), libhtml-template-perl, libdigest-md5-perl, libtime-hires-perl, libstorable-perl, rrdtool, adduser, liblog-log4perl-perl (>= 1.18), ttf-dejavu, munin-common (>= ${binary:Version}), cron, libdate-manip-perl, libcgi-fast-perl, libfile-copy-recursive-perl, liburi-perl, libio-socket-inet6-perl
+Recommends: munin-node, munin-doc
+Suggests: www-browser, httpd, libnet-ssleay-perl
+Description: network-wide graphing framework (grapher/gatherer)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains the grapher/gatherer. You will only need one instance of
+ it in your network. It will periodically poll all the nodes in your network
+ it's aware of for data, which it in turn will use to create graphs and HTML
+ pages, suitable for viewing with your graphical web browser of choice.
+ .
+ It is also able to alert you if any value is outside of a preset boundary,
+ useful if you want to be alerted if a filesystem is about to grow full, for
+ instance. You can do this by making Munin run an arbitrary command when you
+ need to be alert it, or make use of the intrinsic Nagios support.
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
+
+Package: munin-common
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, perl-modules | libparse-recdescent-perl, liblist-moreutils-perl
+Description: network-wide graphing framework (common)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains the common perl modules that are used by both munin
+ and munin-node.
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
+
+Package: munin-async
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}, perl-modules, adduser, munin-common (>= ${binary:Version})
+Recommends: munin-node
+Description: network-wide graphing framework (async master/client)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains munin-async and munin-asyncd which can
+ be used for (optional) asynchronous operation of munin-update.
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
+
+Package: munin-doc
+Section: doc
+Architecture: all
+Depends: ${perl:Depends}, ${misc:Depends}
+Description: network-wide graphing framework (documentation)
+ Munin is a highly flexible and powerful solution used to create graphs of
+ virtually everything imaginable throughout your network, while still
+ maintaining a rattling ease of installation and configuration.
+ .
+ This package contains all the documentation as POD files.
+ .
+ Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent
+ RRDtool. To see a real example of Munin in action, you can follow a link
+ from to a live installation.
--- munin-2.0.2.orig/debian/README.PluginConfiguration
+++ munin-2.0.2/debian/README.PluginConfiguration
@@ -0,0 +1,58 @@
+Munin plugin configuration
+==========================
+
+Munin plugins are configured by editing existing or placing new files in
+/etc/munin/plugin-conf.d/. Since files in this directory may contain passwords
+or other sensitive information, the directory is not world readable.
+
+A plugin configuration file contain one or more sections. Each section starts
+with a label (between '[' and ']'), and contains an optional "user" statement,
+an optional "grop" statement, and zero or more lines beginning with "env.":
+
+Example:
+
+ [mailthingie]
+ user mail
+ group adm
+ env.logfile /var/log/mail.info
+
+[Label]
+-------
+
+A label matching the plugin name starts a new configuration block.
+
+For wildcard plugins requiring similar configuration, the label within [] can
+end in a wildcard, like "[ip_*]".
+
+User
+----
+
+If munin (or munin-run) is run with root privileges, munin will change user for
+the matching plugins to the user specified.
+
+Group
+-----
+
+If munin (or munin-run) is run with root privileges, munin will run the plugin
+with an additional group specified here.
+
+env.variable
+------------
+
+A line
+
+ "env.logfile /var/log/syslog"
+
+...will run the plugin with an extra environment variable "logfile" with the
+content "/var/log/syslog". A plugin is expected to provide sane default values
+for such variables, but such defaults may not exist, or be "sane" on other
+platforms.
+
+Debugging
+---------
+
+To check if plugin configuration is applied, run munin-run with "-d" to enable
+debugging, as root, (like "sudo munin-run -d someplugin") and check the output.
+
+If you do not run the plugin as root, you may not be able to read the plugin
+configuration files, and debugging your plugins may be harder than necessary
--- munin-2.0.2.orig/debian/rules
+++ munin-2.0.2/debian/rules
@@ -0,0 +1,90 @@
+#! /usr/bin/make -f
+
+export DH_VERBOSE=1
+
+MAKEOPTS = CONFIG=debian/Makefile.config INSTALL_PLUGINS="auto manual snmpauto contrib"
+
+%:
+ dh $@ --with quilt
+
+override_dh_auto_build:
+ chmod 755 debian/ostype_helper
+ dh_auto_build -- $(MAKEOPTS)
+
+override_dh_auto_install:
+ # Install the major munin parts into different packages
+ $(MAKE) install-common-prime $(MAKEOPTS) \
+ MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
+ DESTDIR=$(CURDIR)/debian/munin-common
+
+ $(MAKE) install-async-prime $(MAKEOPTS) \
+ MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
+ DESTDIR=$(CURDIR)/debian/munin-async
+
+ $(MAKE) install-master-prime $(MAKEOPTS) \
+ MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
+ DESTDIR=$(CURDIR)/debian/munin
+
+ $(MAKE) install-node-prime $(MAKEOPTS) \
+ MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
+ DESTDIR=$(CURDIR)/debian/munin-node
+
+ $(MAKE) install-plugins-prime $(MAKEOPTS) \
+ MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
+ DESTDIR=$(CURDIR)/debian/munin-plugins-core
+
+ $(MAKE) install-plugins-java $(MAKEOPTS) \
+ MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
+ DESTDIR=$(CURDIR)/debian/munin-plugins-java
+
+ # Move the jmx_ plugin to the munin-plugins-java package
+ # see http://bugs.debian.org/667493
+ mkdir -p $(CURDIR)/debian/munin-plugins-java/usr/share/munin/plugins/
+ mv -v $(CURDIR)/debian/munin-plugins-core/usr/share/munin/plugins/jmx_ \
+ $(CURDIR)/debian/munin-plugins-java/usr/share/munin/plugins/jmx_
+
+ # Install apache configuration
+ install -D -m0644 debian/munin.apache.conf \
+ $(CURDIR)/debian/munin/etc/munin/apache.conf
+
+ # Remove default .htaccess file from installation, as we include it
+ # in the default apache2/conf.d/munin configuration
+ rm -v $(CURDIR)/debian/munin/var/cache/munin/www/.htaccess
+
+ # Remove bundled VeraMono.ttf, debian gets this font from
+ # the ttf-dejavu package. http://bugs.debian.org/548508
+ rm -v $(CURDIR)/debian/munin/usr/share/munin/DejaVuSans*.ttf
+
+ # Munin::Plugins & plugins.sh go into munin-common.
+ # They are used for munin-plugins-* and we don't want a whole
+ # dedicated new package (munin-plugins-common) for that. yet.
+ for file in usr/share/perl5/Munin/Plugin.pm usr/share/munin/plugins/plugin.sh; do \
+ mkdir -p $(CURDIR)/debian/munin-common/$$(dirname $$file) ;\
+ mv $(CURDIR)/debian/munin-plugins-core/$$file \
+ $(CURDIR)/debian/munin-common/$$file; \
+ done
+
+ # Install debian provided plugin configuration
+ install -D -m0644 debian/plugins.conf \
+ $(CURDIR)/debian/munin-node/etc/munin/plugin-conf.d/munin-node
+
+ # Move plugins not marked "auto" "manual" or "snmpauto" to the
+ # "munin-plugins-extra" package.
+ mkdir -p $(CURDIR)/debian/munin-plugins-extra/usr/share/munin/plugins
+ for file in $$(find debian/munin-plugins-core/usr/share/munin/plugins -type f \
+ -not -name plugins.history -and -not -name plugins.sh); do \
+ if ! grep -q "#%# family=\(auto\|manual\|snmpauto\)" $$file ; then \
+ mv -v $$file $(CURDIR)/debian/munin-plugins-extra/usr/share/munin/plugins; \
+ fi; \
+ done
+
+ rmdir $(CURDIR)/debian/munin/var/run/munin
+ rmdir $(CURDIR)/debian/munin-node/var/run/munin
+
+# "make clean" is being clever. Work around that. ;)
+override_dh_auto_clean:
+ dh_auto_clean -- $(MAKEOPTS) clean-node clean-master clean-plugins clean-common clean
+ find plugins/javalib -name '*.class' -print0 | xargs -0 -r rm -v
+
+# Disable build tests for now
+override_dh_auto_test:
--- munin-2.0.2.orig/debian/munin.postrm
+++ munin-2.0.2/debian/munin.postrm
@@ -0,0 +1,66 @@
+#! /bin/sh
+
+set -e
+
+# workaround for bug #198522
+delete_dir_if_empty() {
+ if [ ! -d "$1" ]; then
+ return 0;
+ fi
+ rmdir --ignore-fail-on-non-empty $1;
+}
+
+
+if [ "$1" = "purge" ]; then
+
+ echo "The generated web site or accumulated data won't be removed."
+
+ rm -f /var/lib/munin/datafile
+ rm -f /var/lib/munin/limits
+ rm -f /var/lib/munin/*.stats
+ rm -f /var/lib/munin/*/*.ok
+
+ rm -f /var/log/munin/munin-update.log*
+ rm -f /var/log/munin/munin-graph.log*
+ rm -f /var/log/munin/munin-html.log*
+ rm -f /var/log/munin/munin-limits.log*
+ rm -f /var/log/munin/munin-cgi-graph.log*
+ rm -f /var/log/munin/munin-cgi-html.log*
+
+ delete_dir_if_empty /var/cache/munin/www
+ delete_dir_if_empty /var/lib/munin/cgi-tmp
+ delete_dir_if_empty /var/lib/munin
+ delete_dir_if_empty /var/log/munin
+ delete_dir_if_empty /etc/munin/templates
+ delete_dir_if_empty /etc/munin
+
+ webserver=apache2
+ if [ -e /etc/$webserver/conf.d/munin ]; then
+ # delete the link
+ rm -f /etc/$webserver/conf.d/munin
+ invoke-rc.d $webserver reload 3>/dev/null || true
+ fi
+
+ # Disable configuration with Apache 2.4
+ if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
+ . /usr/share/apache2/apache2-maintscript-helper
+ apache2_invoke disconf munin.conf
+ fi
+
+ # Remove configuration from Apache 2.4 conf dir
+ if [ -e /etc/$webserver/conf-available/munin.conf ]; then
+ # delete the link
+ rm -f /etc/$webserver/conf-available/munin.conf
+ fi
+fi
+
+
+if [ "$1" = "remove" ]; then
+ # Disable configuration with Apache 2.4
+ if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
+ . /usr/share/apache2/apache2-maintscript-helper
+ apache2_invoke disconf munin.conf
+ fi
+fi
+
+#DEBHELPER#
--- munin-2.0.2.orig/debian/munin-node.dirs
+++ munin-2.0.2/debian/munin-node.dirs
@@ -0,0 +1 @@
+etc/munin/plugins
--- munin-2.0.2.orig/debian/munin-node.lintian-overrides
+++ munin-2.0.2/debian/munin-node.lintian-overrides
@@ -0,0 +1,5 @@
+munin-node binary: binary-without-manpage usr/sbin/munin-node
+munin-node binary: binary-without-manpage usr/sbin/munin-node-configure
+munin-node binary: binary-without-manpage usr/sbin/munin-run
+munin-node binary: binary-without-manpage usr/sbin/munin-sched
+munin-node binary: binary-without-manpage usr/bin/munindoc
--- munin-2.0.2.orig/debian/munin.cron.d
+++ munin-2.0.2/debian/munin.cron.d
@@ -0,0 +1,8 @@
+#
+# cron-jobs for munin
+#
+
+MAILTO=root
+
+*/5 * * * * munin if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi
+14 10 * * * munin if [ -x /usr/share/munin/munin-limits ]; then /usr/share/munin/munin-limits --force --contact nagios --contact old-nagios; fi
--- munin-2.0.2.orig/debian/munin-doc.manpages
+++ munin-2.0.2/debian/munin-doc.manpages
@@ -0,0 +1,12 @@
+build/doc/munin-cron.8
+build/doc/munin-html.8
+build/doc/munin-limits.8
+build/doc/munin-update.8
+build/doc/munin-check.8
+build/doc/munin.conf.5
+build/doc/munin.8
+build/doc/munin-node.conf.5
+node/blib/bindoc/munin-run.1p
+node/blib/bindoc/munindoc.1p
+node/blib/bindoc/munin-node.1p
+node/blib/bindoc/munin-node-configure.1p
--- munin-2.0.2.orig/debian/munin-node.init
+++ munin-2.0.2/debian/munin-node.init
@@ -0,0 +1,209 @@
+#! /bin/bash
+
+### BEGIN INIT INFO
+# Provides: munin-node
+# Required-Start: $network $named $local_fs $remote_fs
+# Required-Stop: $network $named $local_fs $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start/stop Munin-Node
+# Description: Start/stop Munin-Node
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/munin-node
+PIDFILE=/var/run/munin/munin-node.pid
+CONFFILE=/etc/munin/munin-node.conf
+
+# log_daemon_msg() and log_progress_msg() isn't present in present in Sarge.
+# Below is a copy of them from lsb-base 3.0-5, for the convenience of back-
+# porters. If the installed version of lsb-base provides these functions,
+# they will be used instead.
+
+log_daemon_msg () {
+ if [ -z "$1" ]; then
+ return 1
+ fi
+
+ if [ -z "$2" ]; then
+ echo -n "$1:"
+ return
+ fi
+
+ echo -n "$1: $2"
+}
+
+log_progress_msg () {
+ if [ -z "$1" ]; then
+ return 1
+ fi
+ echo -n " $@"
+}
+
+. /lib/lsb/init-functions
+[ -r /etc/default/munin-node ] && . /etc/default/munin-node
+
+if [ ! -x $DAEMON ]; then
+ log_failure_msg "Munin-Node appears to be uninstalled."
+ exit 5
+elif [ ! -e $CONFFILE ]; then
+ log_failure_msg "Munin-Node appears to be unconfigured."
+ exit 6
+fi
+
+# Figure out if the pid file is in a non-standard location
+while read line; do
+ line=${line%%\#*} # get rid of comments
+ set -f
+ line=$(echo $line) # get rid of extraneous blanks
+ set +f
+ if [ "$line" != "${line#pid_file }" ]; then
+ PIDFILE=${line#pid_file }
+ fi
+done < $CONFFILE
+
+verify_superuser() {
+ action=$1
+ [ $EUID -eq 0 ] && return
+ log_failure_msg "Superuser privileges required for the" \
+ "\"$action\" action."
+ exit 4
+}
+
+start() {
+ log_daemon_msg "Starting Munin-Node"
+ mkdir -p /var/run/munin /var/log/munin
+ chown munin:root /var/run/munin
+ chown munin:www-data /var/log/munin
+ chmod 0755 /var/run/munin
+ chmod 0755 /var/log/munin
+ if pidofproc -p $PIDFILE $DAEMON >/dev/null; then
+ log_progress_msg "started beforehand"
+ log_end_msg 0
+ exit 0
+ fi
+ start_daemon -p $PIDFILE $DAEMON $DAEMON_ARGS
+ ret=$?
+ # start_daemon() isn't thorough enough, ensure the daemon has been
+ # started manually
+ attempts=0
+ until pidofproc -p $PIDFILE $DAEMON >/dev/null; do
+ attempts=$(( $attempts + 1 ))
+ sleep 0.05
+ [ $attempts -lt 20 ] && continue
+ log_end_msg 1
+ return 1
+ done
+ [ $ret -eq 0 ] && log_progress_msg "done"
+ log_end_msg $ret
+ return $ret
+}
+
+stop() {
+ log_daemon_msg "Stopping Munin-Node"
+ # killproc() doesn't try hard enough if the pid file is missing,
+ # so create it is gone and the daemon is still running
+ if [ ! -r $PIDFILE ]; then
+ pid=$(pidofproc -p $PIDFILE $DAEMON)
+ if [ -z "$pid" ]; then
+ log_progress_msg "stopped beforehand"
+ log_end_msg 0
+ return 0
+ fi
+ echo $pid 2>/dev/null > $PIDFILE
+ if [ $? -ne 0 ]; then
+ log_end_msg 1
+ return 1
+ fi
+ fi
+ killproc -p $PIDFILE /usr/bin/munin-node
+ ret=$?
+ # killproc() isn't thorough enough, ensure the daemon has been
+ # stopped manually
+ attempts=0
+ until ! pidofproc -p $PIDFILE $DAEMON >/dev/null; do
+ attempts=$(( $attempts + 1 ))
+ sleep 0.05
+ [ $attempts -lt 20 ] && continue
+ log_end_msg 1
+ return 1
+ done
+ [ $ret -eq 0 ] && log_progress_msg "done"
+ log_end_msg $ret
+ return $ret
+}
+
+if [ "$#" -ne 1 ]; then
+ log_failure_msg "Usage: /etc/init.d/munin-node" \
+ "{start|stop|restart|force-reload|try-restart}"
+ exit 2
+fi
+
+case "$1" in
+ start)
+ verify_superuser $1
+ start
+ exit $?
+ ;;
+ stop)
+ verify_superuser $1
+ stop
+ exit $?
+ ;;
+ restart|force-reload)
+ verify_superuser $1
+ stop || exit $?
+ start
+ exit $?
+ ;;
+ try-restart)
+ verify_superuser $1
+ pidofproc -p $PIDFILE $DAEMON >/dev/null
+ if [ $? -eq 0 ]; then
+ stop || exit $?
+ start
+ exit $?
+ fi
+ log_success_msg "Munin-Node was stopped beforehand and thus not" \
+ "restarted."
+ exit 0
+ ;;
+ reload)
+ log_failure_msg "The \"reload\" action is not implemented."
+ exit 3
+ ;;
+ status)
+ pid=$(pidofproc -p $PIDFILE $DAEMON)
+ ret=$?
+ pid=${pid% } # pidofproc() supplies a trailing space, strip it
+ if [ $ret -eq 0 ]; then
+ log_success_msg "Munin-Node is running (PID: $pid)"
+ exit 0
+ # the LSB specifies that I in this case (daemon dead + pid file exists)
+ # should return 1, however lsb-base returned 2 in this case up to and
+ # including version 3.1-10 (cf. #381684). Since that bug is present
+ # in Sarge, Ubuntu Dapper, and (at the time of writing) Ubuntu Etch,
+ # and taking into account that later versions of pidofproc() do not
+ # under any circumstance return 2, I'll keep understanding invalid
+ # return code for the time being, even though the LSB specifies it is
+ # to be used for the situation where the "program is dead and /var/lock
+ # lock file exists".
+ elif [ $ret -eq 1 ] || [ $ret -eq 2 ]; then
+ log_failure_msg "Munin-Node is dead, although $PIDFILE exists."
+ exit 1
+ elif [ $ret -eq 3 ]; then
+ log_warning_msg "Munin-Node is not running."
+ exit 3
+ fi
+ log_warning_msg "Munin-Node status unknown."
+ exit 4
+ ;;
+ *)
+ log_failure_msg "Usage: /etc/init.d/munin-node" \
+ "{start|stop|restart|force-reload|try-restart}"
+ exit 2
+ ;;
+esac
+
+log_failure_msg "Unexpected failure, please file a bug."
+exit 1
--- munin-2.0.2.orig/debian/watch
+++ munin-2.0.2/debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://sf.net/munin/ munin-([\d+\.]+)\.tar\.gz
--- munin-2.0.2.orig/debian/munin-async.postinst
+++ munin-2.0.2/debian/munin-async.postinst
@@ -0,0 +1,31 @@
+#! /bin/sh
+
+set -e
+
+prevver="$2"
+
+add_munin_async_user() {
+ if ! getent passwd munin-async >/dev/null; then
+ adduser --group --system --home /var/lib/munin-async --shell /bin/bash munin-async
+ fi
+ # workaround bug (#531021) in xen-tools
+ if ! getent group munin-async >/dev/null; then
+ addgroup --system munin-async
+ adduser --shell /bin/bash munin-async
+ fi
+}
+
+case "$1" in
+ configure)
+ add_munin_async_user
+ ;;
+ abort-upgrade|abort-deconfigure|abort-remove)
+ :
+ ;;
+ *)
+ echo "Called with unknown argument $1, bailing out."
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
--- munin-2.0.2.orig/debian/munin-node.triggers
+++ munin-2.0.2/debian/munin-node.triggers
@@ -0,0 +1 @@
+interest perl-major-upgrade
--- munin-2.0.2.orig/debian/munin.lintian-overrides
+++ munin-2.0.2/debian/munin.lintian-overrides
@@ -0,0 +1,2 @@
+munin binary: binary-without-manpage usr/bin/munin-check
+munin binary: binary-without-manpage usr/bin/munin-cron
--- munin-2.0.2.orig/debian/README.source
+++ munin-2.0.2/debian/README.source
@@ -0,0 +1,53 @@
+#
+# getting the upstream sources (and putting them in svn):
+#
+
+New upstream tarballs are located here http://sourceforge.net/projects/munin/
+old tarballs are available at munin.projects.linpro.no/munin/branches/debian/lenny/tarballs
+too.
+Please put them in svn with signed md5- and sha1sum-files.
+
+#
+# Debian specific patches
+#
+Debian specific patches reside in debian/patches/ and are applied with quilt.
+
+#
+# using svn-buildpackage
+#
+cd trunk/
+svn-buildpackage
+
+#
+# using svn-buildpackage with pbuilder and cowbuilder
+#
+
+svn-pdebuild is an alias for:
+"svn-buildpackage --svn-builder=pdebuild --pbuilder cowbuilder"
+
+Here a small readme in order to use this svn properly:
+
+I'm used to this aliases to ease my life:
+ pclean='sudo rm -rf /var/cache/pbuilder/result/*'
+ pdebuild='pdebuild --pbuilder cowbuilder'
+ pdebuild-etch='pdebuild --pbuilder cowbuilder -- --basepath /var/cache/pbuilder/etch.cow/ --debian-etch-workaround'
+ pdebuild-lenny='pdebuild --pbuilder cowbuilder -- --basepath /var/cache/pbuilder/base-lenny.cow/'
+ plinda='linda /var/cache/pbuilder/result/*.changes'
+ plintian='lintian /var/cache/pbuilder/result/*.changes'
+ plogin='sudo cowbuilder --login'
+ pupdate='sudo cowbuilder --update'
+ pupdate-etch='sudo cowbuilder --update --basepath /var/cache/pbuilder/etch.cow/ --debian-etch-workaround'
+ pupdate-lenny='sudo cowbuilder --update --basepath /var/cache/pbuilder/base-lenny.cow/'
+ svn-debuild='svn-buildpackage -rfakeroot -us -uc'
+ svn-pdebuild='svn-buildpackage --svn-builder=pdebuild --pbuilder cowbuilder'
+ svn-pdebuild-etch='svn-buildpackage --svn-builder=pdebuild --pbuilder cowbuilder -- --basepath /var/cache/pbuilder/etch.cow --debian-etch-workaround'
+
+So for building this package go to trunk/ and call there e.g.:
+ svn-debuild (Build on the host system)
+or
+ svn-pdebuild (Build in a chroot using cowdancer)
+
+In the first case the resulting files are found in ../build-area, in the
+second case the resulting files are found in /var/cache/pbuilder/result/
+
+I hope this helps to get this package build from svn :)
--- munin-2.0.2.orig/debian/munin-async.logrotate
+++ munin-2.0.2/debian/munin-async.logrotate
@@ -0,0 +1,9 @@
+/var/lib/munin/spool/*.0 {
+ daily
+ missingok
+ rotate 7
+ compress
+ copytruncate
+ notifempty
+ create 640 munin adm
+}
--- munin-2.0.2.orig/debian/Makefile.config
+++ munin-2.0.2/debian/Makefile.config
@@ -0,0 +1,29 @@
+# This file overrides variables used by the makefile, so its behaviour
+# becomes suitable for building Debian packages.
+
+PREFIX = $(DESTDIR)/usr
+CONFDIR = $(DESTDIR)/etc/munin
+HTMLDIR = $(DESTDIR)/var/cache/munin/www
+DBDIR = $(DESTDIR)/var/lib/munin
+DBDIRNODE = $(DESTDIR)/var/lib/munin-node
+LOGDIR = $(DESTDIR)/var/log/munin
+MANDIR = $(PREFIX)/share/man
+
+CGIDIR = $(DESTDIR)/usr/lib/cgi-bin
+
+LIBDIR = $(PREFIX)/share/munin
+JAVALIBDIR = $(DESTDIR)/usr/share/munin
+
+HOSTNAME = localhost.localdomain
+
+PERLLIB := $(DESTDIR)$(shell $(PERL) -V:vendorlib | cut -d= -f2 | sed "s/[\';]//g")
+
+JC = /usr/lib/jvm/default-java/bin/javac
+CHECKUSER = \#
+CHECKGROUP = \#
+CHOWN = \#
+CHMOD = \#
+CHGRP = \#
+
+# Distiction between a Linux and FreeBSD kernel
+OSTYPE := $(shell debian/ostype_helper)
--- munin-2.0.2.orig/debian/munin.docs
+++ munin-2.0.2/debian/munin.docs
@@ -0,0 +1,3 @@
+build/resources/apache-cgi.conf
+Announce-2.0
+UPGRADING
--- munin-2.0.2.orig/debian/munin-node.README.Debian
+++ munin-2.0.2/debian/munin-node.README.Debian
@@ -0,0 +1,58 @@
+Debian-specific information regarding the Munin node
+====================================================
+
+ About the plugins
+ -----------------
+
+ The node will scan the directory /etc/munin/plugins for executable
+ files (or symlinks to such files), and will treat the results as the
+ authoritative list of plugins to run. The maintainer scripts will have
+ created a default set of enabled plugins, attuned to your system.
+ You'll find more plugins in /usr/share/munin/plugins, which you can
+ enable by creating symlinks into /etc/munin/plugins as appropriate.
+
+ Creating your own plugins is very easy. Read the rest of the included
+ documents, take a look at the provided plugins, and write your own.
+ Please use Latin-1 as file encoding since munin expects only Latin-1
+ characters. Place it in /etc/munin/plugins/, and restart the client.
+ The core process will automatically notice the new service, and start
+ graphing it.
+
+ Locally modified plugins
+ ------------------------
+
+ If you wish to change the behaviour of the provided plugins, you are
+ strongly encouraged to make a copy of the plugin as installed in
+ /usr/share/munin/plugins/, and place it in /etc/munin/plugins/. Then,
+ make your modifications in the copy. I strenously stress that it is
+ discouraged to make local modifications directly in plugins found in the
+ /usr/share/munin/plugin/ directories, as these files are managed by
+ dpkg - changes may very well be overwritten on upgrades. Also, such
+ changes will likely break intrusion detection systems which relies
+ on dpkg's database for reference.
+
+ It is worth noting that many things can be overrided in the core process'
+ configuration file, so it is quite possible that a modification is not
+ necessary.
+
+ Suggestions? Impressions? Questions? Fanmail? Love letters? Murder threats?
+ ---------------------------------------------------------------------------
+
+ We've got a mailing list. You'll find subscription information at
+ . All feedback
+ are welcome.
+
+ If you feel like sending us things that can't be represented in binary (for
+ example beautiful women fluent in assembly, bacillus anthracis, cash,
+ explosives, and so on), take contact off-list, and we'll find a way of
+ arranging the logistics.
+
+ Find the upstream source
+ ------------------------
+ This Debian package uses the upstream tarball located here:
+ http://sourceforge.net/projects/munin .
+
+ It also uses quilt to apply some debian specific patches located in
+ ./debian/patches/
+
+Enjoy! :-)
--- munin-2.0.2.orig/debian/munin.upstart
+++ munin-2.0.2/debian/munin.upstart
@@ -0,0 +1,15 @@
+# munin
+
+description "munin"
+author "James Page "
+
+start on runlevel [2345]
+stop on runlevel [!2345]
+
+task
+
+script
+ mkdir -p /var/run/munin
+ chown munin:munin /var/run/munin
+ chmod 0755 /var/run/munin
+end script
--- munin-2.0.2.orig/debian/changelog
+++ munin-2.0.2/debian/changelog
@@ -0,0 +1,1550 @@
+munin (2.0.2-1ubuntu2.2) quantal-security; urgency=low
+
+ * SECURITY UPDATE: privilege escalation via root running plugins
+ - debian/patches/CVE-2012-3512.patch: run each plugin in their own
+ state directory in Makefile, Makefile.config,
+ node/lib/Munin/Node/{OS,Service}.pm, plugins/lib/Munin/Plugin.pm,
+ plugins/node.d/*.in,plugins/node.d.linux/*.in.
+ - CVE-2012-3512
+ * SECURITY UPDATE: remote code exection via bad arguments
+ - debian/patches/CVE-2012-3513.patch: use MUNIN_CONFIG env variable
+ instead of @ARGV to specify alternate config file in
+ master/_bin/munin-cgi-graph.in, master/_bin/munin-cgi-html.in.
+ - debian/patches/CVE-2012-3512-regression.patch: Don't rely on
+ MUNIN_PLUGSTATE being in the environment as these scripts also get
+ run by a cron job in plugins/node.d.linux/apt_all.in,
+ plugins/node.d.linux/apt.in.
+ - CVE-2012-3513
+ * debian/rules: actually apply quilt patches.
+ * debian/Makefile.config: added new plugin state directory location.
+ * debian/munin-node.{postinst,postrm}: Switch to new plugin state
+ directory.
+
+ -- Marc Deslauriers Wed, 17 Oct 2012 08:16:34 -0400
+
+munin (2.0.2-1ubuntu2) quantal; urgency=low
+
+ * debian/patches/fix_ran_out_of_children.patch:
+ - Fix occasional "Ran out of children: No child processes" error messages
+ (LP: #1009357).
+
+ -- Petri Lehtinen Wed, 03 Oct 2012 15:33:15 -0400
+
+munin (2.0.2-1ubuntu1) quantal; urgency=low
+
+ * Merge from Debian unstable. Remaining changes:
+ - d/munin-node.upstart,munin.upstart: Add upstart configurations.
+
+ -- Logan Rosen Sun, 22 Jul 2012 14:19:53 -0400
+
+munin (2.0.2-1) unstable; urgency=low
+
+ [ Holger Levsen ]
+ * New upstream version, reintroducing munin-graph (Closes: #681674) and
+ some bugfixes. The new munin book is added to the sources, but not yet
+ build.
+ * Add proper LSB headers to all init scripts. (Closes: #680223)
+
+ [ Stig Sandbeck Mathisen ]
+ * debian/control: Rename "munin-async-*" to munin-async and munin-asyncd.
+
+ -- Holger Levsen Sat, 21 Jul 2012 12:43:33 -0600
+
+munin (2.0.1-1ubuntu1) quantal; urgency=low
+
+ * Merge from Debian unstable. Remaining changes:
+ - d/munin-node.upstart,munin.upstart: Add upstart configurations.
+
+ -- James Page Mon, 02 Jul 2012 14:15:42 +0100
+
+munin (2.0.1-1) unstable; urgency=low
+
+ * New upstream version.
+ * Update URL to upstream webpage in debian/copyright. (Closes: #676366)
+ * Make munin-node depend on munin-plugins-core unconditionally and recommend
+ munin-plugins-extra. (Closes: #677189)
+ * debian/munin-node.postinst: chmod 775 /var/lib/munin/plugin-state
+ (Closes: #675593)
+
+ -- Holger Levsen Thu, 21 Jun 2012 00:29:37 +0200
+
+munin (2.0.0-1ubuntu1) quantal; urgency=low
+
+ * Resync with Debian unstable.
+ * d/munin-node.upstart,munin.upstart: Add upstart configurations.
+
+ -- James Page Mon, 11 Jun 2012 12:54:28 +0100
+
+munin (2.0.0-1) unstable; urgency=medium
+
+ * New upstream version. Roughly eight years after munin 1.0 there is now
+ finally munin 2.0! See /usr/share/doc/munin/Announce-2.0 in the munin
+ package for the full announcement. And/or previous debian/changelog
+ entries too. Enjoy! And please report bugs, 2.0.1 shall be out soon.
+ (Closes: #675153, #674148)
+ * /etc/init/munin-node: chmod 755 /var/log/munin (Closes: #674747)
+ * Make munin-node suggest munin-plugins-java and not munin-java-plugins.
+ * Lower build-depends on debhelper to version 8. (Closes: #675209)
+
+ -- Holger Levsen Thu, 31 May 2012 22:21:59 +0200
+
+munin (2.0~rc6-3) unstable; urgency=low
+
+ * Make munin-node depend on munin-plugins-core | munin-plugins.
+ (Closes: #673124)
+ * munin-node.logroate: create munin-node.log owned by root.
+ (Closes: #606216)
+
+ -- Holger Levsen Thu, 17 May 2012 13:23:57 +0200
+
+munin (2.0~rc6-2) unstable; urgency=low
+
+ * munin.postinst: Fix typo breaking the chgrp of $cgitempdir.
+
+ -- Holger Levsen Mon, 14 May 2012 10:02:22 +0200
+
+munin (2.0~rc6-1) unstable; urgency=low
+
+ [ Holger Levsen ]
+ * New upstream release candidate, quoting the upstream Changelog:
+ - Many bugfixes in munin-cgi-graph:
+ - if url parameters are not valid, send HTTP 404 instead of 500
+ - move the generation of png via cgi under /var/lib/munin/cgi-tmp/
+ (Closes: #668536)
+ - don't cache URL with parameters anymore, and don't keep uncached URLs
+ (Closes: #668667)
+ - validate url characters (Closes: #668666)
+ - add a max setting for cgi image size. (Closes: #670811)
+ - Plugin fixes:
+ - add explicit license for all plugins. (Closes: #670428)
+ - hddtemp_smartctl: just use the device name as the labels
+ - qmailscan: remove the use of tempfiles. (Closes: #668778)
+ * munin.NEWS: document that "cgitmpdir /var/lib/munin/cgi-tmp" has to be
+ set in munin.conf.
+ * munin-node.postinst: chmod 755 /var/log/munin (Closes: #669230)
+ * munin.postinst: make /var/lib/munin/cgi-tmp writable for group www-data.
+
+ [ Matthias Schmitz ]
+ * Add installation of apache configuration to /etc/apache2/conf-availble as
+ needed by Apache 2.4. (Closes: #669816)
+
+ -- Holger Levsen Sun, 13 May 2012 18:01:59 +0200
+
+munin (2.0~rc5-3) unstable; urgency=low
+
+ * Create /var/lib/munin/plugin-state in munin-node.postinst if it doesnt
+ exist. (Closes: #668975)
+
+ -- Holger Levsen Mon, 16 Apr 2012 12:33:08 +0200
+
+munin (2.0~rc5-2) unstable; urgency=low
+
+ [ Stig Sandbeck Mathisen ]
+ * Handle removal of old statoverrides in a more robust fashion.
+ (Closes: #668859)
+
+ -- Holger Levsen Sun, 15 Apr 2012 13:01:16 +0200
+
+munin (2.0~rc5-1) unstable; urgency=low
+
+ [ Holger Levsen ]
+ * New upstream release candidate, quoting the upstream Changelog:
+ - Adding the current action to the command line. Useful for debugging.
+ - Adding a new URL param full_size_mode to enable predictible IMG sizes
+ - Enable sparklines with the url param "only_graph"
+ - Start RRD just before first update. To avoid a very costly 1st update.
+ - Emit the hosts in a sorted order, instead of somewhat random.
+ - Do not emit png list if file handle is not defined. (Closes: #666759)
+ - Add old option of --force-root, but with a new name. more explicit
+ (Closes: #601371)
+ - We dont generate the png list when using cgi html.
+ - Remove warning when asking "list" w/o a hostname (LP: #907952)
+ - Many bug fixes (trac: Closes #967, #1210) (Closes: #583189, #568511,
+ Closes: #475078)
+ * Create /var/log/munin in /etc/init.d/munin-node (Closes: #626570)
+ * Cleanup the dpkg-statoverrides mess, by removing all existing
+ statoverrides in munin's and munin-nodes' postinst and just running chown and
+ chmod on those files and directories. Also remove statoverride handling
+ from postrm scripts. (Closes: #666907)
+ As far as I understand, the usage of dpkg-statoverride was plainly wrong
+ for all these years. If I'm wrong here, I'd be glad to be corrected.
+
+ [ Steve Schnepp ]
+ * plugin.conf: run fail2ban plugin as root. (Closes: #610825)
+ * move jmx_ to munin-plugins-java (Closes: #667493)
+
+ -- Holger Levsen Sun, 25 Mar 2012 18:46:36 +0200
+
+munin (2.0~rc4-1) unstable; urgency=low
+
+ * quoting upstream ChangeLog:
+ - Fix issue that CGI HTML doesn't refresh itself
+ - Fixed plugins to use the default draw style
+ - Various plugins fixes (Closes: #663965, #595697, #648891)
+ * also from upstream: munin-node: Removed the 5s per-line timeout.
+ (Closes: #663970)
+
+ -- Holger Levsen Sat, 24 Mar 2012 14:03:28 +0100
+
+munin (2.0~rc2-1) unstable; urgency=low
+
+ * This is not yet munin 2.0, but almost! Install at your own risk and have
+ fun! Also, please give feedback to munin-users@lists.sourceforge.net or
+ if you prefer IRC, go to #munin on OFTC.
+ * Quoting from /usr/share/doc/munin/Announce-2.0:
+ * Introducing Munin 2.0! The most important features:
+ * Even better scalability through:
+ - Large performance improvements on almost all munin's components:
+ - Full CGI integration. It is for graphing as well for html, if needed.
+ It is also completely compatible with FastCGI, that only compiles once
+ per run.
+ - Binary state data files. This has enabled a really fast startup and
+ storing of state files. Quite useful in munin limits that does need to
+ access to the rrd files.
+ - Complete integration with rrdcached. Starting with RRD 1.4, there is
+ an update daemon. It enables batched updates, and therefore reduce the
+ IO down. Even with 1000+ files to update every 5 min.
+ - Spoolfetch uses _node_read_fast() now : 3MiB is now read in 2 s instead
+ of 7 min.
+ * Complete IPv6 integration: (Closes: #592214, Closes: #558800, Closes:
+ #567551)
+ - The master only require a new perl module (IO::Socket::INET6)
+ - The node needs a IPv6-patched Net::Server
+ * Native SSH transport - No need to have a hairy setup anymore.
+ * Graph Zooming: The UI is still raw, but right to the point.
+ * New look on HTML pages, new graph colours with better contrast
+ * IRC ( #munin @ OFTC ) has become a real support channel, mostly aimed at
+ trunk.
+ * Full details in http://munin-monitoring.org/browser/tags/2.0-rc2/ChangeLog
+ or in /usr/share/doc/munin/changelog.gz on this system. (Closes: #610528,
+ Closes: #644960, Closes: #576009, Closes: #474193, #660224, #609900,
+ Closes: #582786, #591455)
+ * This release has been prepared through six uploads to experimental and
+ several users running it on their installations.
+
+ [ Steve Schnepp ]
+ * Maintained a branch since munin 1.5 all the way up to 1.999 to prepare
+ munin 2.0 packages for Debian.
+ * Using a 1.999.SVN naming scheme to enable rpm package building using alien
+ - munin-graph is no more, only CGI is left.
+ * Added support for async polling in munin-master, add new package
+ munin-async.
+ * Enable vectorized multiple-time updates. Speeds updates up when using
+ async polling. An 1s polling rate is now possible w/o much overhead, since
+ munin-update only runs every 5 min.
+ - ability to keep more data (for zooming resolution mainly)
+ - ability to run (some) plugins more and/or less often than every
+ 5 minutes
+ - support of async polling, so munin-update can run less often than
+ the usual 5 min. Useful if you have too much nodes and it takes
+ more than 5 min to gather all the data.
+ - Closes: #464880
+ * Add new binary package: munin-plugins, containing the plugins previously
+ included in the munin-node package. This enables us to:
+ - have alternate munin-node packages in future.
+ - be able to build a make-dh-perl like package building system
+ for 3rd party plugins.
+ * Move POD files to package munin-doc.
+ - fixed duplicates (Closes: #661265)
+ * Move Munin::Plugins and plugins.sh into munin-common to be able to
+ install munin-plugins-extra without munin-plugins-core.
+ * debian/control changes:
+ - munin-async isn't recommended anymore as it will needlessly launch a
+ daemon since its usage isn't automatic yet.
+ - munin-async does actually depends on munin-common.
+ - A more recent version of munin-common is always ok, as it is compatible.
+ It enables decoupling munin, munin-node & munin-plugin-* versions.
+
+ [ Holger Levsen ]
+ * Merge changes from 1.4.4-1 until 1.4.7-1 into this branch and merge
+ debian/changelog in preparation for uploading to experimental.
+ * Move packaging to
+ svn://munin.projects.linpro.no/munin/branches/debian/wheezy
+ * Include large parts of upstreams Announce-2.0 in debian/changelog.
+ * Update to munin 2.0beta6, which has a rewrite of the timeout handling
+ code. The default node timeout is now 1 min. Also various bugfixes were
+ made.
+ * Update maintainer address to packaging@munin-monitoring.org.
+ * chmod 755 debian/ostype_helper in debian/rules. (Closes: #651449)
+ Thanks Christoph Biedl.
+ * Improve description of munin.init.
+ * debian/control:
+ - Rename munin-plugins to munin-plugins-core and make it
+ provide/break/replace munin-plugins (<<1.999.4548-3~).
+ - munin-java-plugins and munin-common should neither suggest munin nor
+ munin-node.
+ - rename munin-java-plugins to munin-plugins-java and make it replace and
+ break munin-java-plugins (<<1.999.4548-3~).
+ - Vcs-svn: provide path to Debian branch to avoid checking out the whole
+ repo when using debcheckout.
+ - Add quilt to build-depends.
+ * debian/rules: support changes in debian/control.
+ * munin.postrm: remove /var/log/munin/munin-cgi-html.log* on purge.
+ * Add munin-async.postrm to delete the munin-async user on purge.
+ * munin-async.postinst: set homedirectory to /var/lib/munin-async.
+ * Move munin-doc to section doc.
+ * Drop debian/patches/101-dash-bash-fw_conntrack.patch as this was fixed
+ upstream properly to also fix network lag problems on big firewalls with
+ the plugins fw_conntrack and fw_forwarded_local. (Closes: #565565)
+ * Provide lintian-overrides for munin and munin-doc as the manpages for
+ their binaries have been moved to the munin-doc package.
+
+ [ Marc Haber ]
+ * Clean up build leftovers in debian/rules clean clean to allow
+ building twice in a row.
+
+ [ Kenyon Ralph ]
+ * Drop df_gnu patch which was integrated into the upstream plugin.
+
+ [ Stig Sandbeck Mathisen ]
+ * Convert debian/rules to modern debhelper version (compat level 9)
+ * Suggest ruby for plugins in that language
+ * Bump standards version (no changes)
+
+ -- Holger Levsen Mon, 19 Mar 2012 15:17:42 +0000
+
+munin (1.4.7-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Stig Sandbeck Mathisen Thu, 15 Mar 2012 15:38:04 +0100
+
+munin (1.4.6-3) unstable; urgency=low
+
+ * Update maintainer address to packaging@munin-monitoring.org.
+ * Add Steve Schnepp to uploaders.
+ * Remove Tore Anderson, Dagfinn Ilmari Mannsaker, Loic Dachary and Matthias
+ Schmitz from uploaders. Thanks for all your work!
+ * munin/postrm: only delete /etc/apache2/conf.d/munin on purge.
+ (Closes: #653596) - Sadly the fix will only be effective the next time
+ munin is upgraded...
+
+ -- Holger Levsen Sat, 14 Jan 2012 17:01:09 +0000
+
+munin (1.4.6-2) unstable; urgency=high
+
+ * Add logrotate rule for /var/log/munin/munin-cgi-graph.log. Thanks to
+ Jerome Warnier for the patch. (Closes: #647302)
+ * Register an interest in the perl-major-upgrade trigger, and
+ recompile rules and restart munin-node when perl is upgraded to a new
+ major version. Thanks to Dominic Hargreaves for this nice new feature.
+ (Closes: #626346)
+
+ -- Holger Levsen Sat, 19 Nov 2011 13:13:32 +0000
+
+munin (1.4.6-1) unstable; urgency=low
+
+ * New upstream release (Closes: #639745), closing several bugs
+ in munin:
+ - "munin-limits hangs when more than one contact is used"
+ (Closes: #553528)
+ - cgi/fastcgi: Use GMT time zone in Last-Modified header
+ (Closes: #601200)
+ - include patch to fix empty list of plugins (Closes: #609241)
+ and in munin-node:
+ - bind9_rndc plugin: version number gate fails (Closes: #573750)
+ - bind9 plugin: doesn't work at all (Closes: #612108)
+ - cidr_allow does not assume implicit /32 (Closes: #592842)
+ ↝- make slapd_ autoconf work, support anonymous bind, and env.server
+ variable (Closes: #596026)
+ - exim munin does weird things (Closes: #601505)
+ - Use selective tls per node in munin master (Closes: #615226)
+ - IPv6 functionality (Closes: #567551) in ip_ plugin assumes /bin/sh
+ being bash (Closes: #613029)
+ Also drop debian/patches/102-snort-bashism.patch as this is included
+ upstream now.
+ * munin.postinst: only create link from /etc/munin/apache.conf to
+ /etc/apache2/conf.d/munin on new installations, not on upgrades.
+ (Closes: #619399)
+ * Bump standards-version to 3.9.1, no changes necessary.
+ * Split uploaders field in debian/control in multiple lines.
+ * Add build-arch and build-indep targets to debian/rules.
+
+ -- Holger Levsen Tue, 30 Aug 2011 19:55:52 +0200
+
+munin (1.4.5-3) unstable; urgency=low
+
+ [ Tom Feiner ]
+ * Added patch 101-dash-bash-fw_conntrack.patch, fixing fw_conntrack
+ plugin which reports incorrect values for total.warning
+ and total.critical (Closes: #594695)
+ * Added patch 102-snort-bashism.patch fixing snort_* config bashism.
+ Thanks to Gerald Turner for the patch (Closes: #595899).
+ * Existence of /etc/apache2/conf.d/ does not mean apache2 is installed.
+ (Closes: #581363)
+ * Add patch to adapt ejabberd CLI to ejabberd version found in squeeze.
+ Thanks to Gerald Turner for the patch! (Closes: #597599)
+
+ [ Holger Levsen ]
+ * Added some tipps to get started into README.Debian. (Closes: #594528)
+
+ -- Tom Feiner Tue, 05 Oct 2010 14:02:43 +0200
+
+munin (1.4.5-2) unstable; urgency=low
+
+ [ Tom Feiner ]
+ * munin-plugins-extra: conflicts with lenny's munin-node (Closes: #590630)
+ * Bump standards-version to 3.9.1, no changes necessary.
+
+ -- Tom Feiner Fri, 13 Aug 2010 16:58:37 +0300
+
+munin (1.4.5-1) unstable; urgency=low
+
+ * New upstream release. Mainly bugfixes. Including fixes for:
+ - plugin: sensors_volt fails to parse all voltages (Closes: #573613)
+ - plugin: amavis creates cron error mail (Closes: #574172)
+ - plugin: uptime graph should not scale (Closes: #575180)
+ - plugin: munin-update bashism fix (Closes: #581126)
+ * Added patch 100-DejaVu-Fonts-Path.patch, fixing the invisible fonts
+ problem in older debian versions. Lowered librrds dependency to 1.2.
+ (Closes: #578782)
+ * max_cgi_graph_jobs in config breaks munin-update (Closes: #581709)
+ * TLS nonfunctional; using tls causes munin update to stop with error
+ (Closes: 580331)
+ * Suggest libnet-ssleay-perl in munin, munin-node. This package is needed
+ in order to enable TLS.
+
+ -- Tom Feiner Thu, 03 Jun 2010 07:45:56 +0300
+
+munin (1.4.4-1) unstable; urgency=low
+
+ * New upstream release. Mainly bugfixes. Including fixes for:
+ - node does not read files in plugin configuration directory in
+ alphabetical order (Closes: #564098)
+ - munin-cgi-graph: Error "Premature end of script headers:
+ munin-cgi-graph" in in webserver logs (Closes: #570545)
+ - munin-node: diskstats plugin forces width to 450 (Closes: #569541)
+ - Problems when using localised munin (Closes: #566821)
+ - munin-node: tomcat_* plugins don't work (Closes: #543523)
+ - df_abs: multiple excludes in config file don't work (Closes: #567666)
+ - df_abs: make total graph optional by config option (Closes: #567895)
+ - munin-plugins-extra: plugins/mailman uses an undefined $MUNIN_PLUGSTATE
+ variable (Closes: #568793)
+ - mail_eximstats fails if there is no current state (Closes: #569496)
+ - exim_mailstats doesn't count Completed properly (Closes: #569621)
+ - munin: graphs are created with different sizes and distance
+ of the columns (Closes: #566293)
+ - Add the tcp plugin to track TCP connection states to
+ munin-plugins-extra (Closes: #563160)
+ - New mysql plugin does not function with default configuration
+ (Closes: #569047). Thanks to Michael Shuler spotting this!
+
+ * Suggest logtail in munin-node instead of munin-plugins-extra, as amavis
+ plugin is now part of munin-node.
+ * Bump standards-version to 3.8.4, no changes necessary.
+ * Remove default limits for the cpu plugin (Closes: #564239)
+ * Fix amavis default configuration (Closes: #567923)
+ * Add default configuration for exim_mailstats for logdir,logname.
+ * Extend default configuration for df to df*.
+ * Place NEWS file only in munin,munin-node packages (Closes: #567844)
+
+ -- Tom Feiner Fri, 26 Feb 2010 17:45:45 +0200
+
+munin (1.4.3-2) unstable; urgency=low
+
+ [ Stig Sandbeck Mathisen ]
+ * Add versioned dependency for librrds-perl.
+ If used with librrds-perl 1.2 or older, the font path is wrong.
+
+ [ Tom Feiner ]
+ * Update watch file.
+ * Add patch from munin ticket #828, to suppress "occasional" unknown
+ states to avoid alerts. Thanks to Steve Wilson for the patch!
+ * Remove asterisks from NEWS.Debian and rewrite as non bulleted list, as
+ advised by the developers reference.
+
+ -- Holger Levsen Thu, 14 Jan 2010 12:10:51 +0000
+
+munin (1.4.3-1) unstable; urgency=low
+
+ * New upstream release. Mainly bugfixes.
+ * Fix typo in /etc/munin/apache.conf. (Closes: #562537)
+ * Add /var/log/munin-node-configure.log to munin-node.postrm so it will
+ be removed upon purge.
+
+ -- Tom Feiner Sun, 03 Jan 2010 09:35:01 +0200
+
+munin (1.4.2-2) unstable; urgency=low
+
+ * Fix lintian warnings regarding DejaVuSans.ttf.
+ * /etc/munin/apache.conf uses ,
+ should use . (Closes: #561984)
+ * Fix group for exim_mailqueue plugin. Closes: #562097).
+
+ -- Tom Feiner Thu, 24 Dec 2009 08:50:58 +0200
+
+munin (1.4.2-1) unstable; urgency=low
+
+ * New upstream release. Mainly bugfixes.
+ * includes fix for SQL Syntax Error inside postgres_querylength_
+ (Closes: #559426)
+ * Add debugfs to df exclude list in default plugin configuration.
+ * Change default group for plugin exim_mailqueue from Debian-exim to adm.
+ (Closes: #559674)
+ * Include upstream fix which didn't make it into 1.4.2 for empty
+ /etc/munin/munin-conf.d/ directory causing munin-cron to spew warnings to
+ cron. (Closes: #559624)
+ * Add patch 101-GraphOld-typo-r3235.patch to fix a typo in munin
+ 1.4.2 which stop some graphs from being graphed.
+ * Remove 100-VeraMono-DejaVuSansMono-replacement.patch as it's not
+ needed anymore.
+
+ -- Tom Feiner Fri, 18 Dec 2009 10:26:52 +0200
+
+munin (1.4.1-2) unstable; urgency=low
+
+ * Add link to UPGRADING file in NEWS.
+ * Remove use of multiple groups from default plugins configuration.
+ (Closes: #559286)
+ * Add depends on the same version of munin-common to munin, munin-node.
+ * Add watch file.
+
+ -- Tom Feiner Sat, 05 Dec 2009 10:39:51 +0200
+
+munin (1.4.1-1) unstable; urgency=low
+
+ * New upstream version with 18 bugfixes and small enhancements.
+ * 1.4.0 broke graphing of sensors_fan. (Closes: #559188)
+
+ -- Stig Sandbeck Mathisen Fri, 04 Dec 2009 15:48:53 +0100
+
+munin (1.4.0-2) unstable; urgency=low
+
+ [ Tom Feiner ]
+ * Improve short description of munin-common and munin-java-plugins.
+ * Move default-jdk from Build-Depends to Build-Depends-Indep.
+ * Change the order of Depends for munin-java-plugins to put a non-virtual
+ package first.
+
+ [ Stig Sandbeck Mathisen ]
+ * Update munin-node plugin configuration for postfix. (Closes: #559165)
+
+ [ Holger Levsen ]
+ * debian/control: Add a "Replaces: munin-plugins-extra" to munin-node, as
+ some plugins have become official and thus moved to the other binary
+ package. Thanks to Gregor Hermann. (Closes: #559062)
+ * munin.postrm: Cleanup the link in /etc/$webserver/conf.d - thanks to
+ Andreas Tille for spotting this.
+
+ -- Holger Levsen Thu, 03 Dec 2009 13:57:10 +0100
+
+munin (1.4.0-1) unstable; urgency=low
+
+ * Initial upload of munin 1.4.0 to Debian unstable. (Closes: #535691)
+ New features include:
+ - Better scalability (multigraph support)
+ - Better security through TLS (SSL)
+ - Better looking HTML templates
+ - "includedir" in munin.conf to allow drop-in configuration
+ - More than 100 new plugins
+ - bugfixes
+ Please refer to the Announce-1.4.0, changelog for the full details.
+ * Remove 62 patches that have been merged in trunk.
+ * Move htmldir to /var/cache/munin/www. (Closes: #553555)
+ If you are upgrading, read NEWS.Debian.
+ Theres still work to be done implementing debconf presenting an option
+ where to install the htmldir, and possibly support more webservers by
+ default.
+ * Add new binary package: munin-common, which contains code shared by
+ munin and munin-node. Added depends on munin-common to munin,
+ munin-node.
+ * Add new binary package munin-java-plugins.
+ * debian/rule - make target names have changed.
+ * Add depends to liblog-log4perl-perl for munin.
+ * Add suggests to libtext-csv-xs-perl for munin-node, required by
+ the new zimbra plugin.
+ * Add suggests to libxml-simple-perl for munin-node, required by
+ the tomcat_* plugins.
+ * Add suggests to libdbd-mysql-perl,libcache-cache-perl for munin-node
+ required by the new mysql_ plugin.
+ * Add suggests to ruby for munin-node.
+ * Update new manpages names for munin-node.manpages.
+ * Change the use of VeraMono.ttf in munin-graph to the
+ equivalent font provided by a Debian package. (Closes: #548508)
+ * munin.conf has a "includedir" directive now, to include config file
+ snipplets. (Closes: #425416)
+ * Fix current value of graph_total always 0. (Closes: #406505)
+ * plugin: apache_* improve output in errors. (Closes: #542477)
+ * plugin: exim_mailqueue show frozen count. (Closes: #299266)
+ * plugin: memory. Fix negative values in memory usage. (Closes: #257827)
+ * plugin: enhanced ping_ allows for multiple host statistics. (Closes: #312518)
+ * plugin: snmp__if_ uses 64bit counters now. (Closes: #499554)
+ * Improve ignore_file in /etc/munin/munin-node.conf. (Closes: #518401)
+ * munin-node logrotate now rotates munin-node.log with munin user ownership.
+ * munin-graph now checks if in cgi-mode and thus munin-cron doesn't need to
+ be modified anymore for cgi-mode. (Closes: #498842)
+ * Add default postgres_* configuration to plugins.conf.
+ * Add Announce-1.4.0, UPGRADING to the package documents.
+ * Add build/resources/apache-cgi.conf to munin.docs.
+ * 1.4.0 contains the fix for squid_traffic bytes from cache too
+ low. (Closes: #557385)
+ * munin-node: improve ignore_file in /etc/munin/munin-node.conf.
+ (Closes: #546149)
+ * munin-node: iostat plugin does not print values for Xen domU disks.
+ (Closes: #552034)
+
+ [ Holger Levsen ]
+ * Update homepage field in debian/control.
+ * Improve debian/changelog.
+
+ -- Tom Feiner Sun, 29 Nov 2009 22:41:11 +0200
+
+munin (1.2.6-17) unstable; urgency=low
+
+ [ Holger Levsen ]
+ * Adding Tom to uploaders.
+ * Apply patch by Tom Feiner to not make the automatic plugin detection fail
+ if one plugin has an error. (Closes: #539886)
+
+ [ Tom Feiner ]
+ * Added hddtemp2 configuration to run as root. (Closes: #548906)
+
+ -- Holger Levsen Fri, 16 Oct 2009 15:28:51 +0000
+
+munin (1.2.6-16) unstable; urgency=low
+
+ [ Holger Levsen ]
+ * Bump standards-version to 3.8.3, no changes necessary.
+
+ [ Tom Feiner ]
+ * Add python to munin-plugins-extra suggests, as ipmi_sensor_ needs it.
+ (Closes: #545967)
+ * Updated ejabberd plugin, thanks to Peter Viskup. (Closes: #545465)
+ * Add suggests to libnet-telnet-perl for munin-plugins-extra as the
+ asterisk plugins needs it. (Closes: #532955)
+ * Changed mysql* plugins options to use /etc/mysql/debian.cnf
+ exclusively. /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf
+ ~/.my.cnf (including /root/.my.cnf) mysql configuration files
+ will now be ignored. (Closes: #408452)
+
+ -- Holger Levsen Fri, 18 Sep 2009 10:34:33 +0000
+
+munin (1.2.6-15) unstable; urgency=low
+
+ [ Matthias Schmitz ]
+ * Add the linux_diskstats_ plugin from Michael Renner. (Closes: #522561)
+ * Provide an ipmi_sensor_ plugin. (Closes: #503936)
+ * postfix_mailstats: Don't fall back to a logfile we already determined not
+ to exist. Thanks to Ulrik Haugen and Niels Thykier! (Closes: #532876)
+ * dhcpd3: Set Debian specific path to configuration and lease file.
+ Thanks to Tom Feiner! (Closes: #543979)
+ * hddtemp_smartctl: Add capability to detect scsi/sata disks. Thanks to
+ Thorsten Gunkel for bug report and patch! (Closes: #497400)
+
+ [ Holger Levsen ]
+ * Add libcrypt-ssleay-perl to munin-nodes suggests as the apache plugins
+ need it for https URLs. (Closes: #545097)
+
+ -- Holger Levsen Sun, 06 Sep 2009 15:31:54 +0200
+
+munin (1.2.6-14) unstable; urgency=low
+
+ [ Stig Sandbeck Mathisen ]
+ * munin-node: Change "allow" to "cidr_allow" (Closes: #540805)
+ * munin-node: Changing mode of /etc/munin/plugin-conf.d to root:munin 750.
+ Adding README.PluginConfiguration to document this directory better.
+ (Closes: #521018)
+ * Removing patch to change default log path in amavis plugin, we fix
+ this in the Debian supplied plugin configuration instead
+ * munin-node: In munin-node.conf, "setseid" should be correctly spelled
+ "setsid" (Closes: #533467)
+
+ [ Holger Levsen ]
+ * Apply patch by Brian De Wolf (taken from trunk r2352) to fix gaps in
+ graphs of the cpu plugin due to changes in the way the kernel reports
+ cpu usage. (Closes: #535575)
+ * Once again remove the 'autoconf' magic marker from the postgres_space
+ plugin, which was reintroduced when fixing #518790.
+ (Closes: #503294, #503403)
+ * Restart munin-node after initialising plugins. (Closes: #543613)
+
+ -- Holger Levsen Wed, 26 Aug 2009 13:44:34 +0200
+
+munin (1.2.6-13) unstable; urgency=low
+
+ [ Stig Sandbeck Mathisen ]
+ * Fix conversion of old RRD files, which made munin emit lots of harmless
+ error messages on its first run (Closes: #400703)
+ * node.d/postfix_mailstats: Add patch to make it count rejects by
+ postfix/cleanup (Closes: #532200)
+ * Makefile: Make find-search-replace-and-rename behave in a more sane manner
+ (Closes: #536987)
+ * Add comments to patches in ./debian/patches/
+ * Add myself to uploaders.
+
+ [ Matthias Schmitz ]
+ * Add suggest to hdparm as need by hddtemp_smartctl (Closes: #531714)
+ * Catch unitialized values and munindoc'ify postgres_space_ (Closes: #518790)
+
+ [ Holger Levsen ]
+ * Bump Standards-version to 3.8.2.
+
+ -- Holger Levsen Mon, 03 Aug 2009 13:16:48 +0200
+
+munin (1.2.6-12) unstable; urgency=low
+
+ * Fix bashisms in several plugins in munin-plugins-extra, thanks to
+ Raphael Geissert for the bug and the patch. (Closes: #530147)
+ * Fix hardcode upsname in nut_misc and nut_volts plugins, thanks to Joey
+ Hess for the bug and Stig Sandbeck Mathisen for the patch.
+ (Closes: #521355)
+ * munin.postinst and munin-node.postinst: workaround bug in xen-tools
+ (#531021) by creating the munin group if it doesn't exist.
+ (Closes: #501189)
+ * Add patch to linux cpu plugin to output correct graph if HZ value != 100,
+ thanks to Valentin Vidic for the patch. (Closes: #500226)
+ * Add patch to acpi plugin to call acpi without -B as requiered by acpi in
+ lenny and newer, thanks to Joey Hess. (Closes: #523239)
+ * Include ejabberd plugin in munin-plugins-extra. Thanks to Christian Dröge
+ for the plugin. (Closes: #505684)
+ * Include various plugins for asterisk in munin-plugins-extra. Thanks to
+ Rodolphe Quiedeville and Jan Prunk for the plugins. (Closes: #510307)
+
+ -- Holger Levsen Fri, 29 May 2009 14:31:23 +0200
+
+munin (1.2.6-11) unstable; urgency=low
+
+ [ Stig Sandbeck Mathisen ]
+ * Activate 460-netstat-regex.patch (Closes: #526688)
+
+ [ Matthias Schmitz ]
+ * Add munin(8) manpage. (Closes: #517952)
+
+ [ Holger Levsen ]
+ * node/munin-run.in: fix typo in manpage. (Closes: #514559)
+ * Add suggests to net-tools for munin-node as netstat is a common plugin.
+ * Create /var/run/munin unconditionally in munin-nodes initscript,
+ remove the code in maintainer scripts and daily cronjob dealing with it.
+ (Closes: 518389) (by the code removal.)
+ * Bump Standards-version to 3.8.1.
+ * Bump debhelper compat level to 5, use versioned build-depends on
+ debhelper, add ${misc:Depends} to binary packages depends.
+ * Fix typo in apache plugins. (Closes: #519642)
+ * Fix typo in if plugins. (Closes: #523765)
+ * Apply patch from http://munin.projects.linpro.no/ticket/627 to support
+ bind 9.5 (and 9.3) in the bind9_rdnc plugin. (Closes: #522868)
+ Thanks to K.Kano for the patch and Thorsten Tüllmann for filing the bug in
+ the Debian BTS.
+
+ -- Holger Levsen Thu, 28 May 2009 20:42:05 +0200
+
+munin (1.2.6-10) unstable; urgency=low
+
+ * munin-html: create needed directories if they don't exist. Normally this
+ is done in munin-graph, but that's not used in cgi mode. Thanks to Peter
+ Palfrader for the bugreport with patch! (Closes: #514634)
+ * node.d.linux/netstat.in: fix regex to only match openened connections,
+ thanks to Paul Slootman for 460-netstat-regex.patch. (Closes: #507069)
+
+ -- Holger Levsen Sat, 28 Feb 2009 19:54:14 +0100
+
+munin (1.2.6-9) unstable; urgency=low
+
+ [ Matthias Schmitz ]
+ * 420-munin-limits.excessive-notifications.patch: Make the number of state
+ transitions (from or to unknown) configurable before a notification will
+ be send, now set to 3. Thanks to Steve Wilson for the patch.
+ (Closes: #501214)
+ * Add a stderr/stdout redirection to iostat plugin. (Closes: #512407)
+ * munin-cgi-graph: better check of semget() return value.
+ Thanks to Rafał Kupka! (Closes: #512572)
+
+ [ Holger Levsen ]
+ * apc_nis plugin: Set line_volt.max to 300 (instead of 200) to correctly
+ deal with 220V installations. Thanks to Tim Bagot for reporting this!
+ (Closes: #511781)
+
+ -- Holger Levsen Wed, 04 Feb 2009 20:05:53 +0100
+
+munin (1.2.6-8) unstable; urgency=low
+
+ [ Matthias Schmitz ]
+ * Added missing dashes to the http connector in tomcat_threads,
+ tomcat_volumes and tomcat_access. Thanks to Markus Fischer!
+ (Closes: #500304)
+ * With rrdtool >= 1.3 the column alignment in the graph legend only works
+ with a monospace font. Remove fix path to legend font in munin-graph and
+ substitute it with fontconfig name 'monospace'. (Closes: #499033)
+ * Remove the 'autoconf' magic marker from the postgres_* plugins.
+ (Closes: #503294, #503403)
+
+ [ Holger Levsen ]
+ * munin-node.postinst: only execute $TMPFILE if munin-node-configure (which
+ creates it) exited without errors. (Closes: #503913)
+ * node/munin-node.conf.pod: fix error from pod2man spotted by lintian.
+
+ -- Holger Levsen Sat, 08 Nov 2008 14:31:13 +0000
+
+munin (1.2.6-7) unstable; urgency=low
+
+ * Add trivial patch from Guido Günther to munin-node to allow colons in
+ plugin names, to enable support for IPv6 addresses. (Closes: #499391)
+ * Remove 'white-space: nowrap;' from style.css, this avoids too wide html
+ pages in large Munin installations. (Closes: #500080)
+
+ -- Matthias Schmitz Wed, 24 Sep 2008 23:12:20 +0200
+
+munin (1.2.6-6) unstable; urgency=low
+
+ [ Matthias Schmitz ]
+ * Since version 1.3.x rrdtool / librrds uses libpango which needs its input
+ utf8 encoded. Because all munin plugins are latin1 munin-graph now encodes
+ the strings into utf8 before feeding them to librrds. (Closes: #494547)
+ Also mention the need for latin-1 encoded plugins in
+ munin-node.README.Debian.
+ * Included postgresql plugins. (Closes: #320079) Add libdbd-pg-perl
+ to munin-node suggests.
+ * Make munin-node suggests of smartmontools versioned to >=5.37-6~bpo40+1
+ because this version contains fixes for CCISS controllers needed by
+ plugin hddtemp_smartctl, to help backporters. (Closes: #488357)
+
+ [ Holger Levsen ]
+ * Add libnet-netmask-perl to munin-plugins-extra suggests. (Closes: #494095)
+ * Add trivial patch from Guido Günther to munin-run to allow colons in
+ plugin names, to enable support for IPv6 addresses. (Closes: #499391)
+
+ -- Holger Levsen Fri, 19 Sep 2008 15:29:38 +0000
+
+munin (1.2.6-5) unstable; urgency=low
+
+ [ Matthias Schmitz ]
+ * The plugin nfsd will not longer try to read values from a not longer
+ existent /proc/net/rpc/nfsd. (Closes: #490882, #473854)
+ * munin-run will now print its usage if its called without a plugin
+ parameter. (Closes: #416478)
+ * node.d/postfix_mailqueue: redirect the 'which' output to /dev/null to
+ avoid an unnecessary error message. (Closes: #495004)
+ * node.d/exim_mailstats: cut out the pid from the logfile lines if
+ log_selector=+pid is used (Closes: #440622)
+ * munin-node: Add an entry to /etc/munin/plugin-conf.d/munin-node to let the
+ plugin fw_forwarded_local run as root. (Closes: #411869)
+ * node.d.linux/fw_conntrack: Add 'graph_args -l 0' to plugin so that the
+ graph scale always starts from zero and completely shows the area of the
+ established connections. (Closes: #490093)
+
+ [ Holger Levsen ]
+ * Fix typos in node/Plugin.pm, thanks to Joey Schulze. (Closes: #495003)
+
+ -- Holger Levsen Sun, 24 Aug 2008 17:35:34 +0000
+
+munin (1.2.6-4) unstable; urgency=medium
+
+ * Install munin-node gracefully (ie. inside a chroot, where port 4949 is
+ bound to another munin-node already) : munin-node.postinst: don't exit
+ postinst with error if just munin-node-configure fails. debian/rules: use
+ dh_installinit with --error-handler=true. (Closes: #491130)
+ * munin-node: if_ and if_err_ plugins: add msh|venet|veth to the regex of
+ detected interfaces. (Closes: #489505)
+ * munin-node: postfix_mailqueue plugin: use postconf to detect postfix's
+ spooldir. (Closes: #383397)
+ * munin-plugins-extra: include vserver plugins (Closes: #489737), thanks to
+ Micah Anderson for maintaining them. Make them use /bin/bash instead of
+ /bin/sh as they don't work with dash yet.
+ * munin-node: depend on gawk. (Closes: #491559)
+ * munin-node: add versioned dependency on lsb-base. (Closes: #469311)
+ * munin-node-configure: don't treat empty suggests as errors.
+ (Closes: #491475, #489502)
+ * munin-node: sensors plugin: don't output errors on autoconf and suggest if
+ no sensors binary is installed. (Closes: #491473)
+ * munin-plugins-extra: fix typo in courier plugin. (Closes: #491463)
+
+ -- Holger Levsen Thu, 17 Jul 2008 16:33:05 +0000
+
+munin (1.2.6-3) unstable; urgency=low
+
+ [ Holger Levsen ]
+ * Add liblwp-useragent-determined-perl to suggests for the munin-node
+ package as its needed for the apache_accesses plugin.
+
+ [ Matthias Schmitz ]
+ * Fix typo in munin-node postinst. (Closes: #489591)
+ * Fixed POD typo in Plugin.pm (Closes: #488700)
+
+ -- Matthias Schmitz Mon, 07 Jul 2008 13:31:32 +0200
+
+munin (1.2.6-2) unstable; urgency=low
+
+ [ Matthias Schmitz ]
+ * Fix the exim detection in exim_mailqueue with the patch from Damyan
+ Ivanov, thanks! Closes: #486865
+ * Replace the wrong filehandle close in exim_mailstats through tail_close().
+ Closes: #486868
+ * Remove the "-w" from the hash bang line of ntp_offset since nether dash
+ nor bash (or ksh) knows this parameter. Closes: #486887
+ * Change maintainer mail back to munin-deb-maint@linpro.no
+ * To become compatible with Nagios substitute "%" by "percent" in graph
+ title of plugins df and df_inode. Thanks Andreas Beckmann, Closes: #472239
+ * The plugin smart_ will not longer spin up disks in standby mode. Added "-n
+ standby" to the smartctl call. In plugin hddtemp_smartctl this issue was
+ already fixed upstream. Closes: #409462
+ * Included plugin 'ups_'. Thanks Andras Korn! Closes: #305917
+ * Set default logfile to mail.conf for postfix_mailvolume in plugins.conf
+ since Debian's postfix logs there. In the plugin postfix_mailstats this
+ issue was already fixed upstream. Closes: #461302
+ * Added detection of slashes in plugin ip_'s suggest mode.
+ Closes: #464881, #411643, #402881
+ * Included plugin 'openvpn'. Closes: #354447
+ * Build the binary package 'munin-plugins-extra' with user contributed
+ plugins (again) by default. Though previously this package was called
+ 'munin-plugins-contrib'. It was renamed to avoid confusion about the term
+ 'contrib' which is used in Debian with a different meaning.
+
+ [ Holger Levsen ]
+ * Bump Standards-Version to 3.8.0, add Homepage and Vcs-* pseudo-headers.
+ * Add README.source and convert it to svn-buildpackage. Thanks to Patrick
+ Winnertz for help on this and writing the pbuilder part of README.source.
+ * Add error checking to postinst, so the postinst (and with it dpkg) doesn't
+ fail if munin-node-configure fails, for example if /proc is not mounted.
+ * Provide entry about the munin-plugins-extra package in NEWS file.
+ * Add suggests to logtail for munin-plugins-extra, as some of those plugins
+ need it.
+ * Remove the buggy and unneeded logtail version detection code in the
+ amavis and courier plugins as described in #298895 and #297628. (The bugs
+ were closed in the BTS when the now called 'munin-plugins-extra' package
+ wasn't build on default anymore.)
+ * Adjust the default path for the mail logfile as suggested in #296533.
+ (Same here, bug was closed in the BTS when this binary package wasn't
+ build on default anymore.)
+
+ -- Matthias Schmitz Tue, 01 Jul 2008 19:06:20 +0200
+
+munin (1.2.6-1) unstable; urgency=low
+
+ [ Matthias Schmitz ]
+ * new upstream release (Closes: #440003, #310915, #387283, #307963, #241824,
+ #307966, #311727, #336618, #307962, #307997, #385058, #385358, #332285,
+ #403341, #373970, #398027, #385291, #436002, #440622, #463721, #406479,
+ #454260, #484068, #472207, #485830)
+ - introduce the munindoc command
+ - introduce Munin::Plugin.pm and plugin.sh with utility functions for
+ perl/shell plugins
+ - new plugins: ntp_offset
+ * Added tomcat_* plugins from Munin 1.3.4, Closes: #484097
+
+ [ Holger Levsen ]
+ * Add Matthias and myself to uploaders.
+ * Change maintainer mail address.
+ * Fix formatting errors in debian/NEWS.
+ * Bump standards version to 3.7.3, no changes needed.
+ * Remove versioned dependencies/suggests on python, perl-modules and
+ debhelper as they are all fullfilled even in oldstable.
+ * Update debian/copyright to reflect that munin is under the GPL2.
+ * debian/rules: Don't ignore failures in the clean target.
+ * Move debhelper and quilt to Build-Depends:.
+
+ -- Holger Levsen Sun, 11 May 2008 22:42:14 +0200
+
+munin (1.2.5-2) unstable; urgency=low
+
+ * apply patch that reads the default file, closes: #370347
+
+ * control: add Loic Dachary (OuoU) to Uploaders
+
+ * control: standard version 3.7.2
+
+ -- Loic Dachary (OuoU) Tue, 07 Aug 2007 14:54:11 +0000
+
+munin (1.2.5-1) unstable; urgency=low
+
+ * New upstream release.
+ - Replace calls to net_write() with print(), closes: #388789.
+ - Replace calls to Net::Domain::hostfqdn() with a combination of
+ Sys::Hostname::hostname() and gethostbyname(), closes: #307462,
+ closes: #390815.
+ - Handle errors opening the stats file in munin-update, closes: #329204.
+ - Improves the default fonts in RRDtool 1.2, which caused some labels to
+ line-wrap, reducing readability. Closes: #361585.
+ - munin-node-configure-snmp now handles errors better, closes: #320455.
+ - Plugin generic/multips is now sorted under Processes, closes: #312521.
+ - Plugin linux/apt_all now correctly counts held packages, and also
+ considers the distribution "stable", closes: #314610.
+
+ * debian/control, debian/rules, debian/NEWS:
+ - Add support for building a package containing the contrib plugins,
+ closes: #306861. Patch from Marc Haber, thanks!
+
+ * debian/munin-node.init, debian/munin.cron.d:
+ - Recreate /var/run/munin on boot if it is absent. This is a work-around
+ for brain-damage in Ubuntu, where this directory goes AWOL every time
+ the machine is booted. Closes: #380434.
+
+ * debian/control:
+ - The link to the example installation was broken, instead point to the
+ home page where there'll always be a link to a live one.
+
+ * debian/munin-node.init:
+ - Handle pidofproc() supplying the correct return code in the situation
+ where the daemon is dead while the pid file exists. This was a bug
+ in lsb-base (#381684) up to and including version 3.1-10.
+ - Add LSB run-time dependency information.
+
+ * debian/munin.cron.d:
+ - Change the time of the daily forced munin-limits run so it doesn't
+ start at the same time as the munin-cron process, which appeared to
+ cause a race condition that made munin-limits report all values as 0.
+
+ * debian/plugins.conf:
+ - Run the ip_ plugin as the root user, closes: #373768.
+
+ * debian/copyright:
+ - The new upstream release bundles Bitstream Vera Mono, include its
+ license.
+
+ -- Tore Anderson Tue, 17 Oct 2006 14:39:05 +0200
+
+munin (1.2.4-1) unstable; urgency=low
+
+ * New upstream release.
+ - Plugin linux/iostat now supports c#d#p#-named devices, closes: #309263.
+ - Plugin generic/postfix_mailvolume should now correctly detect a
+ Postfix installation, closes: #341265, #306591.
+
+ * debian/munin-node.init, debian/control:
+ - Fix killproc() call, whose interface changed in lsb-base 3.0-10.
+ Version the dependency accordingly. Closes: #339952.
+
+ * server/munin-cron.in, server/munin-graph.in, server/munin-limits.in:
+ - Reverted to unmodified upstream versions, as the patches applied to
+ 1.2.3 has been merged into the upstream tree.
+
+ -- Tore Anderson Tue, 13 Dec 2005 18:21:59 +0100
+
+munin (1.2.3-3) unstable; urgency=medium
+
+ * debian/munin.preinst (removed), debian/munin.postinst, debian/munin.postrm,
+ debian/munin-node.preinst (removed), debian/munin-node.postinst:
+ - Remove all code that handled upgrades from versions earlier than
+ 1.2.3-1. In a way this closes: #308008.
+
+ * debian/munin.postrm, debian/munin-node.postrm:
+ - Replace "test -o" bashism with "||".
+
+ * debian/munin-node.cron.d:
+ - Update APT's package index files periodically if the apt_all plugin
+ enabled, too. Patch by Tommi Virtanen, thanks! Closes: #317278.
+
+ * debian/control:
+ - Remove conflict declarations on the old LRRD packages.
+ - Make munin-node suggest ethtool, closes: #311603.
+ - Make Munin depend on rrdtool instead of merely suggesting it. This is
+ a workaround for bug #323975 and its duplicates.
+ - Add a dependency on adduser for both packages.
+ - Increment standards-version to 3.6.2.1, no changes required.
+
+ * debian/munin-node.init, debian/control:
+ - Reimplemented Munin-Node's init script using LSB functions.
+ Closes: #326912, #326913.
+ - Add a dependency on lsb-base for Munin-Node.
+
+ * server/munin-graph.in, debian/control:
+ - Replaced the patch from 1.2.3-2 with the upstream one from SVN revision
+ 954. This re-enables support for RRDtool 1.0, so the versioned
+ dependency on librrds-perl is dropped.
+
+ * server/munin-cron.in:
+ - Swallow bogus output from RRDtool, closes: #326061. This is a
+ (hopefully temporary) workaround for bug #325353.
+
+ -- Tore Anderson Sat, 10 Sep 2005 10:58:08 +0200
+
+munin (1.2.3-2) unstable; urgency=low
+
+ * server/munin-graph.in:
+ - Gave up waiting for the new upstream release, and applied Robert
+ Loomans' patch to make Munin support RRDtool 1.2, closes: #324605,
+ closes: #325280. Thanks, Robert! Note that this breaks compability
+ with RRDtool 1.0. Sarge users should wait for the new upstream release
+ which will support both RRDtool 1.0 and 1.2.
+
+ * debian/control:
+ - Made the munin package depend on librrds-perl in versions 1.2 or above.
+
+ -- Tore Anderson Wed, 31 Aug 2005 09:11:47 +0200
+
+munin (1.2.3-1) unstable; urgency=medium
+
+ * New upstream release, targeted at Sarge.
+ - Plugin linux/sensors_ now handles yet another form of output from the
+ sensors(1) utility, closes: #300690.
+ - Plugin generic/postfix_mailstats now shouldn't include rejects from
+ the cleanup daemon in the total count, closes: #302220.
+ - Munin-update no longer emits Perl warnings to stdout, closes: #302502.
+
+ * server/munin-limits.in, debian/NEWS:
+ - Apply patch from trunk which redirects all stdout and stderr from the
+ program being run to the log, closes: #301196. The references to this
+ functionality has been corrected in the NEWS file, and also in the
+ example config file.
+
+ * debian/control:
+ - Increment standards-version to 3.6.1.1, no changes required.
+
+ * debian/munin.docs:
+ - Include README-apache-cgi.
+
+ -- Tore Anderson Sun, 03 Apr 2005 02:33:26 +0200
+
+munin (1.2.2-3) unstable; urgency=high
+
+ * node/munin-node.in:
+ - Fix mis-merge of the optional user patch, restoring per-plugin
+ group setting. Thanks to Andras Korn for reporting and
+ Robert Loomans for patch (Closes: #299589).
+
+ * node/munin-node.in, node/munin-run.in:
+ - Allow root for the per-plugin group directive.
+
+ * Fix autoconf for the linux/nfs* plugins.
+
+ -- Dagfinn Ilmari Mannsaker Wed, 16 Mar 2005 20:45:15 +0100
+
+munin (1.2.2-2) unstable; urgency=low
+
+ * node/munin-node.in, node/munin-run.in:
+ - Allow plugins to specify users to run as if present, while falling
+ gracefully back on the default user if the specified user doesn't
+ exists. Patch grabbed from upstream CVS.
+
+ * debian/plugins.conf:
+ - Run the postfix_mailqueue plugin as the postfix user only if it exists.
+
+ -- Tore Anderson Sun, 13 Mar 2005 13:55:36 +0100
+
+munin (1.2.2-1) unstable; urgency=low
+
+ * New upstream release.
+ - Plugin linux/irqstats now handles blank lines in /proc/interrupts,
+ closes: #296452.
+ - Plugins generic/apache_* could in some cases cause spurious spikes,
+ this has now been fixed. Closes: #296454, #296645.
+ - Plugin linux/df_inode now handles devices with hyphens in their names
+ correctly, closes: #298442.
+ - Plugin generic/exim_mailstats now graphs rejects, closes: #295799.
+ - Earlier versions of munin-update could in some cases complain about
+ "nested quantifiers in regex", now fixed. Closes: #296575.
+ - Fixes some broken HTML in the templates, closes: #296676.
+ - Updates over very slow connections are now handled more gracefully,
+ closes: #298108.
+
+ * debian/rules, debian/plugins.conf, debian/NEWS:
+ - Do not include contrib plugins in the munin-node package anymore.
+ Sort-of closes: #296533, #297451, #297628, #297904, #298895.
+
+ * debian/rules, debian/munin-node.postinst:
+ - Delay startup of the node significantly, as it may require other
+ monitored services (e.g. ntpd) to be already running. Also change the
+ startup time if the package is being upgraded, if the current init
+ configuration is the old package's defaults. Closes: #298793, thanks
+ to Stephen Gran for noticing.
+
+ * debian/plugins.conf:
+ - Run the Courier-MTA and Postfix plugins with necessary additional
+ privileges so they work out of the box, closes: #297654, #296985.
+ Thanks to Charles Fry and Juraj Bednar for pointing this out.
+ - The smart_ plugin is now run as root (which is necessary).
+
+ * debian/control:
+ - Suggest acpi over lm-sensors, and not the other way around as it was
+ earlier. Both the acpi and sensors_ plugins achieve the same thing,
+ but the former is auto while the latter is manual.
+ - Remove the hddtemp suggestion and replace it with smartmontools,
+ closes: #296361. The hddtemp* plugins was replaced with
+ hddtemp_smartctl in 1.2.0.
+ - Suggest python (>= 2.2), used by the smart_ plugin.
+ - A few minor rewrites in the descriptions.
+
+ * debian/munin-node.manpages:
+ - Include munin-node-configure-snmp(8).
+
+ * server/munin-limits.in:
+ - Reverted to upstream version, as the patched required in 1.2.0-1 have
+ been merged.
+
+ -- Tore Anderson Sun, 13 Mar 2005 00:28:49 +0100
+
+munin (1.2.0-1) unstable; urgency=low
+
+ * New upstream release, closes: #264878, #293499, #290099:
+ - Many plugins have changed type from COUNTER to DERIVE, to avoid
+ spurious spikes when the counters are mistakenly assumed to have
+ wrapped. This change may cause empty graphs to occur, take care to
+ read NEWS.Debian before upgrading the "munin-node" package!
+ Closes: #225623, #233762.
+ - Munin-update no longer truncates long field names, closes: #256370.
+ This may in some cases cause empty graphs, please read NEWS.Debian for
+ more information before upgrading the "munin" package.
+ - Replaces the old Nagios-specific integration with a much more generic
+ framework for sending alerts to wherever you want. As a side effect,
+ this closes: #291168.
+ - Corrects an erroneous commented example in munin.conf, closes: #294060.
+ - The munin-node.conf setting default_plugin_user now actually works as
+ advertised, closes: #295366, #295367.
+ - Plugin generic/bind9 now source its configuration from %ENV,
+ closes: #268142, #272049.
+ - Plugin generic/amavis now autodetects how to correctly invoke logtail,
+ closes: #284638, #288395.
+ - Plugin generic/squid_cache now correctly calculates cache size when
+ using multiple cache directories, closes: #288579.
+ - Plugin generic/postfix_mailstats now defaults to reading from a more
+ correct log file, closes: #291720.
+ - Plugin generic/postfix_mailstats now correctly identifies the reject
+ code as newer Postfix versions logs them, closes: #292110.
+ - Plugin generic/postfix_mailvolume now has a improved graph_title (that
+ is not the same as the title of generic/postfix_mailstats).
+ Closes: #292083.
+ - Plugin generic/named now defaults to reading from a more correct log
+ file, closes: #291849.
+ - Plugin linux/fw_forwarded_local now correctly reports 0 instead of
+ NaN in some situations, closes: #284673.
+ - Plugin linux/iostat now ingores devices that have had no I/O operations
+ whatsoever and thus are assumed to be unused, closes: #267195.
+ - New plugin: linux/forks. Closes: #225638.
+ - New plugin: linux/uptime. Closes: #283622.
+ - New plugin: linux/irqstats. Closes: #224990.
+ - New plugin: generic/courier_. Closes: #291854.
+ - New plugin: generic/perdition. Closes: #291855.
+
+ * debian/NEWS:
+ - Document the changes that may lead to data loss when upgrading from
+ Munin 1.0.x, and also write a bit about the new munin-limits framework.
+
+ * debian/control:
+ - Add dependency on perl-modules (>= 5.8.0) | libparse-recdescent-perl
+ for the main munin package, as munin-limits requires Text::Balanced.
+ - Add libdate-manip-perl as a recommended package for the munin package,
+ as the new CGI functionality depends on it.
+ - Change libnet-snmp-perl to be a recommended package for munin-node
+ instead of only suggested, as the new munin-node-configure-snmp
+ requires it.
+
+ * debian/Makefile.config:
+ - Install the new CGI in /usr/lib/cgi-bin/, as mandated by the Debian
+ Policy Manual.
+
+ * debian/munin.cron.d, debian/munin.manpages, debian/munin.logrotate,
+ debian/munin.postrm:
+ - The new upstream release includes "munin-limits", which supersede
+ "munin-nagios". Update the installed manual pages, cron jobs,
+ logrotate configuration, and purge script accordingly.
+
+ * debian/plugins.conf:
+ - Plugin linux/fw_conntrack is now run as root as this file recently has
+ changed to not be world readable, closes: #291226.
+ - Plugin linux/if_ is now run as root in order to probe the speed of the
+ network interface.
+
+ * debian/munin.postinst, debian/munin-node.postinst, debian/munin.postrm,
+ debian/munin-node.postrm:
+ - Use dpkg-statoverride to handle the permissions on the data and log
+ directories.
+
+ * server/munin-limits.in:
+ - Change lock file directory to match that of munin-update, munin-graph,
+ and munin-html (grabbed from upstream CVS).
+ - Fix a string comparsions where the "==" operator was used instead of
+ "eq" (grabbed from upstream CVS).
+
+ * debian/munin.postinst:
+ - Only change user and group ownership on the data files from "lrrd" to
+ "munin" when the package is first installed, not on every upgrade.
+
+ -- Tore Anderson Mon, 21 Feb 2005 00:16:25 +0100
+
+munin (1.0.5-1) unstable; urgency=low
+
+ * New upstream release:
+ - Expands @@ macros in man pages, closes: #286399.
+ - Fixes bug in munin-run %ENV untainting, closes: #285173.
+ - Fixes template variable escaping and other XHTML errors, closes: #287435
+ (based on patch by Tommi Virtanen ).
+ - hddtemp plugin calls hddtemp -n to avoid having to parse its output,
+ closes: #282021.
+ * Add Suggests: for programs and perl modules needed by plugins but not
+ the services they monitor, closes: #272148, #270090.
+
+ -- Dagfinn Ilmari Mannsaker Wed, 5 Jan 2005 23:47:16 +0100
+
+munin (1.0.4-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Tore Anderson Sun, 5 Dec 2004 16:54:19 +0100
+
+munin (1.0.3-1) unstable; urgency=low
+
+ * New upstream release:
+ - Fixes typo in linux/fw_forwarded_local, closes: #275535.
+ - Fixes typo in linux/fw_packets, closes: #275537.
+ - Plugin generic/acpi now autodetects correctly even if the acpi version
+ does not contain the acpi_available program, closes: #275538.
+
+ * debian/plugins.conf:
+ - Run the spamstats plugin with the group adm, closes: #278765.
+ - Sorted the entries alphabetically.
+
+ -- Tore Anderson Mon, 1 Nov 2004 21:56:41 +0100
+
+munin (1.0.2-1) unstable; urgency=low
+
+ * New upstream release, fixing the follwing:
+ - munin-graph spews uninitialized value in concatenation [precedence
+ error], thanks to Don Armstrong (Closes: #267185).
+ * Run the hddtemp plugins as root, write access to the device isn't
+ enough.
+
+ -- Dagfinn Ilmari Mannsaker Wed, 1 Sep 2004 09:32:42 +0200
+
+munin (1.0.1-1) unstable; urgency=low
+
+ * New upstream release, fixing the following:
+ - [munin-graph/1.0] multiple .negative options is broken,
+ thanks to Andre TOmt (Closes: #250982).
+ - [plugin:hddtemp2/1.0] Must run under "C" locale (Closes: #253497).
+ - munin-node: LANG-dependant behaviour changes (Closes: #255312).
+ - [plugin:sensors_temp/1.0] Omits temperature values without
+ max and/or hysteresis value(s), thanks to Elmar Hoffmann
+ (Closes: #256380).
+ - [plugin:sensors_volt/1.0] Omits negative voltages, thanks to Elmar
+ Hoffmann (Closes: #256734).
+ - [plugin:ipac_ng/1.0] Syntax error, thanks to Stefani
+ Banerian (Closes: #264714).
+ - [plugin:hddtemp2/1.0] Ignores env.ignore (it's not supposed
+ to, really! :), thanks to Michel Meyers (Closes: #265022).
+ - munin-node: plugin iostat_ios has improper magic file
+ marker, thanks to Micah Anderson (Closes: #262708).
+ * Set Maintainer: to the Munin team address.
+ * Add Tore Anderson and myself to Uploaders:
+ * Make the hddtemp plugins run as group "disk" to ensure access to the
+ disks.
+
+ -- Dagfinn Ilmari Mannsaker Wed, 18 Aug 2004 20:55:27 +0200
+
+munin (1.0.0-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Tore Anderson Sun, 18 Jul 2004 13:19:31 +0200
+
+munin (0+1.0.0pre5-1) unstable; urgency=low
+
+ * New upstream release:
+ - Apache plugins' autoconf routines should be fixed, closes: #236144.
+ - The node now applies plugin user settings at startup, closes: #236694.
+ - Fixed link rot in the templates, closes: #236792.
+ - graph_scale improved to use rrdgraph --units-exponent, closes: #236834.
+ - Improves the labels of the Apache plugins, closes: #238594.
+ - Improved sensors_* plugins to better cope with various output from
+ /usr/bin/sensors, closes: #245289.
+ - Adds new plugin for NFS statistics, closes: #223775.
+
+ * debian/rules:
+ - Include "contrib" plugins as well as "auto" and "manual" in the
+ munin-node package, closes: #236939, #236972, #245104.
+
+ * Makefile:
+ - Ignore the return value of htmldoc, as it's begun returning non-zero
+ if it encountered a non-fatal error in the document.
+
+ -- Tore Anderson Fri, 21 May 2004 20:51:19 +0200
+
+munin (0+1.0.0pre3-1) unstable; urgency=low
+
+ * New upstream release, closes: #231049:
+ - Project renamed from "LRRD" to "Munin". Almost every file in the
+ debian directory has changed both name and content due to this, and
+ the changes related to this are far too numerous to detail here.
+ - iostat plugin now works on Linux 2.6, closes: #224113.
+ - mysql_queries now appends ".value" to the fields, closes: #224118.
+ - Munin-node now ignores config files names suggesting they're backup
+ files of some sort (such as "foo.dpkg-old"), closes: #224265.
+ - Munin-node now doesn't attempt to drop privileges using setuid() and
+ setgid() if it's not running as root to begin with, closes: #224300.
+ - Untaint %ENV unconditionally; let the admin shoot himself in the foot
+ if he wants to, closes: #224838, #224878.
+ - Munin-update now allows any character in service names (although it
+ translates exotic ones to "_"), closes: #224859.
+ - Munin-graph now handles bogus input from plugins more gracefully,
+ closes: #224942.
+ - Munin-update doesn't any longer complain on stderr if a node times out
+ in mid-transfer, closes: #227650.
+ - Incorporates Mike Fedyk's many improvements to the memory plugin,
+ closes: #223346.
+ - The iostat graph is now mirrored over the X axis, making it much
+ easier to read, closes: #223373.
+ - Fix buggy HTML in the service view, closes: #230322.
+ - Limit the maximum values from the vmstat plugin to 500000, to avoid
+ spurious peaks to sneak in, closes: #225489, #225626.
+ - Further improvements to related to timeout handling, closes: #224480.
+
+ * debian/plugins.conf:
+ - Run the Exim mailstats plugin in the groups "mail" and "adm", to
+ ensure we can read the log files we need, closes: #225988.
+ - Run the Exim mailqueue plugin with "Debian-exim" as a supplementary
+ group if it exists, closes: #229860.
+
+ * debian/munin-node.init:
+ - Use a full string match instead of a substring match when looking
+ in the process table for running Munin-node processes, closes: #224486.
+ - Remove $( Thu, 05 Feb 2004 19:15:14 +0100
+
+lrrd (0.9.9r5-1) unstable; urgency=low
+
+ * New upstream release:
+ - Allows for customizing which port to connect to when the server is
+ talking to its clients, closes: #214114.
+ - Makes it possible to change the plugins' environment arbitrarily,
+ sort-of closes: #214277.
+ - Relaxes the paranoia regarding the plugins' ownership and permission
+ modes somewhat, closes: #214186, #216401.
+ - Further impovements to the error-handling logic in lrrd-server, which
+ hopefully closes: #215739, #222674, #222821.
+ - Removed the spurious use of Config::General in lrrd-client,
+ closes: #216176.
+ - Includes Andras Korn's psu_ wildcard plugin, which counts the number
+ of processes owned by specific users, closes: #214210. Thanks, Andras!
+ - The number of context switches per second is now graphed by the
+ interrupts plugin, closes: #222838. Thanks, Mike Fedyk!
+ - Corrected field names in the vmstat plugin, closes: #222841. Thanks
+ again, Mike Fedyk!
+
+ * debian/control:
+ - Drop dependency on libconfig-general-perl for lrrd-server, as this
+ configuration file format is now deprecated.
+ - Change priority to extra, due to the dependency on librrds-perl.
+
+ * debian/rules:
+ - Polished slightly.
+
+ * debian/lrrd-client.dirs:
+ - Removed unecessary entry /var/run/lrrd, which is installed from the
+ Makefile.
+
+ * debian/lrrd-client.init:
+ - Rewritten, now sports improved error handling and intrinsic distrust of
+ start-stop-daemon's return values, closes: #202190.
+
+ * debian/lrrd-server.cron.d:
+ - Check if the binaries we're about to run exist and are executable
+ before running them, closes: #221691.
+
+ * debian/lrrd-client.postinst, debian/lrrd-server.postinst:
+ - If we're updating from the packages which didn't create the lrrd system
+ group, try to make the GID the same as the already existing lrrd users'
+ UID, if it's available.
+
+ * debian/lrrd-client.postinst:
+ - Rewritten as a shell script.
+ - Initial plugin setup now relies on lrrd-client-configure instead of an
+ internal function to to initialize plugins. This also ensures that
+ automatic plugins later added to the package will be enabled on
+ upgrades.
+ - The plugins' state files was inappropriately placed in /var/run, move
+ them to /var/lib if any exist in the former location.
+
+ * debian/lrrd-server.postinst:
+ - Actually check how we're called, don't blindly assume we're
+ configuring.
+
+ * debian/lrrd-server.postrm, debian/lrrd-client.postrm:
+ - Better handling of empty dirs after purge. (This is workaround for
+ dpkg bug #198522).
+
+ * debian/lrrd-server.postrm:
+ - Remove some ucf stuff I had forgotten about.
+
+ * debian/plugins.conf:
+ - Updated to the new syntax for passing options to the plugins.
+
+ * debian/Makefile.config:
+ - Now only contains overrides to the upstream defaults, instead of being
+ a full replacement for upstream's Makefile.config.
+ - PLUGSTATE changed from /var/run/lrrd to /var/lib/lrrd/plugin-state, as
+ these files should persist after reboots.
+
+ -- Tore Anderson Fri, 28 Nov 2003 23:30:27 +0100
+
+lrrd (0.9.8-1) unstable; urgency=low
+
+ * New upstream release:
+ - Fixes several situations where the server would stop gathering data,
+ closes: #202191, #202637, #209329, #203173.
+ - The client will now drop privileges if possible, closes: #201726.
+ - Makes the MySQL plugins more configurable, and uses floats instead of
+ integers in the ISAM space plugin, closes: #202639, #202643.
+ - Adds support for Linux 2.6 in the memory plugins, closes: #205019.
+ - Better handling of unreachable nodes, closes: #205999.
+ * debian/control:
+ - Standards-Version 3.6.1.0, no changes required.
+ - Change my email address.
+ - Drop dependency on ucf.
+ - Add dependency on libstorable-perl, as required by the new upstream
+ release.
+ * debian/Makefile.config, debian/rules:
+ - Updated for the new upstream release.
+ * debian/lrrd-client.postinst:
+ - Use lrrd-run instead of invoking the plugins directly, to ensure their
+ autoconf values are correct.
+ * debian/lrrd-server.postinst:
+ - Stop using ucf to handle /etc/lrrd/server.conf, instead ship is as a
+ dpkg conffile. This is made possible by using the new configuration
+ setting 'use_default_name'.
+ * debian/lrrd-client.postinst, debian/lrrd-server.postinst:
+ - Add the system group lrrd as well as a system user, and ensure that all
+ data directories are owned and writeble by these.
+ * debian/plugins.conf (new):
+ - Includes configuration settings for the plugins.
+ * debian/lrrd-client.docs (new), debian/lrrd-server.docs (new):
+ - Include the LRRD documentation, closes: #203647, #203748.
+ * Makefile:
+ - Generate the lrrd-run manual page from the correct POD file.
+ - Disable cleaning the debian/ tree in the clean target.
+
+ -- Tore Anderson Sat, 04 Oct 2003 16:40:45 +0200
+
+lrrd (0.9.7-2) unstable; urgency=low
+
+ * Correct path to lrrd-nagios in /etc/cron.d/lrrd-server, closes: #202803.
+ * Use Net::Domain instead of /bin/hostname when generating server.conf,
+ to ensure the hostname matches the client's, closes: #203960.
+ * Do not determine the hostname and domain during build.
+
+ -- Tore Anderson Sat, 09 Aug 2003 23:09:21 +0200
+
+lrrd (0.9.7-1) unstable; urgency=low
+
+ * New upstream release.
+ - Massive changes in build system, update debian/rules accordingly.
+ - The server will now ignore unreachable nodes, and should thus not
+ send root arcane error messages anymore, closes: #200487.
+ * After reading through the texmf.cnf thread on debian-devel, I realize
+ I've forgotten the simplizity and no-nonsense qulities about Debian
+ that attracted me in the first place, and that I've fallen for the
+ temptation of making the configuration scripts too pretentious and
+ loquacious. Therefore, I've killed all of the Debconf questions, and
+ instead enable a default set of plugins based on the autoconf and
+ suggests routines, closes: #197413.
+ * /etc/lrrd/client.conf is now a conffile handled by dpkg.
+ * Rewrote lrrd-client's postinst in Perl.
+ * Include the APT plugin in the lrrd-client package. Hence, the
+ lrrd-client package now Conflicts and Replaces lrrd-plugin-apt.
+ Thanks to James Troup for the suggestion.
+ * Declare the debhelper compat level in debian/compat instead of in
+ debian/rules.
+ * Standards-Version 3.6.0, no changes required.
+
+ -- Tore Anderson Mon, 14 Jul 2003 20:39:18 +0200
+
+lrrd (0.9.6-1) unstable; urgency=low
+
+ * Initial release, closes: #169079.
+
+ -- Tore Anderson Sat, 31 May 2003 17:15:35 +0200
+
--- munin-2.0.2.orig/debian/munin.init
+++ munin-2.0.2/debian/munin.init
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+### BEGIN INIT INFO
+# Provides: munin
+# Required-Start: $network $named $local_fs $remote_fs
+# Required-Stop: $network $named $local_fs $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Create /var/run/munin on boot
+# Description: Create /var/run/munin on boot. Munin itself runs as CGI and has no extra startscript...
+### END INIT INFO
+
+case "$1" in
+ start|restart|force-reload)
+ # Create various dirs
+ mkdir -p /var/run/munin && chown munin /var/run/munin
+ exit $?
+ ;;
+ stop)
+ # Nothing to do
+ exit $?
+ ;;
+ *)
+ echo "Usage: /etc/init.d/munin" \
+ "{start|stop}"
+ exit 2
+ ;;
+esac
--- munin-2.0.2.orig/debian/autobuild
+++ munin-2.0.2/debian/autobuild
@@ -0,0 +1,80 @@
+#! /bin/sh
+# Autobuilding script : SVN -> debian packages
+# (c) GPL - Steve Schnepp
+
+# Has to be launched from the upper svn dir.
+# The dir structure should be like :
+# trunk/
+# debian/
+# trunk/debian -> ../debian
+# packages/
+
+# Stopping on error
+set -e
+
+# We don't want localized mesgs
+LANG=C
+
+# Always gets the last debian building tools
+( cd debian && svn -q up )
+
+[ -d trunk ] || exit 2;
+
+cd trunk
+
+OLDREVISION=$(svn st -v -N . | tr -s ' ' | cut -d' ' -f3 | head -n 1)
+[ -z "$NO_UPDATE" ] && svn -q up
+REVISION=$(svn st -v -N . | tr -s ' ' | cut -d' ' -f3 | head -n 1)
+
+# Overriding the RELEASE version
+echo 1.999.$REVISION > RELEASE
+
+TMPFILE=$(mktemp)
+
+if [ ! -z "$NO_UPDATE" -o $OLDREVISION != $REVISION ]
+then
+ # Something has changed, building the changelog
+ (
+ printf "munin (1.999.$REVISION) unstable; urgency=low\n"
+ printf "\n"
+ printf " * Somewhat daily build from trunk\n"
+ printf " * Using a 1.999.SVN naming scheme to enable rpm package building using alien\n";
+ printf " * SVN Log :\n";
+ [ -z "$NO_UPDATE" ] && svn log -r$(($OLDREVISION + 1)):$REVISION | perl -lne 'next if m/^---+$/ || m/^$/; s/^/ /; print;'
+ printf "\n"
+ printf " -- Steve Schnepp "
+ date --rfc-822
+ printf "\n"
+ ) >> $TMPFILE
+
+ # Create a new one
+ ( cat debian/changelog >> $TMPFILE ) && cat $TMPFILE > debian/changelog
+
+ # Building....
+ mkdir -p ../logs
+ (
+ echo $(date) " - START - Building package 1.999.$REVISION"
+ dpkg-buildpackage -us -uc -F -tc "$@"
+ echo $(date) " - STOP - Building package 1.999.$REVISION - retcode : $!"
+ ) >> ../logs/dpkg-buildpackage-1.999.$REVISION.log
+else
+ exit 1
+fi
+
+DEB_ARCH=$(dpkg --print-architecture)
+if [ -r "../munin_1.999.${REVISION}_${DEB_ARCH}.changes" ]
+then
+ # Moving everything in packages/ and prepare it for upload
+ mkdir -p ../packages/munin
+ test -r ../packages/override || touch ../packages/override
+ cd ../packages
+ mv ../*1.999.${REVISION}*.deb munin/
+ mv ../*1.999.${REVISION}*.dsc munin/
+ mv ../*1.999.${REVISION}*.tar.gz munin/
+ mv ../*1.999.${REVISION}*.changes .
+
+ dpkg-scanpackages -m munin override > Packages
+ gzip -9 < Packages > Packages.gz
+fi
+
+rm $TMPFILE
--- munin-2.0.2.orig/debian/munin-node.NEWS
+++ munin-2.0.2/debian/munin-node.NEWS
@@ -0,0 +1,178 @@
+munin-node (1.4.0-1) unstable; urgency=low
+
+ munin-node-configure-snmp command is no longer available, use
+ munin-node-configure --snmp to configure snmp hosts.
+
+ If upgrading from 1.2.6, please review the
+ /usr/share/doc/munin/UPGRADING file as there is an issue with truncated
+ field names in plugins (especially with the df plugin), resulting
+ in loss of history, which can be fixed manually.
+
+ -- Tom Feiner Fri, 04 Dec 2009 18:29:16 +0200
+
+munin-node (1.2.0-1) unstable; urgency=low
+
+ * There are two major bugfixes in the 1.2.x series of Munin since 1.0.x that
+ could not be accomplished without introducing a risk of losing historical
+ data after upgrades. Or more precisely: no data will be lost, but the
+ exact name of the RRD file will change, so that the update process will
+ start collecting data into a new, emtpy, file, which in turn will be read
+ by munin-graph, and the final result is that the graph will appear to have
+ lost all data. The historical data will still be present in the old graph.
+
+ In the last two sections of this file I will attempt to detail how you can
+ minimize the data loss by carefully planning how to perform the upgrade.
+
+ * The infrastructure for sending warnings if values drop below or rise above
+ preset boundaries has been redesigned to improve flexibility, and are no
+ longer specific to NSCA/Nagios. The old nsca_* settings are still
+ recognized, and are automatically mapped into a contact with the name
+ "old-nagios". Hence the now deprecated munin.conf entries
+
+ nsca /bin/nsca
+ nsca_server sloth.fud.no
+ nsca_config /etc/nsca.cf
+
+ would implicitly be converted to the entry
+
+ contact.old-nagios.command /bin/nsca sloth.fud.no -c /etc/nsca.cf -to 60
+
+ unless the latter was explicitly defined in /etc/munin/munin.conf, in which
+ case the deprecated entries would be ignored.
+
+ * Data loss issue 1
+ =================
+
+ A number of plugins which in the 1.0.x series used the COUNTER data type
+ has now been changed to use the DERIVE type, with a minimum of 0. The
+ reason is to hinder RRDtool from misdetecting counter wraps when a service
+ or machine is restarted, which resulted in abnormal spikes in those graphs.
+
+ The munin-update component from the 1.2.x series are able to recognize that
+ a plugin has changed thusly, and will automatically copy all the historic
+ data from the old RRD file into the new one, ensuring a smooth transition.
+ However, the munin-update component from the 1.0.x series are not aware of
+ this, and will react to this data type change by starting to collect data
+ into a new, empty, RRD file.
+
+ The method to ensure a painless upgrade is simple:
+
+ Ensure that you upgrade the "munin" package BEFORE you upgrade the
+ ==================================================================
+ "munin-node" package on any of the hosts it collects data from.
+ ===============================================================
+
+ Should you however have already upgraded the packages in the wrong order,
+ you may salvage your graphs by manually change the data type in the old
+ RRD file, and afterwards rename it. For instance, you may have this RRD
+ file containing the "user" field from the "cpu" plugin of munin-node 1.0.x:
+
+ /var/lib/munin/fud.no/lust.fud.no-cpu-user-c.rrd
+
+ After upgrading to version 1.2.x of munin-node, this will have changed to:
+
+ /var/lib/munin/fud.no/lust.fud.no-cpu-user-d.rrd
+
+ If the "munin" package wasn't upgraded before "munin-node" one, you will
+ have both files, and the latter one will only contain the data gathered
+ since the upgrade of the "munin-node" package. In order to make the old
+ data reappear in the graph, you may do so using the following procedure:
+
+ cd /var/lib/munin/fud.no
+ rrdtool tune lust.fud.no-cpu-user-c.rrd -d 42:DERIVE
+ mv -f lust.fud.no-cpu-user-c.rrd lust.fud.no-cpu-user-d.rrd
+
+ You will have to repeat this process once for each field in each affected
+ plugin. Also remember to ensure that the "munin" system user have write
+ access to the resulting RRD file when you are finished. Be warned,
+ however, that by doing this you will lose all data collected since
+ munin-node was upgraded to version 1.2.x.
+
+ * Data loss issue 2
+ =================
+
+ The 1.0.x series had rather nasty design flaw that caused field names
+ longer than 18 characters be truncated, removing any excessive characters
+ from the start of the field name. This led to a nasty bug; if a plugin
+ reported values for two fields, who both had long names where the last 18
+ charaters were the same, only one RRD file would be generated, and its
+ contents would be unpredictable. The 1.2.x series do not exhibit this
+ behaviour, and will store the entire field name as part of the RRD file
+ name. As this leads to the fact that a new, empty, file will be created
+ with the non-truncated field name, the graphs will appear to have been
+ reset.
+
+ To solve this you need to manually figure out which RRD files are affected,
+ and rename them so that they are called what the new version of Munin
+ expects them to. To figure out which files may be affected, you can
+ do the following:
+
+ cd /var/lib/munin
+ ls */*.rrd | awk '-F[/-]' '{if(length($4)==18) print}'
+
+ This will output one line for each file that may be affected, for instance:
+
+ fud.no/pride.fud.no-df-v_mapper_pride_usr-g.rrd
+
+ The three first strings separated by hyphens in the filename is the
+ interesting ones. The first is the host as named in /etc/munin/munin.conf,
+ the second is the plugin name, and the third is the possibly mangled field
+ name. I say "possibly", because any RRD files with a field name that is
+ exactly 18 characters long will also be reported, even though they are not
+ affected by the change. To figure out if the file is indeed affected, and
+ what the new name should be, you need to ask the host's Munin-node process.
+
+ First, you need to figure out the DNS hostname or IP address of the node,
+ unless you already know it. This information can be found in the file
+ /etc/munin/munin.conf, and will for this example look like this:
+
+ [pride.fud.no]
+ address 127.0.0.1
+
+ Next, connect to the host's Munin-node process:
+
+ telnet 127.0.0.1 munin
+
+ After receiving the welcoming "# munin node at pride.fud.no" banner, input:
+
+ fetch df
+
+ "df" is of course the plugin name as found embedded in the RRD file name
+ above. You should now get the values reported by the plugin in return:
+
+ _dev_hda5.value 54
+ _dev_mapper_pride_usr.value 88
+ _dev.value 54
+
+ The field names are the strings before the periods. At this point the
+ correct field name is obvious - the truncated field name
+ "v_mapper_pride_usr" is the last 18 characters of "_dev_mapper_pride_usr",
+ so the latter must be the correct one. Now that you know that, you can
+ rename the RRD file so that the new version can find it:
+
+ cd /var/lib/munin/fud.no
+ mv pride.fud.no-df-v_mapper_pride_usr-g.rrd \
+ pride.fud.no-df-_dev_mapper_pride_usr-g.rrd
+
+ If you find no possible matches, it may be because the RRD file contains
+ data that are no longer collected, which could've happened in this example
+ if the filesystem in /dev/mapper/pride-usr was unmounted in the past.
+ To find out if that is the case, look at the time stamp of the file to
+ see when it was last modified. If that's a long time ago, chances are the
+ file isn't used anyway and can be left alone.
+
+ If you're really unfortunate, you may end up with multiple possibilities,
+ which could've happened in the example used here if both a device named
+ /udev/mapper/pride-usr and also one named /dev/mapper/pride-usr was mounted
+ simultaneously. If this is the case, you can't do anything but inspect the
+ relevant graph as created with Munin 1.0 to see if the field seems to
+ contain the correct data for at least one of the fields, and rename the RRD
+ accordingly. However, there is a possibility that the RRD will contain
+ useless data that isn't correct for either of the fields. In any case, you
+ won't be able to bring back correct data for both the fields, as it wasn't
+ collected properly to begin with.
+
+ You will have to repeat the process for every possibly affected RRD file,
+ after which you may safely upgrade your "munin" package.
+
+ -- Tore Anderson Mon, 21 Feb 2005 00:16:25 +0100
--- munin-2.0.2.orig/debian/compat
+++ munin-2.0.2/debian/compat
@@ -0,0 +1 @@
+8
--- munin-2.0.2.orig/debian/munin.logrotate
+++ munin-2.0.2/debian/munin.logrotate
@@ -0,0 +1,46 @@
+/var/log/munin/munin-update.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ notifempty
+ create 640 munin adm
+}
+
+/var/log/munin/munin-graph.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ notifempty
+ create 640 munin adm
+}
+
+/var/log/munin/munin-html.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ notifempty
+ create 640 munin adm
+}
+
+/var/log/munin/munin-limits.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ notifempty
+ create 640 munin adm
+}
+
+/var/log/munin/munin-cgi-graph.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ notifempty
+ #create 640 www-data adm
+ # see http://munin-monitoring.org/ticket/1152
+ copytruncate
+}
--- munin-2.0.2.orig/debian/munin-node.postrm
+++ munin-2.0.2/debian/munin-node.postrm
@@ -0,0 +1,35 @@
+#! /bin/sh
+
+set -e
+
+# workaround for bug #198522
+delete_dir_if_empty() {
+ if [ ! -d "$1" ]; then
+ return 0;
+ fi
+ rmdir --ignore-fail-on-non-empty $1;
+}
+
+if [ "$1" = "purge" ]; then
+ # delete dangling symlinks
+ test -d /etc/munin/plugins/ && for plugin in $(find /etc/munin/plugins/ -type l); do
+ if [ ! -e $(readlink $plugin) ]; then
+ rm $plugin
+ fi
+ done
+
+ rm -f /var/lib/munin/plugin-state/*.state
+ rm -f /var/lib/munin-node/plugin-state/*.state
+ rm -f /var/log/munin/munin-node.log*
+ rm -f /var/log/munin/munin-node-configure.log*
+
+ delete_dir_if_empty /var/lib/munin/plugin-state
+ delete_dir_if_empty /var/lib/munin-node/plugin-state
+ delete_dir_if_empty /var/lib/munin
+ delete_dir_if_empty /var/log/munin
+ delete_dir_if_empty /etc/munin/plugin-conf.d
+ delete_dir_if_empty /etc/munin/plugins
+ delete_dir_if_empty /etc/munin
+fi
+
+#DEBHELPER#
--- munin-2.0.2.orig/debian/munin.dirs
+++ munin-2.0.2/debian/munin.dirs
@@ -0,0 +1 @@
+var/cache/munin/www
--- munin-2.0.2.orig/debian/munin-node.postinst
+++ munin-2.0.2/debian/munin-node.postinst
@@ -0,0 +1,104 @@
+#! /bin/sh
+
+set -e
+
+prevver="$2"
+
+add_munin_system_user() {
+ if ! getent passwd munin >/dev/null; then
+ adduser --group --system --no-create-home --home /var/lib/munin munin
+ fi
+ # workaround bug (#531021) in xen-tools
+ if ! getent group munin >/dev/null; then
+ addgroup --system munin
+ adduser munin munin
+ fi
+}
+
+initperms() {
+ chown munin:adm /var/log/munin
+ chmod 755 /var/log/munin
+
+ chown root:munin /etc/munin/plugin-conf.d
+ chmod 750 /etc/munin/plugin-conf.d
+}
+
+fixoverrides() {
+ # even though we don't use /var/lib/munin/(plugin-state) anymore we should still remove old overrides
+ overrides="
+/etc/munin/plugin-conf.d
+/var/lib/munin
+/var/lib/munin/plugin-state
+/var/log/munin
+"
+
+ for override in $overrides; do
+ if dpkg-statoverride --list $override >/dev/null; then
+ dpkg-statoverride --remove $override
+ fi
+ done
+}
+
+init_plugins() {
+ TMPFILE=`mktemp /tmp/munin-node.configure.XXXXXXXXXX`
+ TMPFILE_STDERR=`mktemp /tmp/munin-node.configure.err.XXXXXXXXXX`
+ MUNIN_NODE_CONF_LOG="/var/log/munin/munin-node-configure.log"
+ if [ "$prevver" ]; then
+ MUNIN_NODE_CMD="munin-node-configure --shell --newer "${prevver%-*}""
+ echo -n "Initializing new plugins.."
+ else
+ MUNIN_NODE_CMD="munin-node-configure --shell"
+ echo -n "Initializing plugins.."
+ fi
+
+ # munin-node-conf returns 1 if case of partial plugin autoconf
+ # errors. We need to ignore these errors as even one plugin
+ # can fail the entire process. See Debian bug #539886 for details.
+ $MUNIN_NODE_CMD 2>$TMPFILE_STDERR >$TMPFILE || true
+ if [ -f $TMPFILE ]; then
+ DATE=`date '+%b %d %T'`
+ echo "$DATE - Starting $MUNIN_NODE_CMD" >> $MUNIN_NODE_CONF_LOG
+ cat $TMPFILE >> $MUNIN_NODE_CONF_LOG
+ if [ -s $TMPFILE_STDERR ]; then
+ echo "The following errors were reported by $MUNIN_NODE_CMD" \
+ >> $MUNIN_NODE_CONF_LOG
+ cat $TMPFILE_STDERR >> $MUNIN_NODE_CONF_LOG
+ fi
+ sh < $TMPFILE
+ else
+ echo "failed."
+ fi
+ echo "done."
+ rm -f $TMPFILE $TMPFILE_STDERR
+ echo -n "Restarting munin-node.."
+ invoke-rc.d munin-node restart
+}
+
+case "$1" in
+ configure)
+ add_munin_system_user
+ # this can go away after wheezy
+ if dpkg --compare-versions "$2" le "2.0~rc5-1"; then
+ fixoverrides
+ fi
+ # do this on upgrades (from old versions) and on new installs
+ if dpkg --compare-versions "$2" le "2.0.0-1" || [ "$2" = 0 ] ; then
+ initperms
+ fi
+ init_plugins
+ ;;
+ triggered)
+ if [ "$2" = "perl-major-upgrade" ]; then
+ invoke-rc.d munin-node restart
+ fi
+ ;;
+ abort-upgrade|abort-deconfigure|abort-remove)
+ :
+ ;;
+ *)
+ echo "Called with unknown argument $1, bailing out."
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
--- munin-2.0.2.orig/debian/munin-async.init
+++ munin-2.0.2/debian/munin-async.init
@@ -0,0 +1,151 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: munin-async
+# Required-Start: $network $named $local_fs $remote_fs
+# Required-Stop: $network $named $local_fs $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Munin asynchronous server
+# Description: Asynchronous munin node
+### END INIT INFO
+
+# Author: Jorne Kandziora
+#
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Munin asynchronous server"
+NAME=munin-asyncd
+DAEMON=/usr/share/munin/$NAME
+DAEMON_ARGS=""
+PIDFILE=/var/run/munin/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+ # Add code here, if necessary, that waits for the process to be ready
+ # to handle requests from services started subsequently which depend
+ # on this one. As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+ # Return
+ # 0 if daemon has been stopped
+ # 1 if daemon was already stopped
+ # 2 if daemon could not be stopped
+ # other if a failure occurred
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+ # Wait for children to finish too if this is a daemon that forks
+ # and if the daemon is only ever run from this initscript.
+ # If the above conditions are not satisfied then add some other code
+ # that waits for the process to drop all resources that could be
+ # needed by services started subsequently. A last resort is to
+ # sleep for some time.
+ start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+ [ "$?" = 2 ] && return 2
+ # Many daemons don't delete their pidfiles when they exit.
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+ #
+ # If the daemon can reload its configuration without
+ # restarting (for example, when it is sent a SIGHUP),
+ # then implement that here.
+ #
+ start-stop-daemon --stop --signal 1 --background --make-pidfile --quiet --pidfile $PIDFILE --name $NAME
+ return 0
+}
+
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ #reload|force-reload)
+ #
+ # If do_reload() is not implemented then leave this commented out
+ # and leave 'force-reload' as an alias for 'restart'.
+ #
+ #log_daemon_msg "Reloading $DESC" "$NAME"
+ #do_reload
+ #log_end_msg $?
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented then remove the
+ # 'force-reload' alias
+ #
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+ ;;
+ *)
+ #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+:
--- munin-2.0.2.orig/debian/ostype_helper
+++ munin-2.0.2/debian/ostype_helper
@@ -0,0 +1,14 @@
+#! /bin/sh
+# Helper shell to give the OSTYPE
+
+UNAME=$(uname)
+
+if [ "$UNAME" = "Linux" ];
+then
+ echo linux
+fi
+
+if [ "$UNAME" = "GNU/kFreeBSD" ];
+then
+ echo freebsd
+fi
--- munin-2.0.2.orig/debian/source/format
+++ munin-2.0.2/debian/source/format
@@ -0,0 +1 @@
+1.0
--- munin-2.0.2.orig/debian/patches/101-suppress-occasional-unknown-states-to-avoid-alerts.patch
+++ munin-2.0.2/debian/patches/101-suppress-occasional-unknown-states-to-avoid-alerts.patch
@@ -0,0 +1,141 @@
+Description: Suppress "occasional" unknown states to avoid alerts.
+ This patch adds a feature which counts the number of unknowns,
+ and only changes state (and sends an alert) once that count is reached.
+ .
+ Changed the default global count to 3 unknowns before the state is changed.
+ .
+ We will be able to remove this patch once upstream accepts it, which they
+ plan to do in a future release.
+Origin: http://munin.projects.linpro.no/ticket/828
+Forwarded: no
+Author: Steve Wilson
+Last-Update: 2010-01-13
+Index: munin-1.4.3/common/lib/Munin/Common/Config.pm
+===================================================================
+--- munin-1.4.3.orig/common/lib/Munin/Common/Config.pm (revision 3304)
++++ munin-1.4.3/common/lib/Munin/Common/Config.pm (working copy)
+@@ -36,7 +36,7 @@
+ "graph_printf", "ok", "unknown", "palette", "realservname",
+ "cdef_name", "graphable", "process", "realname",
+ "onlynullcdef", "group_order", "pipe", "pipe_command",
+- "unknown_limit", "notify_countdown", "dropdownlimit",
++ "unknown_limit", "num_unknowns", "dropdownlimit",
+ "max_graph_jobs", "munin_cgi_graph_jobs" );
+
+ my %bools = map { $_ => 1} qw(yes no true false on off 1 0);
+Index: munin-1.4.3/master/lib/Munin/Master/LimitsOld.pm
+===================================================================
+--- munin-1.4.3.orig/master/lib/Munin/Master/LimitsOld.pm (revision 3304)
++++ munin-1.4.3/master/lib/Munin/Master/LimitsOld.pm (working copy)
+@@ -330,23 +330,74 @@
+ if ($value eq "unknown") {
+ $crit->[0] ||= "";
+ $crit->[1] ||= "";
+- $hash->{'worst'} = "UNKNOWN" if $hash->{"worst"} eq "OK";
+- $hash->{'worstid'} = 3 if $hash->{"worstid"} == 0;
+- munin_set_var_loc(\%notes, [@$fpath, "state"], "unknown");
+- munin_set_var_loc(
+- \%notes,
+- [@$fpath, "unknown"], (
+- defined $field->{"extinfo"}
++
++ my $state = "unknown";
++ my $extinfo = defined $field->{"extinfo"}
+ ? "unknown: " . $field->{"extinfo"}
+- : "Value is unknown."
+- ));
++ : "Value is unknown.";
++ my $num_unknowns;
+
+ if ( !defined $onfield
+ or !defined $onfield->{"state"}
+ or $onfield->{"state"} ne "unknown") {
+ $hash->{'state_changed'} = 1;
+ }
++ else {
++ $hash->{'state_changed'} = 0;
++ }
++
++ # First we'll need to check whether the user wants to ignore
++ # a few UNKNOWN values before actually changing the state to
++ # UNKNOWN.
++ if ($unknown_limit > 1) {
++ if (defined $onfield and defined $onfield->{"state"}) {
++ if ($onfield->{"state"} ne "unknown") {
++ if (defined $onfield->{"num_unknowns"}) {
++ if ($onfield->{"num_unknowns"} < $unknown_limit) {
++ # Don't change the state to UNKNOWN yet.
++ $hash->{'state_changed'} = 0;
++ $state = $onfield->{"state"};
++ $extinfo = $onfield->{$state};
++
++ # Increment the number of UNKNOWN values seen.
++ $num_unknowns = $onfield->{"num_unknowns"} + 1;
++ }
++ }
++ else {
++ # Don't change the state to UNKNOWN yet.
++ $hash->{'state_changed'} = 0;
++ $state = $onfield->{"state"};
++ $extinfo = $onfield->{$state};
++
++ # Start counting the number of consecutive UNKNOWN
++ # values seen.
++ $num_unknowns = 1;
++ }
++ }
++ }
++ }
++
++ if ($state eq "unknown") {
++ $hash->{'worst'} = "UNKNOWN" if $hash->{"worst"} eq "OK";
++ $hash->{'worstid'} = 3 if $hash->{"worstid"} == 0;
++ }
++ elsif ($state eq "critical") {
++ $hash->{'worst'} = "CRITICAL";
++ $hash->{'worstid'} = 2;
++ }
++ elsif ($state eq "warning") {
++ $hash->{'worst'} = "WARNING" if $hash->{"worst"} ne "CRITICAL";
++ $hash->{'worstid'} = 1 if $hash->{"worstid"} != 2;
++ }
++
++ munin_set_var_loc(\%notes, [@$fpath, "state"], $state);
++ munin_set_var_loc(\%notes, [@$fpath, $state], $extinfo);
++ if (defined $num_unknowns) {
++ munin_set_var_loc(\%notes, [@$fpath, "num_unknowns"],
++ $num_unknowns);
++ }
+ }
++
+ elsif ((defined($crit->[0]) and $value < $crit->[0])
+ or (defined($crit->[1]) and $value > $crit->[1])) {
+ $crit->[0] ||= "";
+@@ -422,7 +473,7 @@
+ my @warning = (undef, undef);
+ my $crit = munin_get($hash, "critical", undef);
+ my $warn = munin_get($hash, "warning", undef);
+- my $unknown_limit = munin_get($hash, "unknown_limit", 1);
++ my $unknown_limit = munin_get($hash, "unknown_limit", 3);
+
+ my $name = munin_get_node_name($hash);
+
+@@ -454,10 +505,15 @@
+ DEBUG "[DEBUG] processing warning: $name -> $warning[0] : $warning[1]";
+ }
+
+- # The merge of the unknown_limit implementation was somewhat botched. Not tested. - janl
+ if ($unknown_limit =~ /^\s*(\d+)\s*$/) {
+- $unknown_limit = $1 if defined $1;
+- DEBUG "[DEBUG] processing unknown_limit: $name -> $unknown_limit";
++ $unknown_limit = $1 if defined $1;
++ if (defined $unknown_limit) {
++ if ($unknown_limit < 1) {
++ # Zero and negative numbers are not valid.
++ $unknown_limit = 1;
++ }
++ }
++ DEBUG "[DEBUG] processing unknown_limit: $name -> $unknown_limit";
+ }
+
+ return (\@warning, \@critical, $unknown_limit);
--- munin-2.0.2.orig/debian/patches/237-hddtemp_smartctl-sata-detect.patch
+++ munin-2.0.2/debian/patches/237-hddtemp_smartctl-sata-detect.patch
@@ -0,0 +1,46 @@
+Description: Add auto detection of SATA disks to hddtemp_smartctl
+ Upstream wants to test this bug on older systems before including it in trunk
+ as they want munin 1.4 compatible with older systems like RHEL4.
+ .
+ As we know that lenny, and onwards has smartmontools 5.38 or higher,
+ that is needed for this patch to work, we can include it in the debian package
+ even if its not included upstream.
+Origin: other
+Bug-Debian: http://bugs.debian.org/497400
+Forwarded: no
+Author: Thorsten Gunkel
+Last-Update: 2009-11-26
+Index: munin-1.4.0/plugins/node.d/hddtemp_smartctl.in
+===================================================================
+--- munin-1.4.0.orig/plugins/node.d/hddtemp_smartctl.in 2009-08-31 23:04:36.000000000 +0200
++++ munin-1.4.0/plugins/node.d/hddtemp_smartctl.in 2009-08-31 23:08:02.000000000 +0200
+@@ -92,14 +92,25 @@
+
+ # Try to get a default set of drives
+ if ($^O eq 'linux') {
+- # On Linux, we know how to enumerate ide drives. SCSI is not as easy
++ # On Linux, we know how to enumerate ide drives.
++ my @drivesIDE;
+ if (-d '/proc/ide') {
+ opendir(IDE, '/proc/ide');
+- @drives = grep /hd[a-z]/, readdir IDE;
++ @drivesIDE = grep /hd[a-z]/, readdir IDE;
+ closedir(IDE);
+ }
+- # "SCSI disks" could be both SCSI or SATA - we can't know which
+- # without probing them.
++
++ # Look for SCSI / SATA drives in /sys
++ my @drivesSCSI;
++ if (-d '/sys/block/') {
++ opendir(SCSI, '/sys/block/');
++ @drivesSCSI = grep /sd[a-z]/, readdir SCSI;
++ closedir(SCSI);
++ }
++
++ # Get list of all drives we found
++ @drives=(@drivesIDE,@drivesSCSI);
++
+ } elsif ($^O eq 'freebsd') {
+ opendir(DEV, '/dev');
+ @drives = grep /^ad[0-9]+$/, readdir DEV;
--- munin-2.0.2.orig/debian/patches/CVE-2012-3513.patch
+++ munin-2.0.2/debian/patches/CVE-2012-3513.patch
@@ -0,0 +1,40 @@
+Description: fix remote code exection via bad arguments
+Origin: upstream, http://anonscm.debian.org/gitweb/?p=collab-maint/munin.git;a=commit;h=db9ba4c44621bfed6e6c83e3f0a22cb18f0671a2
+Origin: upstream, http://anonscm.debian.org/gitweb/?p=collab-maint/munin.git;a=commit;h=980f5c5f8da8036fb71f44caf99bd3be909e9796
+Bug: http://www.munin-monitoring.org/ticket/1238
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684076
+
+Index: munin-2.0.2/master/_bin/munin-cgi-graph.in
+===================================================================
+--- munin-2.0.2.orig/master/_bin/munin-cgi-graph.in 2012-10-12 08:45:09.573868613 -0400
++++ munin-2.0.2/master/_bin/munin-cgi-graph.in 2012-10-12 08:52:59.849880660 -0400
+@@ -53,8 +53,10 @@
+ my $logfile;
+ my $scale = "day";
+
+-my @params = @ARGV;
++my @params ;
+
++push @params, "--config", $ENV{'MUNIN_CONFIG'}
++ if (defined $ENV{'MUNIN_CONFIG'});
+ push @params, "--no-fork"; # FastCgi forks for us
+ push @params, "--skip-locking", "--skip-stats", "--nolazy";
+ push @params, "--log-file", $logfile;
+Index: munin-2.0.2/master/_bin/munin-cgi-html.in
+===================================================================
+--- munin-2.0.2.orig/master/_bin/munin-cgi-html.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/master/_bin/munin-cgi-html.in 2012-10-12 08:52:59.849880660 -0400
+@@ -45,8 +45,12 @@
+ my $lastchanged = 0;
+ my $datafile = "$Munin::Common::Defaults::MUNIN_DBDIR/datafile.storable";
+
++my @params;
++push @params, "--config", $ENV{'MUNIN_CONFIG'}
++ if (defined $ENV{'MUNIN_CONFIG'});
++
+ # grab config
+-html_startup([]);
++html_startup(\@params);
+ while(new CGI::Fast){
+ print header("text/html");
+ my $change = (stat($datafile))[9];
--- munin-2.0.2.orig/debian/patches/series
+++ munin-2.0.2/debian/patches/series
@@ -0,0 +1,6 @@
+100-DejaVu-Fonts-Path.patch
+237-hddtemp_smartctl-sata-detect.patch
+fix_ran_out_of_children.patch
+CVE-2012-3512.patch
+CVE-2012-3513.patch
+CVE-2012-3512-regression.patch
--- munin-2.0.2.orig/debian/patches/fix_ran_out_of_children.patch
+++ munin-2.0.2/debian/patches/fix_ran_out_of_children.patch
@@ -0,0 +1,22 @@
+diff -urN a/master/lib/Munin/Master/GraphOld.pm b/master/lib/Munin/Master/GraphOld.pm
+--- a/master/lib/Munin/Master/GraphOld.pm 2012-09-26 09:34:05.837131699 +0300
++++ b/master/lib/Munin/Master/GraphOld.pm 2012-09-26 09:36:52.781138620 +0300
+@@ -618,6 +618,7 @@
+
+ # This block does the real work. Since we're forking exit
+ # afterwards.
++ $running = 0;
+
+ &$work;
+
+diff -urN a/master/lib/Munin/Master/HTMLOld.pm b/master/lib/Munin/Master/HTMLOld.pm
+--- a/master/lib/Munin/Master/HTMLOld.pm 2012-09-26 09:34:05.837131699 +0300
++++ b/master/lib/Munin/Master/HTMLOld.pm 2012-09-26 09:37:18.973139706 +0300
+@@ -853,6 +853,7 @@
+
+ # This block does the real work. Since we're forking exit
+ # afterwards.
++ $running = 0;
+
+ &$work;
+
--- munin-2.0.2.orig/debian/patches/CVE-2012-3512-regression.patch
+++ munin-2.0.2/debian/patches/CVE-2012-3512-regression.patch
@@ -0,0 +1,41 @@
+Description: Don't rely on MUNIN_PLUGSTATE being in the environment as
+ these scripts also get run by a cron job
+Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687495
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687495
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687912
+
+Index: munin-1.4.6/plugins/node.d.linux/apt_all.in
+===================================================================
+--- munin-1.4.6.orig/plugins/node.d.linux/apt_all.in 2012-10-15 13:28:16.872940387 -0400
++++ munin-1.4.6/plugins/node.d.linux/apt_all.in 2012-10-15 13:49:00.796972237 -0400
+@@ -48,11 +48,12 @@
+ # Now for the real work...
+
+ use strict;
++use Munin::Common::Defaults;
+
+ $ENV{'LANG'}="C";
+ $ENV{'LC_ALL'}="C";
+
+-my $statefile = "$ENV{MUNIN_PLUGSTATE}/plugin-apt.state";
++my $statefile = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/plugin-apt.state";
+ my @releases = ("stable", "testing","unstable");
+
+
+Index: munin-1.4.6/plugins/node.d.linux/apt.in
+===================================================================
+--- munin-1.4.6.orig/plugins/node.d.linux/apt.in 2012-10-15 13:28:16.872940387 -0400
++++ munin-1.4.6/plugins/node.d.linux/apt.in 2012-10-15 13:49:05.192972350 -0400
+@@ -72,10 +72,11 @@
+ # Now for the real work...
+
+ use strict;
++use Munin::Common::Defaults;
+
+ $ENV{'LANG'}="C";
+ $ENV{'LC_ALL'}="C";
+-my $statefile = "$ENV{MUNIN_PLUGSTATE}/plugin-apt.state";
++my $statefile = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/plugin-apt.state";
+
+ sub update_state() {
+ if(-l $statefile) {
--- munin-2.0.2.orig/debian/patches/100-DejaVu-Fonts-Path.patch
+++ munin-2.0.2/debian/patches/100-DejaVu-Fonts-Path.patch
@@ -0,0 +1,31 @@
+Description: Debian specific patch, to explicitly configure
+ rrd 1.2 to use the debian provided DejaVuSans*.ttf fonts, as
+ we removed the ones provided by munin in order to avoid
+ duplication.
+
+ This is a rewrite of a similar patch, which was removed at
+ http://munin-monitoring.org/changeset/3215 &
+ http://munin-monitoring.org/changeset/3238.
+
+Origin: other
+Bug-Debian: http://bugs.debian.org/578782
+Forwarded: no
+Author: Tom Feiner
+Last-Update: 2011-12-04
+Index: munin-1.999.4495/master/lib/Munin/Master/GraphOld.pm
+===================================================================
+--- munin-1.999.4495.orig/master/lib/Munin/Master/GraphOld.pm 2011-10-20 16:17:06.000000000 +0000
++++ munin-1.999.4495/master/lib/Munin/Master/GraphOld.pm 2011-12-04 16:07:00.000000000 +0000
+@@ -1634,9 +1634,9 @@
+ # The RRD 1.2 documentation says you can identify font family
+ # names but I never got that to work, but full font path worked
+ @options = (
+- '--font', "LEGEND:7:$libdir/DejaVuSansMono.ttf",
+- '--font', "UNIT:7:$libdir/DejaVuSans.ttf",
+- '--font', "AXIS:7:$libdir/DejaVuSans.ttf",
++ '--font', "LEGEND:7:/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf",
++ '--font', "UNIT:7:/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf",
++ '--font', "AXIS:7:/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf",
+ );
+ } else {
+ # At least 1.3
--- munin-2.0.2.orig/debian/patches/CVE-2012-3512.patch
+++ munin-2.0.2/debian/patches/CVE-2012-3512.patch
@@ -0,0 +1,423 @@
+Description: fix privilege escalation via root running plugins
+Origin: upstream, http://anonscm.debian.org/gitweb/?p=collab-maint/munin.git;a=commit;h=780634c4a48fc57b6631d644fca3649f1417d211
+Origin: upstream, http://anonscm.debian.org/gitweb/?p=collab-maint/munin.git;a=commit;h=9f2643c4cb13a34deadfea8fb7e8a29fa54fdc8e
+Origin: upstream, http://anonscm.debian.org/gitweb/?p=collab-maint/munin.git;a=commit;h=6183662a2b96c2c3b1b4cfc4b80ce28063d025c2
+Origin: upstream, http://anonscm.debian.org/gitweb/?p=collab-maint/munin.git;a=commit;h=2b8d82e0c52ccdd79ca480788f7ef4d3325b4cb0
+Bug: http://www.munin-monitoring.org/ticket/1234
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684075
+
+Index: munin-2.0.2/Makefile
+===================================================================
+--- munin-2.0.2.orig/Makefile 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/Makefile 2012-10-12 08:44:01.029866859 -0400
+@@ -138,9 +138,8 @@
+ mkdir -p $(LIBDIR)/plugins
+ mkdir -p $(PLUGSTATE)
+
+- $(CHOWN) $(PLUGINUSER):$(GROUP) $(PLUGSTATE)
+- # using g+rwxs, so plugins can create and modify their state file without help
+- $(CHMOD) 02775 $(PLUGSTATE)
++ $(CHOWN) root:root $(PLUGSTATE)
++ $(CHMOD) 0755 $(PLUGSTATE)
+ $(CHMOD) 0755 $(CONFDIR)/plugin-conf.d
+
+ for p in build/plugins/node.d/* build/plugins/node.d.$(OSTYPE)/* ; do \
+Index: munin-2.0.2/Makefile.config
+===================================================================
+--- munin-2.0.2.orig/Makefile.config 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/Makefile.config 2012-10-12 08:44:01.029866859 -0400
+@@ -41,16 +41,19 @@
+ HTMLDIR = $(PREFIX)/www/docs
+ CGIDIR = $(PREFIX)/www/cgi
+
+-# Where to put RRD files and other internal data, both master and node
++# Where to put internal data for master (RRD, internal files, ...)
+ DBDIR = $(DESTDIR)/var/opt/munin
+
++# Where to put internal data for node (plugin state, ...)
++DBDIRNODE = $(DESTDIR)/var/opt/munin-node
++
+ # Client only - Where the spool files are written. Must be writable by
+ # group "munin", and should be preserved between reboots
+ SPOOLDIR = $(DBDIR)/spool
+
+ # Client only - Where plugins should put their states. Must be writable by
+ # group "munin", and should be preserved between reboots
+-PLUGSTATE = $(DBDIR)/plugin-state
++PLUGSTATE = $(DBDIRNODE)/plugin-state
+
+ # Where Munin should place its logs.
+ LOGDIR = $(PREFIX)/log/munin
+Index: munin-2.0.2/node/lib/Munin/Node/OS.pm
+===================================================================
+--- munin-2.0.2.orig/node/lib/Munin/Node/OS.pm 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/node/lib/Munin/Node/OS.pm 2012-10-12 08:44:09.585867077 -0400
+@@ -13,6 +13,7 @@
+
+ use POSIX ();
+ use Sys::Hostname;
++use File::Path qw(make_path);
+
+ sub get_uid {
+ my ($class, $user) = @_;
+@@ -249,6 +250,16 @@
+
+ sub set_umask { umask(0002) or croak "Unable to set umask: $!\n"; }
+
++sub mkdir_subdir {
++ my ($class, $path, $uid) = @_;
++
++ my $user = getpwuid($uid);
++
++ unless (-d "$path/$user") {
++ mkdir("$path/$user");
++ chown($uid, 0, "$path/$user");
++ }
++}
+
+
+ 1;
+Index: munin-2.0.2/node/lib/Munin/Node/Service.pm
+===================================================================
+--- munin-2.0.2.orig/node/lib/Munin/Node/Service.pm 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/node/lib/Munin/Node/Service.pm 2012-10-12 08:44:09.585867077 -0400
+@@ -119,8 +119,13 @@
+ my ($self, $service) = @_;
+ print STDERR "# Setting up environment\n" if $config->{DEBUG};
+
++ # We append the USER to the MUNIN_PLUGSTATE, to avoid CVE-2012-3512
++ my $uid = $self->_resolve_uid($service);
++ my $user = getpwuid($uid);
++ $ENV{MUNIN_PLUGSTATE} = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/$user";
++
+ # Provide a consistent default state-file.
+- $ENV{MUNIN_STATEFILE} = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/$service-$ENV{MUNIN_MASTER_IP}";
++ $ENV{MUNIN_STATEFILE} = "$ENV{MUNIN_PLUGSTATE}/$service-$ENV{MUNIN_MASTER_IP}";
+
+ my $env = $config->{sconf}{$service}{env} or return;
+
+@@ -236,6 +241,10 @@
+ {
+ my ($self, $service, $arg) = @_;
+
++ # XXX - Create the statedir for the user
++ my $uid = $self->_resolve_uid($service);
++ Munin::Node::OS->mkdir_subdir("$Munin::Common::Defaults::MUNIN_PLUGSTATE", $uid);
++
+ $self->change_real_and_effective_user_and_group($service);
+
+ unless (Munin::Node::OS->check_perms_if_paranoid("$self->{servicedir}/$service")) {
+Index: munin-2.0.2/plugins/lib/Munin/Plugin.pm
+===================================================================
+--- munin-2.0.2.orig/plugins/lib/Munin/Plugin.pm 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/lib/Munin/Plugin.pm 2012-10-12 08:44:04.169866943 -0400
+@@ -42,7 +42,7 @@
+ (introduced in 1.3.3) you can put this in your plugin configuration:
+
+ [*]
+- env.MUNIN_PLUGSTATE /lib/munin/plugin-state
++ env.MUNIN_PLUGSTATE /var/lib/munin-node/plugin-state
+ env.MUNIN_LIBDIR /usr/share/munin
+
+ IF, indeed that is the munin plugin state directory. The default
+@@ -88,7 +88,8 @@
+ =head3 $Munin::Plugin::pluginstatedir
+
+ Identical to the environment variable MUNIN_PLUGSTATE (available since
+-Munin 1.3.3) or the install time @Z<>@PLUGSTATE@Z<>@ 'constant'.
++Munin 1.3.3)
++
+ You can use this if you need to save several different state files.
+ But there is also a function to change the state file name so the
+ state file support functions can be used for several state files.
+@@ -602,7 +603,7 @@
+ There is some test stuff in this module.
+
+ Test like this:
+- MUNIN_PLUGSTATE=/var/lib/munin/plugin-state -e 'require "Plugin.pm.in"; Munin::Plugin::_test;' -- or something.
++ MUNIN_PLUGSTATE=/var/lib/munin-node/plugin-state -e 'require "Plugin.pm.in"; Munin::Plugin::_test;' -- or something.
+
+ sub _test () {
+ my $pos;
+Index: munin-2.0.2/plugins/node.d/bind9.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/bind9.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/bind9.in 2012-10-12 08:44:04.173866941 -0400
+@@ -51,10 +51,9 @@
+ =cut
+
+ use strict;
+-use Munin::Common::Defaults;
+
+ my $QUERYLOG = $ENV{logfile} || '/var/log/bind9/query.log';
+-my $STATEFILE= $Munin::Common::Defaults::MUNIN_PLUGSTATE.'/bind9.state';
++my $STATEFILE= "$ENV{MUNIN_PLUGSTATE}/bind9.state";
+
+ my $OTHER=0;
+ my %IN;
+Index: munin-2.0.2/plugins/node.d/courier_.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/courier_.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/courier_.in 2012-10-12 08:44:04.173866941 -0400
+@@ -54,7 +54,7 @@
+ # Set the location of the courier logs
+ COURIER_LOG=${logfile:-/var/log/mail.log}
+ SERVICE=${service:-`basename $0 | sed 's/^courier_//g'`}
+-OFFSET_FILE=@@PLUGSTATE@@/courier_${SERVICE}.offset
++OFFSET_FILE=${MUNIN_PLUGSTATE}/courier_${SERVICE}.offset
+ LOGTAIL=${logtail:-/usr/sbin/logtail}
+
+ mktempfile () {
+Index: munin-2.0.2/plugins/node.d/courier_mta_mailstats.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/courier_mta_mailstats.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/courier_mta_mailstats.in 2012-10-12 08:44:04.173866941 -0400
+@@ -29,7 +29,7 @@
+
+ =cut
+
+-my $statefile = "@@PLUGSTATE@@/munin-plugin-courier_mta_mailstats.state";
++my $statefile = "$ENV{MUNIN_PLUGSTATE}/munin-plugin-courier_mta_mailstats.state";
+ my $pos = undef;
+ my $delivered = 0;
+ my $rejects = {};
+Index: munin-2.0.2/plugins/node.d/courier_mta_mailvolume.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/courier_mta_mailvolume.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/courier_mta_mailvolume.in 2012-10-12 08:44:04.173866941 -0400
+@@ -28,7 +28,7 @@
+
+ =cut
+
+-my $statefile = "@@PLUGSTATE@@/munin-plugin-courier_mta_mailvolume.state";
++my $statefile = "$ENV{MUNIN_PLUGSTATE}/munin-plugin-courier_mta_mailvolume.state";
+ my $pos = undef;
+ my $volume = 0;
+ my $LOGDIR = $ENV{'logdir'} || '/var/log';
+Index: munin-2.0.2/plugins/node.d/cupsys_pages.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/cupsys_pages.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/cupsys_pages.in 2012-10-12 08:44:04.173866941 -0400
+@@ -32,7 +32,7 @@
+ use strict;
+ use Munin::Plugin;
+
+-my $statefile = "@@PLUGSTATE@@/munin-cupsys-pages.state";
++my $statefile = "$ENV{MUNIN_PLUGSTATE}/munin-cupsys-pages.state";
+ my $pos = undef;
+ my %printers = ();
+
+Index: munin-2.0.2/plugins/node.d/ipmi_sensor_.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/ipmi_sensor_.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/ipmi_sensor_.in 2012-10-12 08:44:04.173866941 -0400
+@@ -70,7 +70,7 @@
+ import sys
+ import re
+
+-CACHEDIR = "@@PLUGSTATE@@"
++CACHEDIR = os.environ['MUNIN_PLUGSTATE']
+ CACHEFILE = "plugin-ipmi_sensor.cache"
+ CACHEAGE = 120
+ CONFIG = '@@CONFDIR@@/ipmi'
+Index: munin-2.0.2/plugins/node.d.linux/apt_all.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d.linux/apt_all.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d.linux/apt_all.in 2012-10-12 08:44:04.169866943 -0400
+@@ -52,7 +52,7 @@
+ $ENV{'LANG'}="C";
+ $ENV{'LC_ALL'}="C";
+
+-my $statefile = "@@PLUGSTATE@@/plugin-apt.state";
++my $statefile = "$ENV{MUNIN_PLUGSTATE}/plugin-apt.state";
+ my @releases = ("stable", "testing","unstable");
+
+
+Index: munin-2.0.2/plugins/node.d.linux/apt.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d.linux/apt.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d.linux/apt.in 2012-10-12 08:44:04.169866943 -0400
+@@ -75,7 +75,7 @@
+
+ $ENV{'LANG'}="C";
+ $ENV{'LC_ALL'}="C";
+-my $statefile = "@@PLUGSTATE@@/plugin-apt.state";
++my $statefile = "$ENV{MUNIN_PLUGSTATE}/plugin-apt.state";
+
+ sub update_state() {
+ if(-l $statefile) {
+Index: munin-2.0.2/plugins/node.d.linux/iostat_ios.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d.linux/iostat_ios.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d.linux/iostat_ios.in 2012-10-12 08:44:04.169866943 -0400
+@@ -62,7 +62,7 @@
+ use Storable qw(store retrieve);
+ use Munin::Plugin;
+
+-use constant STATEFILE => '@@PLUGSTATE@@/iostat-ios.state';
++use constant STATEFILE => "$ENV{MUNIN_PLUGSTATE}/iostat-ios.state";
+
+
+ if (defined($ARGV[0]) and $ARGV[0] eq 'autoconf') {
+Index: munin-2.0.2/plugins/node.d.linux/port_.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d.linux/port_.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d.linux/port_.in 2012-10-12 08:44:04.169866943 -0400
+@@ -49,7 +49,7 @@
+ {
+ my ($fd, $file) = @_;
+
+- my $cache_dir = "@@PLUGSTATE@@";
++ my $cache_dir = "$ENV{MUNIN_PLUGSTATE}";
+ my $cache = $file;
+ $cache =~ s:/:_:g;
+ $cache = "$cache_dir/$cache";
+Index: munin-2.0.2/plugins/node.d.linux/yum.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d.linux/yum.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d.linux/yum.in 2012-10-12 08:44:04.169866943 -0400
+@@ -27,9 +27,8 @@
+ =cut
+
+ use strict;
+-use Munin::Common::Defaults;
+
+-my $statefile = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/yum.state";
++my $statefile = "$ENV{MUNIN_PLUGSTATE}/yum.state";
+
+ sub update {
+ if (-l $statefile) {
+Index: munin-2.0.2/plugins/node.d/loggrep.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/loggrep.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/loggrep.in 2012-10-12 08:44:04.173866941 -0400
+@@ -79,7 +79,7 @@
+
+ die("No regexes specified") unless keys %regex;
+
+-my $statefile = "@@PLUGSTATE@@/$name.state";
++my $statefile = "$ENV{MUNIN_PLUGSTATE}/$name.state";
+
+ if ($ARGV[0] and $ARGV[0] eq 'config') {
+ my $title = $ENV{title} || "Entries in $logfile";
+Index: munin-2.0.2/plugins/node.d/mailman.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/mailman.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/mailman.in 2012-10-12 08:44:04.173866941 -0400
+@@ -24,9 +24,7 @@
+
+ =cut
+
+-use Munin::Common::Defaults;
+-
+-$statefile = "$Munin::Common::Defaults::MUNIN_PLUGSTATE/munin-mailman-log.state";
++$statefile = "$ENV{MUNIN_PLUGSTATE}/munin-mailman-log.state";
+ $pos = undef;
+ $posts = 0;
+ $members = 0;
+Index: munin-2.0.2/plugins/node.d/mailscanner.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/mailscanner.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/mailscanner.in 2012-10-12 08:44:04.173866941 -0400
+@@ -43,7 +43,7 @@
+
+ my $logfile = '/var/log/mail.log';
+ my $logtail = '/usr/sbin/logtail';
+-my $offsetfile = "@@PLUGSTATE@@/munin-mailscanner.offset";
++my $offsetfile = "$ENV{MUNIN_PLUGSTATE}/munin-mailscanner.offset";
+ my ($clean, $viruses, $spams, $others, $total) = (0, 0, 0, 0, 0);
+ my $cmd = (defined($ARGV[0])) ? $ARGV[0] : '';
+
+Index: munin-2.0.2/plugins/node.d/mhttping.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/mhttping.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/mhttping.in 2012-10-12 08:44:04.173866941 -0400
+@@ -36,7 +36,7 @@
+
+ ############################## STUFF YOU MIGHT NEED TO CHANGE
+
+-my $datafile = "@@PLUGSTATE@@/mhttping.data" ;
++my $datafile = "$ENV{MUNIN_PLUGSTATE}/mhttping.data" ;
+ my $resultsdir = "/home/gconnor/mhttping/results/" ;
+ my $httping = "/usr/local/bin/httping" ;
+ my $timeout = 30 ;
+Index: munin-2.0.2/plugins/node.d/mysql_isam_space_.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/mysql_isam_space_.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/mysql_isam_space_.in 2012-10-12 08:44:04.173866941 -0400
+@@ -21,7 +21,7 @@
+
+ [mysql_isam_space_*]
+ env.mysqlopts
+- env.statefile @@PLUGSTATE@@/plugin-mysql_isam_space.state
++ env.statefile $ENV{MUNIN_PLUGSTATE}/plugin-mysql_isam_space.state
+ env.ignore
+ env.absolute 0
+
+@@ -50,7 +50,7 @@
+
+ my $DB = `basename $0 | sed 's/^mysql_isam_space_//g' | tr '_' '-'` ;
+ chomp $DB;
+-my $STATEFILE = $ENV{'statefile'} || "@@PLUGSTATE@@/plugin-mysql_isam_space.state";
++my $STATEFILE = $ENV{'statefile'} || "$ENV{MUNIN_PLUGSTATE}/plugin-mysql_isam_space.state";
+ my $MYSQLSHOW = $ENV{'mysqlshow'} || `which mysqlshow`;
+ my $ABSOLUTE = $ENV{'absolute'} || 0;
+ my @mysql_opts = ();
+Index: munin-2.0.2/plugins/node.d/perdition.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/perdition.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/perdition.in 2012-10-12 08:44:04.173866941 -0400
+@@ -55,7 +55,7 @@
+
+ # Set the location of the perdition logs
+ PERDITION_LOG=${logfile:-/var/log/perdition.log}
+-OFFSET_FILE=@@PLUGSTATE@@/perdition.offset
++OFFSET_FILE=${MUNIN_PLUGSTATE}/perdition.offset
+ LOGTAIL=${logtail:-/usr/sbin/logtail}
+
+ case $1 in
+Index: munin-2.0.2/plugins/node.d/pop_stats.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/pop_stats.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/pop_stats.in 2012-10-12 08:44:04.173866941 -0400
+@@ -4,7 +4,7 @@
+
+ #%# family=contrib
+
+-$pop{'statefile'} = "@@PLUGSTATE@@/munin-pop-log.state";
++$pop{'statefile'} = "$ENV{MUNIN_PLUGSTATE}/munin-pop-log.state";
+ $pos = undef;
+ $logons = 0;
+
+Index: munin-2.0.2/plugins/node.d/smart_.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/smart_.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/smart_.in 2012-10-12 08:44:04.177866941 -0400
+@@ -91,13 +91,12 @@
+ verbose=False
+ # Suppress SMART warnings (True/False)
+ report_warnings=True
+-# Modify to your needs:
+-statefiledir='@@PLUGSTATE@@'
+ # You may not modify anything below this line
+
+ import os, sys, string, pickle
+ from math import log
+ plugin_version="2.1"
++statefiledir=os.environ['MUNIN_PLUGSTATE']
+
+ def verboselog(s):
+ global plugin_name
+Index: munin-2.0.2/plugins/node.d/spamstats.in
+===================================================================
+--- munin-2.0.2.orig/plugins/node.d/spamstats.in 2012-06-29 16:50:19.000000000 -0400
++++ munin-2.0.2/plugins/node.d/spamstats.in 2012-10-12 08:44:04.177866941 -0400
+@@ -24,7 +24,7 @@
+ =cut
+
+
+-$statefile = $ENV{statefile} || "@@PLUGSTATE@@/munin-spamstats.state";
++$statefile = $ENV{statefile} || "$ENV{MUNIN_PLUGSTATE}/munin-spamstats.state";
+ $pos = undef;
+ $ham = 0;
+ $spam = 0;