diff options
author | Peter Volkov <pva@gentoo.org> | 2009-06-21 16:57:54 +0000 |
---|---|---|
committer | Peter Volkov <pva@gentoo.org> | 2009-06-21 16:57:54 +0000 |
commit | c1d74b35d548fa7e0909eea05f0074751ea81baa (patch) | |
tree | 97d9198e8e8ee3481ccd86945764545ca75cf06c /net-analyzer/vnstat | |
parent | Use a different alternative to avoid applying the disable-regenerate-man for ... (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | net-analyzer/vnstat/files/vnstatd.confd | 7 | ||||
-rw-r--r-- | net-analyzer/vnstat/files/vnstatd.initd | 42 | ||||
-rw-r--r-- | net-analyzer/vnstat/vnstat-1.7-r2.ebuild | 105 |
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)." +} |