summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormat <mat@FreeBSD.org>2014-10-27 14:43:47 +0000
committermat <mat@FreeBSD.org>2014-10-27 14:43:47 +0000
commitd3b7c3dcda20a76be9eb8d71fdb7070e29407f90 (patch)
treee4571394931f93e844286ccabf8e60caa4e46838
parent0801240b38c929cec2db1a22498ca313d56399f7 (diff)
downloadFreeBSD-ports-d3b7c3dcda20a76be9eb8d71fdb7070e29407f90.zip
FreeBSD-ports-d3b7c3dcda20a76be9eb8d71fdb7070e29407f90.tar.gz
Update to 2.0.24.
Fixup the if_ and if_errcoll_ plugins, interface names can be longer than 5 chars. Add an if_packets_ plugin. Allow people to have a custom crontab that won't be touched when installing/deinstalling. Sponsored by: Absolight
-rw-r--r--sysutils/munin-common/distinfo4
-rw-r--r--sysutils/munin-common/munin.mk9
-rw-r--r--sysutils/munin-master/Makefile2
-rw-r--r--sysutils/munin-master/files/pkg-message.in4
-rw-r--r--sysutils/munin-master/pkg-deinstall38
-rw-r--r--sysutils/munin-master/pkg-install47
-rw-r--r--sysutils/munin-node/Makefile3
-rw-r--r--sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_.in43
-rw-r--r--sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_errcoll_.in30
-rw-r--r--sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_packets_.in104
-rw-r--r--sysutils/munin-node/pkg-plist1
11 files changed, 233 insertions, 52 deletions
diff --git a/sysutils/munin-common/distinfo b/sysutils/munin-common/distinfo
index 5ec6466..8f2255a 100644
--- a/sysutils/munin-common/distinfo
+++ b/sysutils/munin-common/distinfo
@@ -1,2 +1,2 @@
-SHA256 (munin-2.0.23.tar.gz) = efc23be5a2fd31eacbd6a55eb3526858c4618baff01c16cbe64918a5cfa5df5a
-SIZE (munin-2.0.23.tar.gz) = 1337241
+SHA256 (munin-2.0.24.tar.gz) = 74940896326bbb33d5607c39d1f972f69c5fc4278c93ae185338113a62a6a4e6
+SIZE (munin-2.0.24.tar.gz) = 1337330
diff --git a/sysutils/munin-common/munin.mk b/sysutils/munin-common/munin.mk
index aaa0c4b..d8e00a7 100644
--- a/sysutils/munin-common/munin.mk
+++ b/sysutils/munin-common/munin.mk
@@ -1,8 +1,11 @@
-MUNIN_VERSION= 2.0.23
+MUNIN_VERSION= 2.0.24
MUNIN_SITES= SF/${PORTNAME}/stable/${MUNIN_VERSION}
-MUNIN_DISTINFO= ${PORTSDIR}/sysutils/munin-common/distinfo
-MUNIN_PATCHES= ${PORTSDIR}/sysutils/munin-common/files/patch-Makefile \
+DISTINFO_FILE= ${PORTSDIR}/sysutils/munin-common/distinfo
+
+.if ${PKGNAMESUFFIX} != -common
+EXTRA_PATCHES+= ${PORTSDIR}/sysutils/munin-common/files/patch-Makefile \
${PORTSDIR}/sysutils/munin-common/files/patch-Makefile.config
+.endif
PORTSCOUT= limit:^2\.0\.
diff --git a/sysutils/munin-master/Makefile b/sysutils/munin-master/Makefile
index 057da73..6bacc07 100644
--- a/sysutils/munin-master/Makefile
+++ b/sysutils/munin-master/Makefile
@@ -47,8 +47,6 @@ PKGMESSAGE= ${WRKDIR}/pkg-message
.include "${.CURDIR}/../munin-common/munin.mk"
-EXTRA_PATCHES= ${MUNIN_PATCHES}
-DISTINFO_FILE= ${MUNIN_DISTINFO}
ALL_TARGET= infiles build-master build-man
INSTALL_TARGET= install-master-prime
NO_ARCH= yes
diff --git a/sysutils/munin-master/files/pkg-message.in b/sysutils/munin-master/files/pkg-message.in
index d32f17e..0706e6e 100644
--- a/sysutils/munin-master/files/pkg-message.in
+++ b/sysutils/munin-master/files/pkg-message.in
@@ -5,4 +5,8 @@ has been placed in %%ETCDIR%%/munin.conf.
Please edit it according to your needs.
The Munin server will be run from cron under the user 'munin'.
+
+If you need to customize the munin crontab, remove the lines
+containing #BEGIN_MUNIN_MAIN and #END_MUNIN_MAIN, and add a line
+with #MANUAL_MUNIN_CRONTAB.
********************************************************************
diff --git a/sysutils/munin-master/pkg-deinstall b/sysutils/munin-master/pkg-deinstall
index ae415c9..d0898da 100644
--- a/sysutils/munin-master/pkg-deinstall
+++ b/sysutils/munin-master/pkg-deinstall
@@ -1,14 +1,17 @@
#! /bin/sh
+# ex:sw=4 sts=4
ask() {
local question default answer
question=$1
default=$2
- if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
+ if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]
+ then
read -p "${question} [${default}]? " answer
fi
- if [ x${answer} = x ]; then
+ if [ x${answer} = x ]
+ then
answer=${default}
fi
echo ${answer}
@@ -36,7 +39,8 @@ delete_crontab_entries() {
TMPFILE=`mktemp -t munin` || exit 1
crontab -u munin -l | sed -e "/^$b\$/,/^$e\$/d" -e '/^[ ]*#/d' -e '/^$/d' > $TMPFILE
- if [ -s $TMPFILE ]; then
+ if [ -s $TMPFILE ]
+ then
crontab -u munin -l | sed -e "/^$b\$/,/^$e\$/d" | crontab -u munin -
echo "The crontab for user munin had manually created entries."
echo "Only the automatically created entries have been removed."
@@ -50,8 +54,8 @@ delete_crontab_entries() {
}
delnewsyslog() {
- tmp="/etc/#munin-node$$"
- sed -e '/^\/var\/log\/munin\/\*\.log[ ]/d' /etc/newsyslog.conf >${tmp}
+ tmp=`mktemp -t munin` || exit 1
+ sed -e '/^\/var\/log\/munin\/\*\.log[ ]/d' /etc/newsyslog.conf >${tmp}
cat ${tmp} > /etc/newsyslog.conf
rm ${tmp}
}
@@ -59,23 +63,27 @@ delnewsyslog() {
newsyslog() {
ENTRY=`fgrep '/var/log/munin/*' /etc/newsyslog.conf`
DEFAULT='/var/log/munin/*.log munin:munin 644 7 * @T00 GNWZ'
- if [ -z "$ENTRY" ]; then
- exit 0
- elif [ "$ENTRY" = "$DEFAULT" ]; then
- delnewsyslog
+ if [ -z "$ENTRY" ]
+ then
+ exit 0
+ elif [ "$ENTRY" = "$DEFAULT" ]
+ then
+ delnewsyslog
elif yesno "You have changed the default munin-master entry in \"/etc/newsyslog.conf\".
-Do you want me to delete it?" y; then
- delnewsyslog
- echo "Done."
+Do you want me to delete it?" y
+ then
+ delnewsyslog
+ echo "Done."
fi
}
case $2 in
DEINSTALL)
- if [ -z "${PACKAGE_BUILDING}" ]; then
- delete_crontab_entries '#BEGIN_MUNIN_MAIN' '#END_MUNIN_MAIN'
- newsyslog
+ if [ -z "${PACKAGE_BUILDING}" ]
+ then
+ delete_crontab_entries '#BEGIN_MUNIN_MAIN' '#END_MUNIN_MAIN'
+ newsyslog
fi
;;
POST-DEINSTALL)
diff --git a/sysutils/munin-master/pkg-install b/sysutils/munin-master/pkg-install
index b6b9fe4..c4b36f0 100644
--- a/sysutils/munin-master/pkg-install
+++ b/sysutils/munin-master/pkg-install
@@ -1,14 +1,17 @@
#! /bin/sh
+# ex:sw=4 sts=4
ask() {
local question default answer
question=$1
default=$2
- if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
+ if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]
+ then
read -p "${question} [${default}]? " answer
fi
- if [ x${answer} = x ]; then
+ if [ x${answer} = x ]
+ then
answer=${default}
fi
echo ${answer}
@@ -34,32 +37,33 @@ create_crontab_entries() {
b=$1
e=$2
- if crontab -u munin -l > /dev/null 2>&1; then
- TMPFILE=`mktemp -t munin` || exit 1
- cat > $TMPFILE
- crontab -u munin -l | sed -e "/^$b$/,/^$e$/d" | \
- cat - $TMPFILE | crontab -u munin -
- rm $TMPFILE
+ if crontab -u munin -l > /dev/null 2>&1
+ then
+ if ! crontab -u munin -l | grep -q MANUAL_MUNIN_CRONTAB
+ then
+ TMPFILE=`mktemp -t munin` || exit 1
+ cat > $TMPFILE
+ crontab -u munin -l | sed -e "/^$b$/,/^$e$/d" | \
+ cat - $TMPFILE | crontab -u munin -
+ rm $TMPFILE
+ fi
else
crontab -u munin -
fi
}
-mklogdir() {
-}
-
newsyslog() {
- if fgrep -q '/var/log/munin/*' /etc/newsyslog.conf; then
- :
- else
+ if ! fgrep -q '/var/log/munin/*' /etc/newsyslog.conf
+ then
cat >> /etc/newsyslog.conf <<EOT
/var/log/munin/*.log munin:munin 644 7 * @T00 GNWZ
EOT
- fi
+ fi
}
move_www_dir() {
- if [ -d ${PKG_PREFIX}/www/data/munin -a ! -d ${PKG_PREFIX}/www/munin ]; then
+ if [ -d ${PKG_PREFIX}/www/data/munin -a ! -d ${PKG_PREFIX}/www/munin ]
+ then
echo Migrating ${PKG_PREFIX}/www/data/munin to ${PKG_PREFIX}/www/munin
mv ${PKG_PREFIX}/www/data/munin ${PKG_PREFIX}/www/munin
fi
@@ -71,11 +75,12 @@ move_www_dir() {
case $2 in
PRE-INSTALL)
move_www_dir # at some point in the installation, the www dir is created
- ;;
+ ;;
POST-INSTALL)
- if [ -z "${PACKAGE_BUILDING}" ]; then
- newsyslog
- create_crontab_entries '#BEGIN_MUNIN_MAIN' '#END_MUNIN_MAIN' <<EOT
+ if [ -z "${PACKAGE_BUILDING}" ]
+ then
+ newsyslog
+ create_crontab_entries '#BEGIN_MUNIN_MAIN' '#END_MUNIN_MAIN' <<EOT
#BEGIN_MUNIN_MAIN
MAILTO=root
@@ -83,5 +88,5 @@ MAILTO=root
#END_MUNIN_MAIN
EOT
fi
- ;;
+ ;;
esac
diff --git a/sysutils/munin-node/Makefile b/sysutils/munin-node/Makefile
index f9a10ee..d26e0e7 100644
--- a/sysutils/munin-node/Makefile
+++ b/sysutils/munin-node/Makefile
@@ -3,7 +3,6 @@
PORTNAME= munin
PORTVERSION= ${MUNIN_VERSION}
-PORTREVISION= 1
CATEGORIES= sysutils perl5
MASTER_SITES= ${MUNIN_SITES}
PKGNAMESUFFIX= -node
@@ -32,8 +31,6 @@ SHEBANG_FILES= node/sbin/munin-node node/sbin/munin-sched \
.include "${.CURDIR}/../munin-common/munin.mk"
-DISTINFO_FILE= ${MUNIN_DISTINFO}
-EXTRA_PATCHES+= ${MUNIN_PATCHES}
ALL_TARGET= build-node build-plugins
INSTALL_TARGET= install-node-prime install-plugins-prime
NO_ARCH= yes
diff --git a/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_.in b/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_.in
index e10eeb7..1c6cbae 100644
--- a/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_.in
+++ b/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_.in
@@ -1,6 +1,42 @@
---- plugins/node.d.freebsd/if_.in.orig 2014-04-22 19:29:32 UTC
+--- plugins/node.d.freebsd/if_.in.orig 2014-10-26 14:12:24 UTC
+++ plugins/node.d.freebsd/if_.in
-@@ -83,9 +83,12 @@
+@@ -22,7 +22,7 @@
+ INTERFACE=${0##*if_}
+
+ if [ "$1" = "autoconf" ]; then
+- if [ -x /usr/bin/netstat ]; then
++ if [ -x /sbin/ifconfig -o -x /usr/bin/netstat ]; then
+ echo yes
+ exit 0
+ else
+@@ -32,8 +32,12 @@
+ fi
+
+ if [ "$1" = "suggest" ]; then
+- if [ -x /usr/bin/netstat ]; then
+- netstat -i -b -n | sed -n -e '/^faith/d' -e '/^lo[0-9]/d' -e '/^pflog/d' -e '/<Link#[0-9]*>/s/\** .*//p'
++ if [ -x /sbin/ifconfig ]
++ then
++ ifconfig -l | sed -Ee 's/[[:<:]](pfsync|faith|pf(log|sync)|lo|plip|carp|enc|fwe)[^ ]*//g' | xargs -n 1 echo
++ exit 0
++ elif [ -x /usr/bin/netstat ]; then
++ netstat -i -b -n | sed -n -e '/^faith/d' -e '/^lo[0-9]/d' -e '/^pf(log|sync)/d' -e '/<Link#[0-9]*>/s/\** .*//p'
+ exit 0
+ else
+ exit 1
+@@ -68,8 +72,10 @@
+ /<Link#[0-9]*>/ {
+ if (NF == 10) {
+ rsum += $6; osum += $9;
+- } else {
++ } else if (NF == 11) {
+ rsum += $7; osum += $10;
++ } else { # NF == 12
++ rsum += $8; osum += $11;
+ }
+ }
+ END {
+@@ -83,9 +89,13 @@
if (NF == 10) {
print "rbytes.value", $6;
print "obytes.value", $9;
@@ -8,9 +44,10 @@
+ } else if (NF == 11) {
print "rbytes.value", $7;
print "obytes.value", $10;
-+ } else {
++ } else { # NF == 12
+ print "rbytes.value", $8;
+ print "obytes.value", $11;
}
}'
fi
++
diff --git a/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_errcoll_.in b/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_errcoll_.in
index c003ac78..f012a70 100644
--- a/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_errcoll_.in
+++ b/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_errcoll_.in
@@ -1,6 +1,30 @@
---- plugins/node.d.freebsd/if_errcoll_.in.orig 2014-04-22 19:29:32 UTC
+--- plugins/node.d.freebsd/if_errcoll_.in.orig 2014-10-26 14:12:24 UTC
+++ plugins/node.d.freebsd/if_errcoll_.in
-@@ -59,9 +59,13 @@
+@@ -19,7 +19,7 @@
+ INTERFACE=${0##*if_errcoll_}
+
+ if [ "$1" = "autoconf" ]; then
+- if [ -x /usr/bin/netstat ]; then
++ if [ -x /sbin/ifconfig -o -x /usr/bin/netstat ]; then
+ echo yes
+ exit 0
+ else
+@@ -29,8 +29,12 @@
+ fi
+
+ if [ "$1" = "suggest" ]; then
+- if [ -x /usr/bin/netstat ]; then
+- netstat -i -b -n | sed -n -e '/^faith/d' -e '/^lo[0-9]/d' -e '/^pflog/d' -e '/<Link#[0-9]*>/s/\** .*//p'
++ if [ -x /sbin/ifconfig ]
++ then
++ ifconfig -l | sed -Ee 's/[[:<:]](pfsync|faith|pf(log|sync)|lo|plip|carp|enc|fwe)[^ ]*//g' | xargs -n 1 echo
++ exit 0
++ elif [ -x /usr/bin/netstat ]; then
++ netstat -i -b -n | sed -n -e '/^faith/d' -e '/^lo[0-9]/d' -e '/^pf(log|sync)/d' -e '/<Link#[0-9]*>/s/\** .*//p'
+ exit 0
+ else
+ exit 1
+@@ -59,9 +63,13 @@
print "ierrors.value", $5;
print "oerrors.value", $8;
print "collisions.value", $10;
@@ -9,7 +33,7 @@
print "ierrors.value", $6;
print "oerrors.value", $9;
print "collisions.value", $11;
-+ } else {
++ } else { # NF == 12
+ print "ierrors.value", $6;
+ print "oerrors.value", $10;
+ print "collisions.value", $12;
diff --git a/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_packets_.in b/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_packets_.in
new file mode 100644
index 0000000..b69d74a
--- /dev/null
+++ b/sysutils/munin-node/files/patch-plugins__node.d.freebsd__if_packets_.in
@@ -0,0 +1,104 @@
+--- plugins/node.d.freebsd/if_packets_.in.orig 2014-10-27 10:21:08 UTC
++++ plugins/node.d.freebsd/if_packets_.in
+@@ -0,0 +1,101 @@
++#!@@GOODSH@@
++# -*- sh -*-
++#
++# Wildcard-plugin to monitor network interfaces. To monitor an
++# interface, link if_<interface> to this file. E.g.
++#
++# ln -s /usr/share/munin/node/plugins-auto/if_ /etc/munin/node.d/if_eth0
++#
++# ...will monitor eth0.
++#
++# To aggregate all network interfaces on the system (except lo0),
++# link if_aggregated to this file.
++#
++# Any device found in /usr/bin/netstat can be monitored.
++#
++# Magic markers (optional - used by munin-config and some installation
++# scripts):
++#
++#%# family=auto
++#%# capabilities=autoconf suggest
++
++INTERFACE=${0##*if_}
++
++if [ "$1" = "autoconf" ]; then
++ if [ -x /sbin/ifconfig -o -x /usr/bin/netstat ]; then
++ echo yes
++ exit 0
++ else
++ echo "no (/usr/bin/netstat not found)"
++ exit 0
++ fi
++fi
++
++if [ "$1" = "suggest" ]; then
++ if [ -x /sbin/ifconfig ]
++ then
++ ifconfig -l | sed -Ee 's/[[:<:]](pfsync|faith|pf(log|sync)|lo|plip|carp|enc|fwe)[^ ]*//g' | xargs -n 1 echo
++ exit 0
++ elif [ -x /usr/bin/netstat ]; then
++ netstat -i -b -n | sed -n -e '/^faith/d' -e '/^lo[0-9]/d' -e '/^pf(log|sync)/d' -e '/<Link#[0-9]*>/s/\** .*//p'
++ exit 0
++ else
++ exit 1
++ fi
++fi
++
++if [ "$1" = "config" ]; then
++
++ echo "graph_order rpackets opackets"
++ echo "graph_title $INTERFACE pps"
++ echo 'graph_args --base 1000'
++ echo 'graph_vlabel packets per ${graph_period} in (-) / out (+)'
++ echo 'graph_category network'
++ echo "graph_info This graph shows the packets counter of the $INTERFACE network interface. Please note that the traffic is shown in packets per second."
++ echo 'rpackets.label received'
++ echo 'rpackets.type COUNTER'
++ echo 'rpackets.graph no'
++
++ echo 'rpackets.min 0'
++ echo 'opackets.label pps'
++ echo 'opackets.type COUNTER'
++ echo 'opackets.negative rpackets'
++
++ echo 'opackets.min 0'
++ echo "opackets.info Packets sent (+) and received (-) on the $INTERFACE network interface."
++ exit 0
++fi
++
++if [ "$INTERFACE" = "aggregated" ]; then
++ /usr/bin/netstat -i -b -n | grep -v '^lo' | awk '
++BEGIN { rsum = 0; osum = 0; }
++/<Link#[0-9]*>/ {
++ if (NF == 10) {
++ rsum += $4; osum += $7;
++ } else if (NF == 11) {
++ rsum += $5; osum += $8;
++ } else { # NF == 12
++ rsum += $6; osum += $9;
++ }
++}
++END {
++ printf "rpackets.value %i\n", rsum;
++ printf "opackets.value %i\n", osum;
++}'
++
++else
++ /usr/bin/netstat -i -b -n -I $INTERFACE | awk '
++/<Link#[0-9]*>/ {
++ if (NF == 10) {
++ print "rpackets.value", $4;
++ print "opackets.value", $7;
++ } else if (NF == 11) {
++ print "rbytes.value", $5;
++ print "obytes.value", $8;
++ } else { # NF == 12
++ print "rpackets.value", $6;
++ print "opackets.value", $9;
++ }
++}'
++fi
++
diff --git a/sysutils/munin-node/pkg-plist b/sysutils/munin-node/pkg-plist
index 5e5ff31..6df03ce 100644
--- a/sysutils/munin-node/pkg-plist
+++ b/sysutils/munin-node/pkg-plist
@@ -102,6 +102,7 @@ sbin/munin-sched
%%DATADIR%%/plugins/http_loadtime
%%DATADIR%%/plugins/if_
%%DATADIR%%/plugins/if_errcoll_
+%%DATADIR%%/plugins/if_packets_
%%DATADIR%%/plugins/ifx_concurrent_sessions_
%%DATADIR%%/plugins/iostat
%%DATADIR%%/plugins/ipac-ng
OpenPOWER on IntegriCloud