summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-analyzer/symon/ChangeLog13
-rw-r--r--net-analyzer/symon/files/symon-init.d23
-rw-r--r--net-analyzer/symon/files/symux-init.d23
-rw-r--r--net-analyzer/symon/symon-2.79-r5.ebuild128
4 files changed, 174 insertions, 13 deletions
diff --git a/net-analyzer/symon/ChangeLog b/net-analyzer/symon/ChangeLog
index dc6b92b6ccfb..2b657d1f2cc0 100644
--- a/net-analyzer/symon/ChangeLog
+++ b/net-analyzer/symon/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for net-analyzer/symon
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/symon/ChangeLog,v 1.4 2008/11/09 21:35:12 tcunha Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/symon/ChangeLog,v 1.5 2008/11/17 00:00:46 tcunha Exp $
+
+*symon-2.79-r5 (17 Nov 2008)
+
+ 17 Nov 2008; Tiago Cunha <tcunha@gentoo.org> files/symon-init.d,
+ files/symux-init.d, +symon-2.79-r5.ebuild:
+ Improve the init scripts by:
+ - depending on localmount (both daemons need to write to local disks).
+ - starting after bootmisc (both daemons place a pidfile in /var/run).
+ - using the system logger.
+ - introducing the reload option which sends a SIGHUP to the daemons.
+ - removing the quiet flag to avoid hiding useful information.
09 Nov 2008; Tiago Cunha <tcunha@gentoo.org> metadata.xml:
Update my email address. Thanks pva
diff --git a/net-analyzer/symon/files/symon-init.d b/net-analyzer/symon/files/symon-init.d
index 7e9a31a689a0..d4f4b3dd0550 100644
--- a/net-analyzer/symon/files/symon-init.d
+++ b/net-analyzer/symon/files/symon-init.d
@@ -1,20 +1,31 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header:
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/symon/files/symon-init.d,v 1.2 2008/11/17 00:00:46 tcunha Exp $
+
+opts="${opts} reload"
depend() {
- need net
+ after bootmisc
+ need localmount net
+ use logger
+}
+
+reload() {
+ ebegin "Reloading symon"
+ start-stop-daemon --stop --pidfile /var/run/symon.pid \
+ --exec /usr/sbin/symon --oknodo --signal HUP
+ eend $?
}
start() {
ebegin "Starting symon"
- start-stop-daemon --start --quiet --exec /usr/sbin/symon -- -u
- eend ${?}
+ start-stop-daemon --start --exec /usr/sbin/symon -- -u
+ eend $?
}
stop() {
ebegin "Stopping symon"
- start-stop-daemon --stop --quiet --pidfile /var/run/symon.pid
- eend ${?}
+ start-stop-daemon --stop --pidfile /var/run/symon.pid
+ eend $?
}
diff --git a/net-analyzer/symon/files/symux-init.d b/net-analyzer/symon/files/symux-init.d
index 58df4c51b360..b7c10e4fa489 100644
--- a/net-analyzer/symon/files/symux-init.d
+++ b/net-analyzer/symon/files/symux-init.d
@@ -1,20 +1,31 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header:
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/symon/files/symux-init.d,v 1.2 2008/11/17 00:00:46 tcunha Exp $
+
+opts="${opts} reload"
depend() {
- need net
+ after bootmisc
+ need localmount net
+ use logger
+}
+
+reload() {
+ ebegin "Reloading symux"
+ start-stop-daemon --stop --pidfile /var/run/symux.pid \
+ --exec /usr/sbin/symux --oknodo --signal HUP
+ eend $?
}
start() {
ebegin "Starting symux"
- start-stop-daemon --start --quiet --exec /usr/sbin/symux
- eend ${?}
+ start-stop-daemon --start --exec /usr/sbin/symux
+ eend $?
}
stop() {
ebegin "Stopping symux"
- start-stop-daemon --stop --quiet --pidfile /var/run/symux.pid
- eend ${?}
+ start-stop-daemon --stop --pidfile /var/run/symux.pid
+ eend $?
}
diff --git a/net-analyzer/symon/symon-2.79-r5.ebuild b/net-analyzer/symon/symon-2.79-r5.ebuild
new file mode 100644
index 000000000000..1d467e66d417
--- /dev/null
+++ b/net-analyzer/symon/symon-2.79-r5.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/symon/symon-2.79-r5.ebuild,v 1.1 2008/11/17 00:00:46 tcunha Exp $
+
+EAPI=1
+
+inherit eutils perl-module toolchain-funcs
+
+DESCRIPTION="Performance and information monitoring tool"
+HOMEPAGE="http://www.xs4all.nl/~wpd/symon/"
+SRC_URI="http://www.xs4all.nl/~wpd/symon/philes/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86"
+IUSE="perl +symon symux"
+
+RDEPEND="perl? ( dev-lang/perl )
+ symux? ( net-analyzer/rrdtool )"
+DEPEND="${RDEPEND}
+ virtual/pmake"
+
+S=${WORKDIR}/${PN}
+
+build_symon() {
+ [[ -n "${BUILD_SYMON}" ]] && return 0 || return 1
+}
+
+zap_subdir() {
+ sed -i "/SUBDIR/s/$1//" "${S}"/Makefile || die "sed $1 failed"
+}
+
+pkg_setup() {
+ if ! use perl && ! use symon && ! use symux ; then
+ ewarn "You have perl, symon, and symux USE flags disabled."
+ ewarn "That means I have nothing to install but, I'll emerge the"
+ ewarn "system monitor as default. Please, enable at least one USE"
+ ewarn "flag to avoid this message."
+ BUILD_SYMON=YES
+ fi
+ use symon && BUILD_SYMON=YES
+}
+
+src_unpack() {
+ unpack ${A}
+
+ build_symon && epatch "${FILESDIR}"/${PN}-symon.conf.patch
+ use symux && epatch "${FILESDIR}"/${PN}-symux.conf.patch
+
+ sed -i '/${CC}.*${LIBS}/s/${CC}/& ${LDFLAGS}/' \
+ "${S}"/sym{on,ux}/Makefile || die "sed ldflags failed"
+
+ use perl && ! use symon && ! use symux && zap_subdir lib
+ ! use perl && zap_subdir client
+ ! use symux && zap_subdir symux
+ build_symon || zap_subdir symon
+}
+
+src_compile() {
+ MAKE=pmake MAKEOPTS= emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CFLAGS+="${CFLAGS}" \
+ RANLIB="$(tc-getRANLIB)" \
+ STRIP=true || die "emake failed"
+}
+
+src_install() {
+ if use perl ; then
+ dobin client/getsymonitem.pl || die "dobin getsymonitem.pl failed"
+
+ perlinfo
+ insinto ${SITE_LIB}
+ doins client/SymuxClient.pm || die "doins SymuxClient.pm failed"
+ fi
+
+ if build_symon ; then
+ insinto /etc
+ doins symon/symon.conf || die "doins symon.conf failed"
+
+ newinitd "${FILESDIR}"/${PN}-init.d ${PN} || die "newinitd symon failed"
+
+ dodoc CHANGELOG HACKERS TODO || die "dodoc failed"
+
+ doman symon/symon.8 || die "doman symon failed"
+ dosbin symon/symon || die "dosbin symon failed"
+
+ dodir /usr/share/symon
+ insinto /usr/share/symon
+ doins symon/c_config.sh || die "doins c_config.sh failed"
+ fperms a+x,u-w /usr/share/symon/c_config.sh
+ fi
+
+ if use symux ; then
+ insinto /etc
+ doins symux/symux.conf || die "doins symux.conf failed"
+
+ newinitd "${FILESDIR}"/symux-init.d symux || die "newinitd symux failed"
+
+ doman symux/symux.8 || die "doman symux failed"
+ dosbin symux/symux || die "dosbin symux failed"
+
+ insinto /usr/share/symon
+ doins symux/c_smrrds.sh || die "doins c_smrrds.sh failed"
+ fperms u-w,u+x /usr/share/symon/c_smrrds.sh
+
+ dodir /var/lib/symon/rrds/localhost
+ fi
+}
+
+pkg_postinst() {
+ use perl && perl-module_pkg_postinst
+
+ if build_symon ; then
+ elog "Before running the monitor, edit /etc/symon.conf. To test your"
+ elog "configuration file, run symon -t."
+ elog "NOTE that symon won't chroot by default."
+ fi
+
+ if use symux ; then
+ elog "Before running the data collector, edit /etc/symux.conf."
+ elog "To create the RRDs run /usr/share/symon/c_smrrds.sh all. Then,"
+ elog "to test your configuration file, run symux -t."
+ elog "For information about migrating RRDs from a previous symux"
+ elog "version read the LEGACY FORMATS section of symux(8)."
+ elog "To view the rrdtool pictures of the stored data, emerge syweb."
+ fi
+}