# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ 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 sed -i 's/vnstat\.pid/vnstatd\/vnstatd\.pid/' cfg/vnstat.conf 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" insinto /etc doins cfg/vnstat.conf fowners root:vnstat /etc/vnstat.conf insinto /etc/cron.d newins "${FILESDIR}"/vnstat.crontab vnstat newconfd "${FILESDIR}"/vnstatd.confd vnstatd newinitd "${FILESDIR}"/vnstatd.initd vnstatd keepdir /var/lib/vnstat fowners vnstat:vnstat /var/lib/vnstat keepdir /var/run/vnstatd fowners vnstat:vnstat /var/run/vnstatd use gd && doman man/vnstati.1 doman man/vnstat.1 man/vnstatd.1 newdoc examples/vnstat_ip-up ip-up.example newdoc examples/vnstat_ip-down ip-down.example dodoc CHANGES README UPGRADE FAQ examples/vnstat.cgi newdoc INSTALL README.setup } pkg_postinst() { # compat 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 ewarn "vnStat db files have been moved from /var/spool/vnstat to /var/lib/vnstat" fi # compat for <1.7-r2 ebuilds [[ -d "${ROOT}"/var/lib/vnstat ]] && chown vnstat:vnstat "${ROOT}"/var/lib/vnstat if [[ `ls -oAI.keep_"${CATEGORY}"* "${ROOT}"/var/lib/vnstat/ \ | egrep -v "^total|.* vnstat .*" | wc -l` -gt 0 ]] then find "${ROOT}"/var/lib/vnstat/ -type f -a ! -name .keep_"${CATEGORY}"\* \ -exec chown vnstat:vnstat {} + ewarn ewarn "vnStat db files owning user and group has been changed to \"vnstat\"." fi elog elog "Repeat the following commands for every interface that" elog "is to be monitored (replace eth0):" elog " vnstat -u -i eth0" elog " chown vnstat:vnstat /var/lib/vnstat/eth0" elog elog "An init script for vnstatd has been installed to /etc/init.d/vnstatd." elog if [[ -e "${ROOT}"/etc/cron.hourly/vnstat ]]; then elog "vnstat's cron script is now installed as /etc/cron.d/vnstat." elog "Please remove /etc/cron.hourly/vnstat." elog else elog "A cron script has been installed to /etc/cron.d/vnstat." elog fi elog "To update the interface database automatically using" elog "cron, uncomment the lines in /etc/cron.d/vnstat." elog ewarn "NOTE: If an interface transfers more than ~4GB in" ewarn "the time between cron runs, vnstat may miss traffic." elog elog "Starting with version 1.5, the --dbdir option is dropped." elog "One can set the database directory using the \"DatabaseDir\"" elog "directive in the configuration file (/etc/vnstat.conf)." elog }