summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/netperf')
-rw-r--r--net-analyzer/netperf/files/netperf-2.7.0-init23
-rw-r--r--net-analyzer/netperf/files/netperf-2.7.0-space.patch17
-rw-r--r--net-analyzer/netperf/metadata.xml11
-rw-r--r--net-analyzer/netperf/netperf-2.7.0-r1.ebuild76
4 files changed, 127 insertions, 0 deletions
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
index 000000000000..3d1bb0c15973
--- /dev/null
+++ b/net-analyzer/netperf/files/netperf-2.7.0-init
@@ -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
index 000000000000..9ad43270b166
--- /dev/null
+++ b/net-analyzer/netperf/files/netperf-2.7.0-space.patch
@@ -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)
diff --git a/net-analyzer/netperf/metadata.xml b/net-analyzer/netperf/metadata.xml
index e00d4434a1fd..8b0f12738e3f 100644
--- a/net-analyzer/netperf/metadata.xml
+++ b/net-analyzer/netperf/metadata.xml
@@ -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
index 000000000000..8f70f669997c
--- /dev/null
+++ b/net-analyzer/netperf/netperf-2.7.0-r1.ebuild
@@ -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
+}