summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/smokeping/smokeping-2.4.2-r2.ebuild')
-rw-r--r--net-analyzer/smokeping/smokeping-2.4.2-r2.ebuild156
1 files changed, 156 insertions, 0 deletions
diff --git a/net-analyzer/smokeping/smokeping-2.4.2-r2.ebuild b/net-analyzer/smokeping/smokeping-2.4.2-r2.ebuild
new file mode 100644
index 000000000000..7d92b6c9035c
--- /dev/null
+++ b/net-analyzer/smokeping/smokeping-2.4.2-r2.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/smokeping/smokeping-2.4.2-r2.ebuild,v 1.1 2010/06/16 18:24:17 pva Exp $
+
+EAPI="2"
+
+inherit perl-module eutils
+
+DESCRIPTION="A powerful latency measurement tool."
+HOMEPAGE="http://oss.oetiker.ch/smokeping/"
+SRC_URI="http://oss.oetiker.ch/smokeping/pub/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~sparc ~x86"
+IUSE="apache2 speedy"
+
+# dev-perl/JSON-1.x is bundled and is incompatible with version 2.x wich is in
+# the tree. See http://bugs.gentoo.org/show_bug.cgi?id=260170#c2
+DEPEND="dev-lang/perl
+ virtual/perl-libnet
+ >=net-analyzer/rrdtool-1.2[perl]
+ >=net-analyzer/fping-2.4_beta2-r2
+ dev-perl/Digest-HMAC
+ dev-perl/libwww-perl
+ dev-perl/CGI-Session
+ >=dev-perl/SNMP_Session-1.13
+ dev-perl/Socket6
+ dev-perl/Net-DNS
+ speedy? ( dev-perl/SpeedyCGI )
+ !apache2? ( virtual/httpd-cgi )
+ apache2? ( >=www-apache/mod_perl-2.0.1 )
+ !dev-perl/JSON"
+
+RDEPEND="${DEPEND}"
+
+pkg_preinst() {
+ enewgroup smokeping
+ enewuser smokeping -1 -1 /var/lib/smokeping smokeping
+}
+
+src_prepare() {
+ rm -rf lib/Digest # provided by dev-perl/Digest-HMAC
+ rm -rf lib/CGI # provided by dev-perl/CGI-Session
+ rm -r lib/{BER.pm,SNMP_Session.pm,SNMP_util.pm} # dev-perl/SNMP_Session
+ rm qooxdoo/qooxdoolink
+}
+
+src_compile() {
+ # There is a makefile we don't want to run so leave this here
+ einfo "Skip compile."
+}
+
+src_install() {
+ # First move all the perl modules into the vendor lib area of Perl
+ perlinfo
+ insinto ${VENDOR_LIB}/
+ doins -r lib/*
+
+ # Install the CGI webserver scripts
+ sed 's:^use lib:#use lib:g' -i htdocs/*.cgi.dist
+ if use speedy; then
+ sed '1{s:/usr/[^ ]*:/usr/bin/speedy:}' -i htdocs/*.cgi.dist
+ else
+ sed '1{s:/usr/[^ ]*:/usr/bin/perl:}' -i htdocs/*.cgi.dist
+ fi
+ sed 's:/home/oetiker.*/config.dist:/etc/smokeping/config:' \
+ -i htdocs/*.cgi.dist
+ exeinto /var/www/localhost/perl/
+ newexe htdocs/smokeping.cgi.dist smokeping.pl || die
+ exeinto /var/www/localhost/smokeping
+ newexe htdocs/tr.cgi.dist tr.cgi || die
+ rm htdocs/{tr,smokeping}.cgi.dist
+
+ # Install AJAX scripts
+ insinto /var/www/localhost/smokeping
+ doins -r htdocs/* || die
+
+ # Create the smokeping binaries
+ for bin in ${PN} tSmoke; do
+ newbin bin/${bin}.dist ${bin}
+ dosed 's:^use lib:#use lib:g' /usr/bin/${bin}
+ dosed 's:etc/config.dist:/etc/smokeping/config:' /usr/bin/${bin}
+ done
+
+ # Create the config files
+ insinto /etc/${PN}
+ for file in etc/*; do
+ config=${file/.dist}
+ newins ${file} ${config#*/}
+ done
+ sed -e '/^imgcache/{s:\(^imgcache[ \t]*=\).*:\1 /var/lib/smokeping/.simg:}' \
+ -e '/^imgurl/{s:\(^imgurl[ \t]*=\).*:\1 ../.simg:}' \
+ -e '/^datadir/{s:\(^datadir[ \t]*=\).*:\1 /var/lib/smokeping:}' \
+ -e '/^piddir/{s:\(^piddir[ \t]*=\).*:\1 /var/run/smokeping:}' \
+ -e '/^cgiurl/{s#\(^cgiurl[ \t]*=\).*#\1 http://some.place.xyz/perl/smokeping.pl#}' \
+ -e '/^smokemail/{s:\(^smokemail[ \t]*=\).*:\1 /etc/smokeping/smokemail:}' \
+ -e '/^tmail/{s:\(^tmail[ \t]*=\).*:\1 /etc/smokeping/tmail:}' \
+ -e '/^secrets/{s:\(^secrets[ \t]*=\).*:\1 /etc/smokeping/smokeping_secrets:}' \
+ -e '/^template/{s:\(^template[ \t]*=\).*:\1 /etc/smokeping/basepage.html:}' \
+ -i "${D}/etc/${PN}/config" || die
+ sed -e '/^<script/{s:cropper/:/cropper/:}' -i "${D}/etc/${PN}/basepage.html"
+ fperms 700 /etc/${PN}/smokeping_secrets
+
+ newinitd "${FILESDIR}/${PN}.init.2" ${PN} || die
+
+ if use apache2 ; then
+ insinto /etc/apache2/modules.d
+ doins "${FILESDIR}/79_${PN}.conf" || die
+ fi
+
+ # Create the files in /var for rrd file storage
+ keepdir /var/lib/${PN}/.simg
+ fowners smokeping:smokeping /var/lib/${PN}
+ if use apache2 ; then
+ fowners apache:apache /var/lib/${PN}/.simg
+ else
+ fowners smokeping:smokeping /var/lib/${PN}/.simg
+ fi
+ fperms 775 /var/lib/${PN} /var/lib/${PN}/.simg
+
+ # Install documentation.
+ insinto "/usr/share/doc/${PF}"
+ doins -r doc/examples
+ dodoc CHANGES CONTRIBUTORS README TODO || die
+ doman doc/{smokeping{.1,.cgi.1,_config.5},Smokeping.3,smokeping_examples.7} \
+ doc/{smokeping_{extend,install,master_slave,upgrade}.7,smoketrace.7} \
+ doc/{tSmoke.1,Smokeping/Smokeping::{Examples,RRDtools}.3} || die
+}
+
+pkg_postinst() {
+ chown smokeping:smokeping "${ROOT}/var/lib/${PN}"
+ chmod 755 "${ROOT}/var/lib/${PN}"
+ elog
+ elog "Additional steps are needed to get ${PN} up & running:"
+ elog
+ elog "First you need to edit /etc/${PN}/config. After that"
+ elog "you can start ${PN} with '/etc/init.d/${PN} start'."
+ elog
+ if use apache2 ; then
+ elog "For web interface make sure to add -D PERL to APACHE2_OPTS in"
+ elog "/etc/conf.d/apache2 and to restart apache2. To access site from"
+ elog "other places check permissions at /etc/apache2/modules.d/79_${PN}.conf"
+ elog
+ else
+ elog "For web interface configure your web server to serve perl cgi"
+ elog "script at /var/www/localhost/perl/"
+ fi
+ elog "To make cropper working you just need to copy /var/www/localhost/smokeping/cropper"
+ elog "into you htdocs (or create symlink and allow webserver to follow symlinks)."
+ elog
+ elog "We install all files required for smoketrace, but you have to"
+ elog "configure it manually. Just read 'man smoketrace'. Also you need to"
+ elog "'emerge traceroute'."
+ elog
+}