net-analyzer/smokeping: Import from ::gentoo
Package-Manager: Portage-3.0.20, Repoman-3.0.2 Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr>
This commit is contained in:
parent
95cbc04fc8
commit
1bc15a6271
1
net-analyzer/smokeping/Manifest
Normal file
1
net-analyzer/smokeping/Manifest
Normal file
|
@ -0,0 +1 @@
|
|||
DIST smokeping-2.7.3.tar.gz 6614710 BLAKE2B 7fa10c19487427a3092a1e5591422cb37f66a6eab86b8b43eebbc8af441d5426b99f3c7b54040660f6f150ade99b1ea2555b4fcd6f80d8306d6f86ac9f95974e SHA512 d46d61539ffdd9cac41391aa813364260f90f84443c328b1c9233ab6ba3a0c157861694614e6c33e18b153f6a6afc0769c5fc7752b3ab52f114d984e53232830
|
15
net-analyzer/smokeping/files/79_smokeping.conf
Normal file
15
net-analyzer/smokeping/files/79_smokeping.conf
Normal file
|
@ -0,0 +1,15 @@
|
|||
###
|
||||
### Setup the smokeping image cache and perl cgi script
|
||||
###
|
||||
<IfModule mod_alias.c>
|
||||
Alias "/.simg/" "/var/lib/smokeping/.simg/"
|
||||
<IfModule mod_perl.c>
|
||||
<Directory "/var/lib/smokeping/.simg/">
|
||||
Options -Indexes MultiViews
|
||||
AllowOverride None
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Allow from 127.0.0.1
|
||||
</Directory>
|
||||
</IfModule>
|
||||
</IfModule>
|
1
net-analyzer/smokeping/files/smokeping.conf
Normal file
1
net-analyzer/smokeping/files/smokeping.conf
Normal file
|
@ -0,0 +1 @@
|
|||
d /run/smokeping 0755 root root
|
56
net-analyzer/smokeping/files/smokeping.init.5
Normal file
56
net-analyzer/smokeping/files/smokeping.init.5
Normal file
|
@ -0,0 +1,56 @@
|
|||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
command="/usr/bin/smokeping"
|
||||
command_args="--nodaemon"
|
||||
command_background="true"
|
||||
command_user="smokeping:smokeping"
|
||||
pidfile="/run/${RC_SVCNAME}.pid"
|
||||
extra_started_commands="dump reload restore"
|
||||
required_files="/etc/smokeping/config"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use dns
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
export LC_ALL=C
|
||||
}
|
||||
|
||||
reload() {
|
||||
ebegin "Reloading smokeping"
|
||||
"${command}" --reload 2>&1 >/dev/null
|
||||
eend $?
|
||||
}
|
||||
|
||||
dump() {
|
||||
ebegin "Dumping smokeping rrd files to XML for backup or upgrade use"
|
||||
if service_started "${myservice}" ; then
|
||||
eerror "You need to stop smokeping before dumping files!"
|
||||
return 1
|
||||
fi
|
||||
for f in $(find /var/lib/smokeping -name '*.rrd' -print) ; do
|
||||
f_xml=$(dirname $f)/$(basename $f .rrd).xml
|
||||
rrdtool dump "$f" > "${f_xml}"
|
||||
chown root:0 "${f_xml}"
|
||||
done
|
||||
eend $?
|
||||
}
|
||||
|
||||
restore() {
|
||||
ebegin "Restoring smokeping rrd files from XML dump files"
|
||||
if service_started "${myservice}" ; then
|
||||
eerror "You need to stop smokeping before restoring files!"
|
||||
return 1
|
||||
fi
|
||||
for f in $(find /var/lib/smokeping -name '*.xml' -print) ; do
|
||||
f_rrd=$(dirname $f)/$(basename $f .xml).rrd
|
||||
mv -f "${f_rrd}" "${f_rrd}.bak"
|
||||
chown root:0 "${f_rrd}.bak"
|
||||
rrdtool restore "$f" "${f_rrd}"
|
||||
chown smokeping:smokeping "${f_rrd}"
|
||||
done
|
||||
eend $?
|
||||
}
|
10
net-analyzer/smokeping/files/smokeping.service
Normal file
10
net-analyzer/smokeping/files/smokeping.service
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Description=Latency Logging and Graphing System
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/smokeping --nodaemon
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
12
net-analyzer/smokeping/metadata.xml
Normal file
12
net-analyzer/smokeping/metadata.xml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>netmon@gentoo.org</email>
|
||||
<name>Gentoo network monitoring and analysis project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="dig">Install <pkg>net-dns/bind-tools</pkg> for dig functionality</flag>
|
||||
<flag name="echoping">Install <pkg>net-analyzer/echoping</pkg> for echoping functionality</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
143
net-analyzer/smokeping/smokeping-2.7.3-r1.ebuild
Normal file
143
net-analyzer/smokeping/smokeping-2.7.3-r1.ebuild
Normal file
|
@ -0,0 +1,143 @@
|
|||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools systemd tmpfiles
|
||||
|
||||
DESCRIPTION="A powerful latency measurement tool"
|
||||
HOMEPAGE="https://oss.oetiker.ch/smokeping/"
|
||||
SRC_URI="https://oss.oetiker.ch/smokeping/pub/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="apache2 curl dig echoping ipv6 radius"
|
||||
|
||||
DEPEND="
|
||||
acct-group/smokeping
|
||||
acct-user/smokeping
|
||||
>=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
|
||||
!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}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i -e '/^SUBDIRS = / s|thirdparty||g' Makefile.am || die
|
||||
sed -i -e '/^perllibdir = / s|= .*|= $(libdir)|g' lib/Makefile.am || die
|
||||
# bundled(?) dev-perl/SNMP_Session
|
||||
rm -r lib/{BER.pm,SNMP_Session.pm,SNMP_util.pm} || die
|
||||
echo ${PV} > VERSION || die
|
||||
|
||||
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}
|
||||
dotmpfiles "${FILESDIR}"/${PN}.conf
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service
|
||||
|
||||
mv "${ED}/etc/smokeping/basepage.html.dist" "${ED}/etc/smokeping/basepage.html" || die
|
||||
mv "${ED}/etc/smokeping/config.dist" "${ED}/etc/smokeping/config" || die
|
||||
mv "${ED}/etc/smokeping/smokemail.dist" "${ED}/etc/smokeping/smokemail" || die
|
||||
mv "${ED}/etc/smokeping/smokeping_secrets.dist" "${ED}/etc/smokeping/smokeping_secrets" || die
|
||||
mv "${ED}/etc/smokeping/tmail.dist" "${ED}/etc/smokeping/tmail" || die
|
||||
|
||||
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:}' \
|
||||
"${ED}/etc/${PN}/config" || die
|
||||
|
||||
sed -i \
|
||||
-e '/^<script/{s:cropper/:/cropper/:}' \
|
||||
"${ED}/etc/${PN}/basepage.html" || die
|
||||
|
||||
sed -i \
|
||||
-e 's/$FindBin::RealBin\/..\/etc\/config/\/etc\/smokeping\/config/g' \
|
||||
"${ED}/usr/bin/smokeping" "${ED}/usr/bin/smokeping_cgi" || die
|
||||
|
||||
sed -i \
|
||||
-e 's:etc/config.dist:/etc/smokeping/config:' \
|
||||
"${ED}/usr/bin/tSmoke" || die
|
||||
|
||||
sed -i \
|
||||
-e 's:/usr/etc/config:/etc/smokeping/config:' \
|
||||
"${ED}/var/www/localhost/smokeping/smokeping.fcgi.dist" || die
|
||||
|
||||
dodir /var/www/localhost/cgi-bin
|
||||
mv "${ED}/var/www/localhost/smokeping/smokeping.fcgi.dist" \
|
||||
"${ED}/var/www/localhost/cgi-bin/smokeping.fcgi" || die
|
||||
|
||||
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() {
|
||||
tmpfiles_process ${PN}.conf
|
||||
}
|
Loading…
Reference in a new issue