# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit toolchain-funcs user 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 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86" IUSE="gd selinux" DEPEND=" gd? ( media-libs/gd[png] ) " RDEPEND=" ${DEPEND} selinux? ( sec-policy/selinux-vnstatd ) " pkg_setup() { enewgroup vnstat enewuser vnstat -1 -1 /dev/null vnstat } src_prepare() { tc-export CC } 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 emake CFLAGS="${CFLAGS}" $(usex gd all '') } src_install() { use gd && dobin src/vnstati dobin src/vnstat src/vnstatd exeinto /etc/cron.hourly newexe "${FILESDIR}"/vnstat.cron vnstat insinto /etc doins cfg/vnstat.conf fowners root:vnstat /etc/vnstat.conf newconfd "${FILESDIR}"/vnstatd.confd vnstatd newinitd "${FILESDIR}"/vnstatd.initd vnstatd keepdir /var/lib/vnstat fowners vnstat:vnstat /var/lib/vnstat use gd && doman man/vnstati.1 doman man/vnstat.1 man/vnstatd.1 newdoc INSTALL README.setup dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi } pkg_postinst() { # 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 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." }