net-analyzer/netperf: Fix permissions on debug output file (bug #389975).
authorJeroen Roovers <jer@gentoo.org>
Tue, 9 Aug 2016 08:41:00 +0000 (10:41 +0200)
committerJeroen Roovers <jer@gentoo.org>
Tue, 9 Aug 2016 08:41:23 +0000 (10:41 +0200)
Package-Manager: portage-2.3.0

net-analyzer/netperf/files/netperf-2.7.0-init [new file with mode: 0644]
net-analyzer/netperf/files/netperf-2.7.0-space.patch [new file with mode: 0644]
net-analyzer/netperf/metadata.xml
net-analyzer/netperf/netperf-2.7.0-r1.ebuild [new file with mode: 0644]

diff --git a/net-analyzer/netperf/files/netperf-2.7.0-init b/net-analyzer/netperf/files/netperf-2.7.0-init
new file mode 100644 (file)
index 0000000..3d1bb0c
--- /dev/null
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+#
+# init.d script for net-analyzer/netperf's netserver
+#
+
+depend() {
+       use net
+}
+
+start() {
+       checkpath -o netperf:netperf -d /var/log/netperf
+
+       ebegin 'Starting netperf server (netserver)'
+       start-stop-daemon --start --user netperf \
+               --exec /usr/sbin/netserver -- ${NETSERVER_ARGS}
+       eend $?
+}
+
+stop() {
+       ebegin 'Stopping netperf server (netserver)'
+       start-stop-daemon --stop --quiet --exec /usr/sbin/netserver
+       eend $?
+}
diff --git a/net-analyzer/netperf/files/netperf-2.7.0-space.patch b/net-analyzer/netperf/files/netperf-2.7.0-space.patch
new file mode 100644 (file)
index 0000000..9ad4327
--- /dev/null
@@ -0,0 +1,17 @@
+--- a/src/netserver.c
++++ b/src/netserver.c
+@@ -165,12 +165,12 @@
+ #elif defined(ANDROID)
+ #define DEBUG_LOG_FILE_DIR "/data/local/tmp/"
+ #else
+-#define DEBUG_LOG_FILE_DIR "/var/log/"
++#define DEBUG_LOG_FILE_DIR "/var/log/netperf/"
+ #endif
+ #endif /* DEBUG_LOG_FILE_DIR */
+ 
+ #ifndef DEBUG_LOG_FILE
+-#define DEBUG_LOG_FILE DEBUG_LOG_FILE_DIR"netserver.debug"
++#define DEBUG_LOG_FILE DEBUG_LOG_FILE_DIR "/netserver.debug"
+ #endif
+ 
+ #if !defined(PATH_MAX)
index e00d4434a1fd3b3a15d91845f8efb9e0f9be7f65..8b0f12738e3f6f767f3588dbe8f353c5ebcb5c74 100644 (file)
@@ -5,6 +5,17 @@
 <email>netmon@gentoo.org</email>
 <name>Gentoo network monitoring and analysis project</name>
 </maintainer>
+<longdescription lang="en">
+Netperf is a benchmark that can be used to measure the performance of many
+different types of networking. It provides tests for both unidirectional
+throughput, and end-to-end latency. The environments currently measureable by
+netperf include:
+
+ - TCP and UDP via BSD Sockets for both IPv4 and IPv6
+ - DLPI
+ - Unix Domain Sockets
+ - SCTP for both IPv4 and IPv6
+</longdescription>
 <use>
 <flag name="demo">Emit interim results during the run. May affect results</flag>
 </use>
diff --git a/net-analyzer/netperf/netperf-2.7.0-r1.ebuild b/net-analyzer/netperf/netperf-2.7.0-r1.ebuild
new file mode 100644 (file)
index 0000000..8f70f66
--- /dev/null
@@ -0,0 +1,76 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit eutils flag-o-matic user
+
+DESCRIPTION="Network performance benchmark"
+SRC_URI="ftp://ftp.netperf.org/${PN}/${P}.tar.bz2"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+HOMEPAGE="http://www.netperf.org/"
+LICENSE="netperf"
+SLOT="0"
+IUSE="demo sctp"
+
+DEPEND=">=sys-apps/sed-4"
+
+pkg_setup() {
+       enewuser netperf
+       enewgroup netperf
+}
+
+src_prepare() {
+       eapply \
+               "${FILESDIR}"/${PN}-fix-scripts.patch \
+               "${FILESDIR}"/${PN}-2.6.0-log-dir.patch \
+               "${FILESDIR}"/${PN}-2.7.0-includes.patch \
+               "${FILESDIR}"/${PN}-2.7.0-space.patch
+
+       # Fixing paths in scripts
+       sed -i \
+               -e 's:^\(NETHOME=\).*:\1"/usr/bin":' \
+               doc/examples/sctp_stream_script \
+               doc/examples/tcp_range_script \
+               doc/examples/tcp_rr_script \
+               doc/examples/tcp_stream_script \
+               doc/examples/udp_rr_script \
+               doc/examples/udp_stream_script \
+               || die
+
+       # netlib.c:2292:5: warning: implicit declaration of function ‘sched_setaffinity’
+       # nettest_omni.c:2943:5: warning: implicit declaration of function ‘splice’
+       append-cppflags -D_GNU_SOURCE
+
+       eapply_user
+}
+
+src_configure() {
+       econf \
+               $(use_enable demo) \
+               $(use_enable sctp)
+}
+
+src_install () {
+       default
+
+       # move netserver into sbin as we had it before 2.4 was released with its
+       # autoconf goodness
+       dodir /usr/sbin
+       mv "${D}"/usr/{bin,sbin}/netserver || die
+
+       # init.d / conf.d
+       newinitd "${FILESDIR}"/${PN}-2.7.0-init netperf
+       newconfd "${FILESDIR}"/${PN}-2.2-conf netperf
+
+       keepdir /var/log/${PN}
+       fowners netperf:netperf /var/log/${PN}
+       fperms 0755 /var/log/${PN}
+
+       # documentation and example scripts
+       dodoc AUTHORS ChangeLog NEWS README Release_Notes
+       dodir /usr/share/doc/${PF}/examples
+       #Scripts no longer get installed by einstall
+       cp doc/examples/*_script "${D}"/usr/share/doc/${PF}/examples || die
+}