--- vnstat-1.7-r1.ebuild +++ vnstat-1.7-r2.ebuild @@ -1,6 +1,6 @@ # 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-r1.ebuild,v 1.1 2009/04/26 19:56:03 patrick Exp $ +# $Header: $ EAPI="2" @@ -20,9 +20,17 @@ 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 failed" + emake all CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "emake all failed" else emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" || die "emake failed" fi @@ -30,56 +38,81 @@ src_install() { if use gd; then - dobin src/vnstati || die "dobin failed" + 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 insinto /etc doins cfg/vnstat.conf + fowners root:vnstat /etc/vnstat.conf - if use gd; then - doman man/vnstati.1 - fi - doman man/vnstat.1 man/vnstatd.1 + 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 - newdoc pppd/vnstat_ip-up ip-up.example - newdoc pppd/vnstat_ip-down ip-down.example - dodoc CHANGES README UPGRADE FAQ + 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() { - # compatibility for 1.1 ebuild - if [[ -d ${ROOT}/var/spool/vnstat ]] ; then + # 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 - elog "vnStat db files moved from /var/spool/vnstat to /var/lib/vnstat" - elog + 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 "Repeat the following command for every interface you" - elog "wish to monitor (replace eth0):" + 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 "Note: if an interface transfers more than ~4GB in" - elog "the time between cron runs, you may miss traffic" + elog "An init script for vnstatd has been installed to /etc/init.d/vnstatd." 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." + 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.hourly/vnstat." + elog "A cron script has been installed to /etc/cron.d/vnstat." elog fi - elog "To update your interface database automatically with" - elog "cron, uncomment the lines in /etc/cron.hourly/vnstat." + 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 - 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)." }