--- 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;