summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/smokeping/smokeping-2.7.1.ebuild')
-rw-r--r--net-analyzer/smokeping/smokeping-2.7.1.ebuild147
1 files changed, 147 insertions, 0 deletions
diff --git a/net-analyzer/smokeping/smokeping-2.7.1.ebuild b/net-analyzer/smokeping/smokeping-2.7.1.ebuild
new file mode 100644
index 000000000000..7f9baf701feb
--- /dev/null
+++ b/net-analyzer/smokeping/smokeping-2.7.1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils multilib user systemd
+
+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 ~x86"
+
+IUSE="apache2 curl dig echoping ipv6 radius"
+
+DEPEND="
+ >=dev-lang/perl-5.8.8-r8
+ >=dev-perl/SNMP_Session-1.13
+ >=net-analyzer/fping-2.4_beta2-r2[suid]
+ >=net-analyzer/rrdtool-1.2[graph,perl]
+ dev-perl/CGI
+ dev-perl/CGI-Session
+ dev-perl/Config-Grammar
+ dev-perl/Digest-HMAC
+ dev-perl/FCGI
+ dev-perl/IO-Socket-SSL
+ dev-perl/IO-Tty
+ dev-perl/Net-DNS
+ dev-perl/Net-OpenSSH
+ dev-perl/Net-SNMP
+ dev-perl/Net-Telnet
+ dev-perl/libwww-perl
+ dev-perl/perl-ldap
+ virtual/perl-libnet
+ || ( dev-perl/CGI-Fast <dev-perl/CGI-4 )
+ !apache2? ( virtual/httpd-cgi )
+ apache2? (
+ >=www-apache/mod_perl-2.0.1
+ www-apache/mod_fcgid
+ )
+ curl? ( >=net-misc/curl-7.21.4 )
+ dig? ( net-dns/bind-tools )
+ echoping? ( >=net-analyzer/echoping-6.0.2 )
+ ipv6? ( >=dev-perl/Socket6-0.20 )
+ radius? ( dev-perl/Authen-Radius )
+"
+
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ enewgroup smokeping
+ enewuser smokeping -1 -1 /var/lib/smokeping smokeping
+}
+
+src_prepare() {
+ default
+
+ sed -i -e '/^SUBDIRS = / s|thirdparty||g' Makefile.am || die
+ sed -i -e '/^perllibdir = / s|= .*|= $(libdir)|g' lib/Makefile.am || die
+ rm -r lib/{BER.pm,SNMP_Session.pm,SNMP_util.pm} || die # dev-perl/SNMP_Session
+ echo ${PV} > VERSION
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --sysconfdir=/etc/smokeping \
+ --with-htdocs-dir=/var/www/localhost/smokeping
+}
+
+src_compile() {
+ LC_ALL=C emake
+}
+
+src_install() {
+ dodir /usr/$(get_libdir)
+ default
+
+ newinitd "${FILESDIR}"/${PN}.init.5 ${PN}
+ systemd_dotmpfilesd "${FILESDIR}"/"${PN}".conf
+ systemd_dounit "${FILESDIR}"/"${PN}".service
+
+ mv "${D}/etc/smokeping/basepage.html.dist" "${D}/etc/smokeping/basepage.html"
+ mv "${D}/etc/smokeping/config.dist" "${D}/etc/smokeping/config"
+ mv "${D}/etc/smokeping/smokemail.dist" "${D}/etc/smokeping/smokemail"
+ mv "${D}/etc/smokeping/smokeping_secrets.dist" "${D}/etc/smokeping/smokeping_secrets"
+ mv "${D}/etc/smokeping/tmail.dist" "${D}/etc/smokeping/tmail"
+
+ sed -i \
+ -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 /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:}' \
+ "${D}/etc/${PN}/config" || die
+
+ sed -i \
+ -e '/^<script/{s:cropper/:/cropper/:}' \
+ "${D}/etc/${PN}/basepage.html" || die
+
+ sed -i \
+ -e 's/$FindBin::Bin\/..\/etc\/config/\/etc\/smokeping\/config/g' \
+ "${D}/usr/bin/smokeping" "${D}/usr/bin/smokeping_cgi" || die
+
+ sed -i \
+ -e 's:etc/config.dist:/etc/smokeping/config:' \
+ "${D}/usr/bin/tSmoke" || die
+
+ sed -i \
+ -e 's:/usr/etc/config:/etc/smokeping/config:' \
+ "${D}/var/www/localhost/smokeping/smokeping.fcgi.dist" || die
+
+ dodir /var/www/localhost/cgi-bin
+ mv "${D}/var/www/localhost/smokeping/smokeping.fcgi.dist" \
+ "${D}/var/www/localhost/cgi-bin/smokeping.fcgi"
+
+ fperms 700 /etc/${PN}/smokeping_secrets
+
+ if use apache2 ; then
+ insinto /etc/apache2/modules.d
+ doins "${FILESDIR}/79_${PN}.conf"
+ 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
+ fowners -R apache:apache /var/www
+ else
+ fowners smokeping:smokeping /var/lib/${PN}/.simg
+ fi
+
+ fperms 775 /var/lib/${PN} /var/lib/${PN}/.simg
+}
+
+pkg_postinst() {
+ chown smokeping:smokeping "${ROOT}/var/lib/${PN}"
+ chmod 755 "${ROOT}/var/lib/${PN}"
+}