summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2009-06-21 16:57:54 +0000
committerPeter Volkov <pva@gentoo.org>2009-06-21 16:57:54 +0000
commitc1d74b35d548fa7e0909eea05f0074751ea81baa (patch)
tree97d9198e8e8ee3481ccd86945764545ca75cf06c /net-analyzer/vnstat
parentUse a different alternative to avoid applying the disable-regenerate-man for ... (diff)
downloadgentoo-2-c1d74b35d548fa7e0909eea05f0074751ea81baa.tar.gz
gentoo-2-c1d74b35d548fa7e0909eea05f0074751ea81baa.tar.bz2
gentoo-2-c1d74b35d548fa7e0909eea05f0074751ea81baa.zip
Added vnstatd as alternative way to update traffic database, bug #274779, thank Gordon Malm for this contribution.
(Portage version: 2.2_rc33/cvs/Linux i686)
Diffstat (limited to 'net-analyzer/vnstat')
-rw-r--r--net-analyzer/vnstat/ChangeLog9
-rw-r--r--net-analyzer/vnstat/files/vnstatd.confd7
-rw-r--r--net-analyzer/vnstat/files/vnstatd.initd42
-rw-r--r--net-analyzer/vnstat/vnstat-1.7-r2.ebuild105
4 files changed, 162 insertions, 1 deletions
diff --git a/net-analyzer/vnstat/ChangeLog b/net-analyzer/vnstat/ChangeLog
index b4aa21d02a14..1922a4a9820b 100644
--- a/net-analyzer/vnstat/ChangeLog
+++ b/net-analyzer/vnstat/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-analyzer/vnstat
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/vnstat/ChangeLog,v 1.34 2009/04/26 19:56:03 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/vnstat/ChangeLog,v 1.35 2009/06/21 16:57:54 pva Exp $
+
+*vnstat-1.7-r2 (21 Jun 2009)
+
+ 21 Jun 2009; Peter Volkov <pva@gentoo.org> +vnstat-1.7-r2.ebuild,
+ +files/vnstatd.confd, +files/vnstatd.initd:
+ Added vnstatd as alternative way to update traffic database, bug #274779,
+ thank Gordon Malm for this contribution.
*vnstat-1.7-r1 (26 Apr 2009)
diff --git a/net-analyzer/vnstat/files/vnstatd.confd b/net-analyzer/vnstat/files/vnstatd.confd
new file mode 100644
index 000000000000..17901419aacb
--- /dev/null
+++ b/net-analyzer/vnstat/files/vnstatd.confd
@@ -0,0 +1,7 @@
+# /etc/conf.d/vnstatd: config file for /etc/init.d/vnstatd
+
+# Adjust scheduling priority on vnstatd (default: 0)
+#VNSTATD_NICELEVEL="0"
+
+# Pass extra options to vnstatd
+#VNSTATD_EXTRAOPTS="--config /etc/vnstat.conf"
diff --git a/net-analyzer/vnstat/files/vnstatd.initd b/net-analyzer/vnstat/files/vnstatd.initd
new file mode 100644
index 000000000000..fbe518b51a14
--- /dev/null
+++ b/net-analyzer/vnstat/files/vnstatd.initd
@@ -0,0 +1,42 @@
+#!/sbin/runscript
+# Copyright 2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/vnstat/files/vnstatd.initd,v 1.1 2009/06/21 16:57:54 pva Exp $
+
+opts="reload"
+
+depend() {
+ use net
+}
+
+VNSTATD_PIDFILE="${VNSTATD_PIDFILE:-/var/run/vnstatd/vnstatd.pid}"
+
+start() {
+ ebegin "Starting vnstatd"
+ start-stop-daemon --start --quiet \
+ --pidfile "${VNSTATD_PIDFILE}" \
+ --chuid vnstat:vnstat \
+ --nicelevel ${VNSTATD_NICELEVEL:-0} \
+ --exec /usr/bin/vnstatd -- \
+ -d ${VNSTATD_EXTRAOPTS} -p ${VNSTATD_PIDFILE}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping vnstatd"
+ start-stop-daemon --stop --quiet \
+ --pidfile "${VNSTATD_PIDFILE}"
+ eend $?
+}
+
+reload() {
+ if [ ! -f ${VNSTATD_PIDFILE} ]; then
+ eerror "Cannot reload configuration, vnstatd is not running"
+ eend 1
+ return 1
+ fi
+
+ ebegin "Reloading vnstatd configuration"
+ kill -HUP $(< "${VNSTATD_PIDFILE}") &>/dev/null
+ eend $?
+}
diff --git a/net-analyzer/vnstat/vnstat-1.7-r2.ebuild b/net-analyzer/vnstat/vnstat-1.7-r2.ebuild
new file mode 100644
index 000000000000..f04af7ec4b4f
--- /dev/null
+++ b/net-analyzer/vnstat/vnstat-1.7-r2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/vnstat/vnstat-1.7-r2.ebuild,v 1.1 2009/06/21 16:57:54 pva Exp $
+
+EAPI="2"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Console-based network traffic monitor that keeps statistics of network usage"
+HOMEPAGE="http://humdi.net/vnstat/"
+SRC_URI="http://humdi.net/vnstat/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="gd"
+
+DEPEND="
+ gd? ( media-libs/gd[png] )"
+RDEPEND="${DEPEND}
+ virtual/cron"
+
+pkg_setup() {
+ enewgroup vnstat
+ enewuser vnstat -1 -1 /dev/null vnstat
+}
+
+src_compile() {
+ sed -i 's:vnstat[.]log:vnstatd.log:' cfg/vnstat.conf || die
+ sed -i 's:vnstat[.]pid:vnstatd/vnstatd.pid:' cfg/vnstat.conf || die
+
+ if use gd; then
+ emake all CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "emake all failed"
+ else
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "emake failed"
+ fi
+}
+
+src_install() {
+ if use gd; then
+ dobin src/vnstati || die "vnstati dobin failed"
+ fi
+ dobin src/vnstat src/vnstatd || die "dobin failed"
+ exeinto /etc/cron.hourly
+ newexe "${FILESDIR}"/vnstat.cron vnstat || die
+
+ insinto /etc
+ doins cfg/vnstat.conf || die
+ fowners root:vnstat /etc/vnstat.conf
+
+ newconfd "${FILESDIR}/vnstatd.confd" vnstatd || die
+ newinitd "${FILESDIR}/vnstatd.initd" vnstatd || die
+
+ keepdir /var/lib/vnstat
+ keepdir /var/run/vnstatd
+ fowners vnstat:vnstat /var/lib/vnstat
+ fowners vnstat:vnstat /var/run/vnstatd
+
+ use gd && { doman man/vnstati.1 || die; }
+ doman man/vnstat.1 man/vnstatd.1 || die
+
+ newdoc examples/vnstat_ip-up ip-up.example || die
+ newdoc examples/vnstat_ip-down ip-down.example || die
+ newdoc INSTALL README.setup || die
+ dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi || die
+}
+
+pkg_postinst() {
+ # compatibility for 1.1 ebuild
+ if [[ -d ${ROOT}/var/spool/vnstat ]]; then
+ mv -f "${ROOT}"/var/spool/vnstat/* "${ROOT}"/var/lib/vnstat/ \
+ && rmdir "${ROOT}"/var/spool/vnstat
+ ewarn "vnStat db files have been moved from /var/spool/vnstat to /var/lib/vnstat"
+ ewarn
+ fi
+
+ # Workaround feature/bug #141619
+ chown -R vnstat:vnstat "${ROOT}/var/lib/vnstat"
+ chown vnstat:vnstat "${ROOT}/var/run/vnstatd"
+ ewarn "vnStat db files owning user and group has been changed to \"vnstat\"."
+
+ elog
+ elog "Repeat the following command for every interface you"
+ elog "wish to monitor (replace eth0):"
+ elog " vnstat -u -i eth0"
+ elog "and set correct permissions after that, e.g."
+ elog " chown -R vnstat:vnstat /var/lib/vnstat"
+ elog
+ elog "Note: if an interface transfers more than ~4GB in"
+ elog "the time between cron runs, you may miss traffic"
+ elog
+
+ if [[ -e ${ROOT}/etc/cron.d/vnstat ]] ; then
+ elog "vnstat's cron script is now installed as /etc/cron.hourly/vnstat."
+ elog "Please remove /etc/cron.d/vnstat."
+ elog
+ fi
+ elog "To update the interfaces database automatically with cron, uncomment"
+ elog "lines in /etc/cron.hourly/vnstat and set cron job to run it as"
+ elog "frequently as required. Alternatively you can use vnstatd. Init script"
+ elog "was installed into /etc/init.d/vnstatd for your convenience."
+ elog
+ elog "Starting with version 1.5 --dbdir option is droped. You can do the same"
+ elog "with DatabaseDir directive in configuration file (/etc/vnstat.conf)."
+}