# Copyright 1999-2012 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-r4.ebuild,v 1.5 2012/06/12 03:14:47 zmedico Exp $ EAPI="2" inherit perl-module user 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 ~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/Config-Grammar dev-perl/Digest-HMAC dev-perl/libwww-perl dev-perl/CGI-Session >=dev-perl/SNMP_Session-1.13 >=dev-perl/Socket6-0.20 dev-perl/Net-DNS speedy? ( dev-perl/SpeedyCGI ) !apache2? ( virtual/httpd-cgi ) apache2? ( >=www-apache/mod_perl-2.0.1 )" RDEPEND="${DEPEND}" pkg_setup() { 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 -rf lib/Config # provided by dev-perl/Config-Grammar rm -r lib/{BER.pm,SNMP_Session.pm,SNMP_util.pm} # dev-perl/SNMP_Session rm qooxdoo/qooxdoolink PERL5SMOKEPING="/usr/share/${PN}/perl5" sed -i "/^use strict;/a\use lib '${PERL5SMOKEPING}';" \ "${S}"/lib/Qooxdoo/JSONRPC.pm || die } src_compile() { # There is a makefile we don't want to run so leave this here einfo "Skip compile." } src_install() { # Install JSON-1 outside of perl's @INC path insinto ${PERL5SMOKEPING} doins lib/JSON.pm insinto ${PERL5SMOKEPING}/JSON doins -r lib/JSON/* rm -r lib/JSON lib/JSON.pm # Install the remaining 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 '/^