summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-analyzer/munin/Manifest1
-rw-r--r--net-analyzer/munin/files/logrotate.d-munin21
-rw-r--r--net-analyzer/munin/files/munin-1.4.7-munin-version-identifier.patch41
-rw-r--r--net-analyzer/munin/files/munin-2.0_rc-Makefile.patch79
-rw-r--r--net-analyzer/munin/files/munin-2.0_rc-crontab11
-rw-r--r--net-analyzer/munin/files/munin-2.0_rc-plugins.conf68
-rw-r--r--net-analyzer/munin/files/munin-node_conf.d_2.0_rc8
-rw-r--r--net-analyzer/munin/files/munin-node_init.d_2.0_rc41
-rw-r--r--net-analyzer/munin/munin-2.0_rc5.ebuild147
9 files changed, 417 insertions, 0 deletions
diff --git a/net-analyzer/munin/Manifest b/net-analyzer/munin/Manifest
new file mode 100644
index 0000000..6eb6d10
--- /dev/null
+++ b/net-analyzer/munin/Manifest
@@ -0,0 +1 @@
+DIST munin-2.0-rc5.tar.gz 1316401 RMD160 e591a38b8a999979646dc48e9c809fe042f4e71c SHA1 75e34e5540140759648d0e144dab6e240ea99914 SHA256 3bebd9586d1f9ca5de9e7c7905d53d92de161a950aaee7d9186553bb2b80723a
diff --git a/net-analyzer/munin/files/logrotate.d-munin b/net-analyzer/munin/files/logrotate.d-munin
new file mode 100644
index 0000000..c1a8816
--- /dev/null
+++ b/net-analyzer/munin/files/logrotate.d-munin
@@ -0,0 +1,21 @@
+/var/log/munin/munin-node.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ copytruncate
+ notifempty
+ create 640 root root
+ postrotate
+ /etc/init.d/munin-node restart 1>/dev/null || true
+ endscript
+}
+
+/var/log/munin/munin-update.log /var/log/munin/munin-graph.log /var/log/munin/munin-html.log /var/log/munin/munin-limits.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ notifempty
+ nocreate
+}
diff --git a/net-analyzer/munin/files/munin-1.4.7-munin-version-identifier.patch b/net-analyzer/munin/files/munin-1.4.7-munin-version-identifier.patch
new file mode 100644
index 0000000..22c4d73
--- /dev/null
+++ b/net-analyzer/munin/files/munin-1.4.7-munin-version-identifier.patch
@@ -0,0 +1,41 @@
+From 480f78e713b9e9a425ad425342afac70420a4043 Mon Sep 17 00:00:00 2001
+From: Jeremy Olexa <darkside@gentoo.org>
+Date: Wed, 18 Apr 2012 16:30:57 +0000
+Subject: [PATCH] Fix warnings from previous patch
+
+Use of uninitialized value $Munin::Common::Defaults::MUNIN_VERSION in
+sprintf at /etc/munin/plugins/nginx_status line 110.
+---
+ plugins/node.d/nginx_request.in | 2 ++
+ plugins/node.d/nginx_status.in | 2 ++
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/plugins/node.d/nginx_request.in b/plugins/node.d/nginx_request.in
+index 402ce54..d3933e1 100644
+--- a/plugins/node.d/nginx_request.in
++++ b/plugins/node.d/nginx_request.in
+@@ -55,6 +55,8 @@ license. Munin is GPLv2 licensed.
+
+ =cut
+
++use Munin::Plugin;
++
+ my $ret = undef;
+
+ if (! eval "require LWP::UserAgent;"){
+diff --git a/plugins/node.d/nginx_status.in b/plugins/node.d/nginx_status.in
+index 0d5d966..a427fc0 100644
+--- a/plugins/node.d/nginx_status.in
++++ b/plugins/node.d/nginx_status.in
+@@ -55,6 +55,8 @@ license. Munin is GPLv2 licensed.
+
+ =cut
+
++use Munin::Plugin;
++
+ my $ret = undef;
+
+ if (! eval "require LWP::UserAgent;"){
+--
+1.7.3.4
+
diff --git a/net-analyzer/munin/files/munin-2.0_rc-Makefile.patch b/net-analyzer/munin/files/munin-2.0_rc-Makefile.patch
new file mode 100644
index 0000000..ee10bff
--- /dev/null
+++ b/net-analyzer/munin/files/munin-2.0_rc-Makefile.patch
@@ -0,0 +1,79 @@
+From 30762ce57c3d8ad2701dc1466ab5cee66e0ffd52 Mon Sep 17 00:00:00 2001
+From: Jeremy Olexa <darkside@gentoo.org>
+Date: Thu, 19 Apr 2012 15:46:34 +0000
+Subject: [PATCH] Fix up Makefile.config for Gentoo Linux
+
+---
+ Makefile.config | 22 +++++++++++-----------
+ 1 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile.config b/Makefile.config
+index c35e228..e748d16 100644
+--- a/Makefile.config
++++ b/Makefile.config
+@@ -17,10 +17,10 @@
+ #
+ # the base of the Munin installation.
+ #
+-PREFIX = $(DESTDIR)/opt/munin
++PREFIX = $(DESTDIR)/usr
+
+ # Where Munin keeps its configurations (server.conf, client.conf, ++)
+-CONFDIR = $(DESTDIR)/etc/opt/munin
++CONFDIR = $(DESTDIR)/etc/munin
+
+ # Server only - where to put munin-cron
+ BINDIR = $(PREFIX)/bin
+@@ -29,20 +29,20 @@ BINDIR = $(PREFIX)/bin
+ SBINDIR = $(PREFIX)/sbin
+
+ # Where to put text and html documentation
+-DOCDIR = $(PREFIX)/doc
++DOCDIR = $(PREFIX)/share/doc/munin-$(VERSION)
+
+ # Where to put man pages
+-MANDIR = $(PREFIX)/man
++MANDIR = $(PREFIX)/share/man
+
+ # Where to put internal binaries and plugin repository
+-LIBDIR = $(PREFIX)/lib
++LIBDIR = $(PREFIX)/libexec/munin
+
+ # Server only - Output directory
+-HTMLDIR = $(PREFIX)/www/docs
+-CGIDIR = $(PREFIX)/www/cgi
++HTMLDIR = $(DESTDIR)/var/www/localhost/htdocs/munin
++CGIDIR = $(DESTDIR)/var/www/localhost/cgi-bin
+
+ # Where to put RRD files and other internal data, both master and node
+-DBDIR = $(DESTDIR)/var/opt/munin
++DBDIR = $(DESTDIR)/var/lib/munin
+
+ # Client only - Where the spool files are written. Must be writable by
+ # group "munin", and should be preserved between reboots
+@@ -53,7 +53,7 @@ SPOOLDIR = $(DBDIR)/spool
+ PLUGSTATE = $(DBDIR)/plugin-state
+
+ # Where Munin should place its logs.
+-LOGDIR = $(PREFIX)/log/munin
++LOGDIR = $(DESTDIR)/var/log/munin
+
+ # Location of PID files and other statefiles. On the server, must be
+ # writable by the user "munin".
+@@ -92,11 +92,11 @@ GOODSH := $(shell PATH=`getconf PATH 2>/dev/null || echo $(PATH)` sh -c 'typ
+ BASH := /bin/bash
+
+ # Server only - Where to install the perl libraries
+-PERLSITELIB := $(shell $(PERL) -V:sitelib | cut -d"'" -f2)
++PERLSITELIB := $(shell $(PERL) -V:vendorlib | cut -d"'" -f2)
+ PERLLIB = $(DESTDIR)$(PERLSITELIB)
+
+ # Client only - Install plugins for this architecture
+-OSTYPE := $(shell uname | tr '[A-Z]' '[a-z]' | cut -f 1 -d _)
++OSTYPE := $(shell uname | LANG=C tr '[A-Z]' '[a-z]' | cut -f 1 -d _)
+
+ # How to figure out the hostname. (Only used in default configuration
+ # files)
+--
+1.7.3.4
+
diff --git a/net-analyzer/munin/files/munin-2.0_rc-crontab b/net-analyzer/munin/files/munin-2.0_rc-crontab
new file mode 100644
index 0000000..1c156e7
--- /dev/null
+++ b/net-analyzer/munin/files/munin-2.0_rc-crontab
@@ -0,0 +1,11 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/munin/files/munin-1.3.3-crontab,v 1.1 2007/02/25 11:00:28 robbat2 Exp $
+
+# Force the shell to bash
+SHELL=/bin/bash
+# Mail reports to root@, not munin@
+MAILTO=root
+
+# This runs the munin task every 5 minutes.
+*/5 * * * * [ -x /usr/bin/munin-cron ] && /usr/bin/munin-cron
diff --git a/net-analyzer/munin/files/munin-2.0_rc-plugins.conf b/net-analyzer/munin/files/munin-2.0_rc-plugins.conf
new file mode 100644
index 0000000..b0bcaed
--- /dev/null
+++ b/net-analyzer/munin/files/munin-2.0_rc-plugins.conf
@@ -0,0 +1,68 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/munin/files/munin-1.3.2-plugins.conf,v 1.5 2010/10/18 03:22:28 darkside Exp $
+#
+# This file contains configuration options for the plugins. Three
+# options are understood by munin-node itself:
+#
+# user <user> # Set the user to run the plugin as
+# group <group> # Set the group to run the plugin as
+# command <command> # Run <command> instead of the plugin. %c
+# expands to what would normally be run.
+# env.<variable> # Sets <variable> in the plugin's environment, see the
+# individual plugins to find out which variables they
+# care about.
+#
+#
+
+[smart_*]
+user root
+group disk
+
+# Example for a 3ware 8000-series card, with 2 disks
+# use /dev/twe0 as the actual device
+# and replicate this entry for each drive, increasing the number in -d
+#[smart_3ware-0_twe0]
+#user root
+#group root
+#env.smartargs -H -i -c -l error -l selftest -l selective -a -d 3ware,0
+#[smart_3ware-1_twe0]
+#user root
+#group root
+#env.smartargs -H -i -c -l error -l selftest -l selective -a -d 3ware,1
+
+[bind9*]
+user root
+
+[iostat*]
+user munin
+group munin
+
+[iostat_ios]
+user root
+group disk
+
+[vlan*]
+user root
+
+[postfix*]
+user root
+env.logfile maillog
+
+[sendmail*]
+env.mspqueue /var/spool/clientmqueue
+
+[mysql*]
+#env.mysqlopts -u someuser
+
+[exim*]
+group mail
+
+[cps*]
+user root
+
+# More 3ware examples
+#[hddtemp_smartctl]
+#env.drives twe0_0 twe0_1 hda
+#env.type_twe0_0 3ware,0
+#env.type_twe0_1 3ware,1
diff --git a/net-analyzer/munin/files/munin-node_conf.d_2.0_rc b/net-analyzer/munin/files/munin-node_conf.d_2.0_rc
new file mode 100644
index 0000000..a984bdb
--- /dev/null
+++ b/net-analyzer/munin/files/munin-node_conf.d_2.0_rc
@@ -0,0 +1,8 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/munin/files/munin-node_conf.d_1.4.6-r2,v 1.1 2011/08/17 15:45:54 darkside Exp $
+
+# Set to the nice level for daemon
+NICE_LEVEL=1
+
+# vim: filetype=gentoo-conf-d:
diff --git a/net-analyzer/munin/files/munin-node_init.d_2.0_rc b/net-analyzer/munin/files/munin-node_init.d_2.0_rc
new file mode 100644
index 0000000..409570d
--- /dev/null
+++ b/net-analyzer/munin/files/munin-node_init.d_2.0_rc
@@ -0,0 +1,41 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/munin/files/munin-node_init.d_1.4.6-r2,v 1.1 2011/08/17 15:45:54 darkside Exp $
+
+get_munin_config() {
+ awk '$1 == "'$1'" { s=$2 } END { print s }' "$CFGFILE"
+}
+
+: ${NAME:="munin-node"}
+: ${CFGFILE:=/etc/munin/munin-node.conf}
+: ${PIDFILE:=$(get_munin_config pid_file)}
+: ${NICE_LEVEL:=0}
+
+depend() {
+ config "$CFGFILE"
+
+ need net
+ before cron
+
+ [ "$(get_munin_config log_file)" == "Sys::Syslog" ] && \
+ use logger
+}
+
+start() {
+ local piddir=$(dirname ${PIDFILE})
+ [ -d ${piddir} ] || mkdir -p ${piddir}
+
+ ebegin "Starting $NAME"
+ start-stop-daemon --nicelevel $NICE_LEVEL --start --pidfile $PIDFILE --exec /usr/sbin/$NAME -- \
+ --config "$CFGFILE"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping $NAME"
+ start-stop-daemon --stop --pidfile $PIDFILE
+ eend $?
+}
+
+# vim: filetype=gentoo-init-d:
diff --git a/net-analyzer/munin/munin-2.0_rc5.ebuild b/net-analyzer/munin/munin-2.0_rc5.ebuild
new file mode 100644
index 0000000..5efbe57
--- /dev/null
+++ b/net-analyzer/munin/munin-2.0_rc5.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/munin/munin-1.4.6-r5.ebuild,v 1.1 2012/04/09 23:15:27 flameeyes Exp $
+
+EAPI=4
+
+inherit eutils
+
+MY_P=${P/_/-}
+
+DESCRIPTION="Munin Server Monitoring Tool"
+HOMEPAGE="http://munin-monitoring.org/"
+SRC_URI="mirror://sourceforge/munin/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~ppc ~x86"
+IUSE="asterisk doc irc java memcached minimal mysql postgres ssl"
+
+# Upstream's listing of required modules is NOT correct!
+# Some of the postgres plugins use DBD::Pg, while others call psql directly.
+# Some of the mysql plugins use DBD::mysql, while others call mysqladmin directly.
+DEPEND_COM="dev-lang/perl
+ sys-process/procps
+ asterisk? ( dev-perl/Net-Telnet )
+ irc? ( dev-perl/Net-IRC )
+ java? ( >=virtual/jdk-1.5 )
+ mysql? ( virtual/mysql
+ dev-perl/Cache-Cache
+ dev-perl/DBD-mysql )
+ ssl? ( dev-perl/Net-SSLeay )
+ postgres? ( dev-perl/DBD-Pg dev-db/postgresql-base )
+ memcached? ( dev-perl/Cache-Memcached )
+ dev-perl/DateManip
+ dev-perl/File-Copy-Recursive
+ dev-perl/Net-CIDR
+ dev-perl/Net-Netmask
+ dev-perl/Net-SNMP
+ dev-perl/libwww-perl
+ dev-perl/net-server
+ dev-perl/DBI
+ virtual/perl-Digest-MD5
+ virtual/perl-Getopt-Long
+ virtual/perl-MIME-Base64
+ virtual/perl-Storable
+ virtual/perl-Text-Balanced
+ virtual/perl-Time-HiRes
+ !minimal? ( dev-perl/HTML-Template
+ net-analyzer/rrdtool[perl]
+ dev-perl/Log-Log4perl )"
+
+# Keep this seperate, as previous versions have had other deps here
+DEPEND="${DEPEND_COM}
+ virtual/perl-Module-Build"
+RDEPEND="${DEPEND_COM}
+ !minimal? ( virtual/cron )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewgroup munin
+ enewuser munin 177 -1 /var/lib/munin munin
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.0_rc-Makefile.patch
+
+ epatch "${FILESDIR}"/${PN}-1.4.7-munin-version-identifier.patch
+
+ # Don't build java plugins if not requested via USE.
+ if ! use java; then
+ sed -i -e 's: build-plugins-java : :' \
+ -e 's: install-plugins-java : :' Makefile || die
+ fi
+
+ # Bug 304447, fix for gentoo PS location
+ sed -i -e 's,/usr/bin/ps,/bin/ps,g' \
+ "${S}"/plugins/node.d/ifx_concurrent_sessions_.in || die
+
+ # bug 367785, cleanup make output by disabling HP-UX cruft
+ sed -i "/plugins\/\*\.adv/d" Makefile || die
+}
+
+src_compile() {
+ emake -j1
+ if use doc; then
+ emake build-doc
+ fi
+
+}
+
+src_install() {
+ local dirs
+ dirs="/var/log/munin/ /var/lib/munin/"
+ dirs="${dirs} /var/lib/munin/plugin-state/"
+ dirs="${dirs} /var/run/munin/plugin-state/"
+ dirs="${dirs} /var/run/munin/spool/"
+ dirs="${dirs} /etc/munin/plugin-conf.d/"
+ dirs="${dirs} /etc/munin/munin-conf.d/"
+ dirs="${dirs} /etc/munin/plugins/"
+ keepdir ${dirs}
+
+ if use minimal; then
+ emake DESTDIR="${D}" install-common-prime install-node-prime \
+ install-plugins-prime
+ else
+ emake DESTDIR="${D}" install
+ fi
+ fowners munin:munin ${dirs}
+
+ insinto /etc/munin/plugin-conf.d/
+ newins "${FILESDIR}"/${PN}-2.0_rc-plugins.conf munin-node
+
+ # make sure we've got everything in the correct directory
+ insinto /var/lib/munin
+ newins "${FILESDIR}"/${PN}-2.0_rc-crontab crontab
+ newinitd "${FILESDIR}"/munin-node_init.d_2.0_rc munin-node
+ newconfd "${FILESDIR}"/munin-node_conf.d_2.0_rc munin-node
+ dodoc README ChangeLog INSTALL logo.eps logo.svg build/resources/apache*
+
+ # bug 254968
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/logrotate.d-munin munin || die
+}
+
+pkg_config() {
+ einfo "Press enter to install the default crontab for the munin master"
+ einfo "installation from /var/lib/munin/crontab"
+ einfo "If you have a large site, you may wish to customize it."
+ read
+ # dcron is very fussy about syntax
+ # the following is the only form that works in BOTH dcron and vixie-cron
+ crontab - -u munin </var/lib/munin/crontab
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} < 2 ]]; then
+ elog "Be aware that as of munin-2.0_rc4 you must use CGI, please read"
+ elog "the documentation at http://munin-monitoring.org/wiki/CgiHowto2"
+ fi
+ echo
+ if ! use minimal; then
+ elog "To have munin's cronjob automatically configured for you if this is"
+ elog "your munin master installation, please:"
+ elog "emerge --config net-analyzer/munin"
+ fi
+}