The munin install procedure is not standard GNU nor is it standard Perl.
The GNU standard procedure is overkill compared to the simple needs of a scripted system. The standard Perl install procedure will probably be used in the future. For now it uses a simple "hand made" system that's also easy to hook packageing into.
The install procedure processes all *.in files in the distribution. In these files a number of substitutions are made:
| @@PREFIX@@ | Usually /usr or /opt/munin |
| @@CONFDIR@@ | $(CONFDIR) |
| @@BINDIR@@ | $PREFIX/bin - munin-cron is found here. |
| @@SBINDIR@@ | $PREFIX/sbin - munin-node* is found here |
| @@DOCDIR@@ | $PREFIX/share/doc/munin |
| @@LIBDIR@@ | $PREFIX/share/munin |
| @@MANDIR@@ | $PREFIX/man |
| @@LOGDIR@@ | $(LOGDIR) |
| @@HTMLDIR@@ | $(HTMLDIR) |
| @@DBDIR@@ | Where RRD files etc. goes. |
| @@STATEDIR@@ | $(STATEDIR) |
| @@PERL@@ | Path to the systems perl as found in the installers $PATH, often /usr/bin/perl |
| @@PERLLIB@@ | The perl configurations sitelib variable |
| @@PYTHON@@ | Path to the systems python as found in the installers $PATH |
| @@OSTYPE@@ | The output of the uname command in lowercase. On Linux it's "linux". |
| @@HOSTNAME@@ | The output of the hostname command |
| @@MKTEMP@@ | What procedure to call to safely make temporary files on this system |
| @@VERSION@@ | The version of Munin. Not always numerical, use pattern matching to test |
| @@PLUGSTATE@@ | The name of a directory owned and writable by "munin" that plugins can write state files to. BUG: Plugins that needs to be run by other users, what should they do? Set to $DBDIR/plugin-state |
| @@CGIDIR@@ | $HTMLDIR/cgi |
| @@USER@@ | Default user to run munin as. The default is "munin". |
| @@GROUP@@ | Default file group to run munin as. The default is "munin". |
| @@PLUGINUSER@@ | Default user to run munin plugins as. The default is "nobody". Note: munin-node runs as root ahd then changes identity to the correct user for each plugin it runs |
In the future these variables (or a subset) will probably be available in the plugins' environment as $MUNIN_${VARIABLE}.
