aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking
diff options
context:
space:
mode:
authorxin.ouyang@windriver.com <xin.ouyang@windriver.com>2012-11-12 09:39:46 +0000
committerJoe MacDonald <joe.macdonald@windriver.com>2012-11-19 11:18:30 -0500
commitb69b6e04f12b2fc45a3ebac8c741bda41fea6409 (patch)
treef91300ff9c5c6b506a20d1eb7a46633bf79c6fc1 /meta-networking
parent5955e22f6ecf0196a129c27641c6d85820f8b962 (diff)
downloadmeta-openembedded-b69b6e04f12b2fc45a3ebac8c741bda41fea6409.tar.gz
netperf: import from oe-classic and upgrade to 2.6.0
Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
Diffstat (limited to 'meta-networking')
-rw-r--r--meta-networking/recipes-support/netperf/files/cpu_set.patch30
-rw-r--r--meta-networking/recipes-support/netperf/files/init62
-rw-r--r--meta-networking/recipes-support/netperf/files/vfork.patch58
-rw-r--r--meta-networking/recipes-support/netperf/netperf_2.6.0.bb57
4 files changed, 207 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/netperf/files/cpu_set.patch b/meta-networking/recipes-support/netperf/files/cpu_set.patch
new file mode 100644
index 0000000000..434b790499
--- /dev/null
+++ b/meta-networking/recipes-support/netperf/files/cpu_set.patch
@@ -0,0 +1,30 @@
+Subject: [PATCH] netperf: fix CPU_SETSIZE to build with eglibc
+
+Upstream-Status: Pending
+
+Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
+---
+ src/netlib.c | 7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/src/netlib.c b/src/netlib.c
+index 206e002..e33aae6 100644
+--- a/src/netlib.c
++++ b/src/netlib.c
+@@ -2265,7 +2265,12 @@ bind_to_specific_processor(int processor_affinity, int use_cpu_map)
+ fall-back on what we had before, which is to use just the size of
+ an unsigned long. raj 2006-09-14 */
+
+-#if defined(__CPU_SETSIZE)
++#if defined(CPU_SETSIZE)
++#define NETPERF_CPU_SETSIZE CPU_SETSIZE
++#define NETPERF_CPU_SET(cpu, cpusetp) CPU_SET(cpu, cpusetp)
++#define NETPERF_CPU_ZERO(cpusetp) CPU_ZERO (cpusetp)
++ typedef cpu_set_t netperf_cpu_set_t;
++#elif defined(__CPU_SETSIZE)
+ #define NETPERF_CPU_SETSIZE __CPU_SETSIZE
+ #if defined(__CPU_SET_S)
+ #define NETPERF_CPU_SET(cpu, cpusetp) __CPU_SET_S(cpu, sizeof (cpu_set_t), cpusetp)
+--
+1.7.1.1
+
diff --git a/meta-networking/recipes-support/netperf/files/init b/meta-networking/recipes-support/netperf/files/init
new file mode 100644
index 0000000000..8ba2a63731
--- /dev/null
+++ b/meta-networking/recipes-support/netperf/files/init
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+#
+# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+# Modified for Debian GNU/Linux by Ian Murdock <imurdock@gnu.org>.
+# Modified for Debian by Christoph Lameter <clameter@debian.org>
+# Modified for openembedded by Bruno Randolf <bruno.randolf@4g-systems.biz>
+
+### BEGIN INIT INFO
+# Provides: netperf
+# Required-Start: $remote_fs $local_fs $time
+# Required-Stop: $remote_fs $local_fs $time
+# Should-Start: $network $named
+# Should-Stop: $network $named
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: network benchmark
+### END INIT INFO
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/netserver
+
+test -f $DAEMON || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting network benchmark server: netserver"
+ start-stop-daemon -S -x $DAEMON > /dev/null 2>&1
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping network benchmark server: netserver"
+ start-stop-daemon -K -x $DAEMON
+ echo "."
+ ;;
+ #reload)
+ #
+ # If the daemon can reload its config files on the fly
+ # for example by sending it SIGHUP, do it here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this a do-nothing entry.
+ #
+ # start-stop-daemon --stop --signal 1 --verbose --exec $DAEMON
+ # ;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ start-stop-daemon -K -x $DAEMON
+ sleep 1
+ start-stop-daemon -S -x $DAEMON
+ ;;
+ *)
+ echo "Usage: /etc/init.d/netperf {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-support/netperf/files/vfork.patch b/meta-networking/recipes-support/netperf/files/vfork.patch
new file mode 100644
index 0000000000..eff98bfdee
--- /dev/null
+++ b/meta-networking/recipes-support/netperf/files/vfork.patch
@@ -0,0 +1,58 @@
+Subject: [PATCH] netperf: fix vfork/fork
+
+Upstream-Status: Pending
+
+Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
+---
+ src/netserver.c | 12 ++++++++++--
+ 1 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/netserver.c b/src/netserver.c
+index 379a106..f6a8b09 100644
+--- a/src/netserver.c
++++ b/src/netserver.c
+@@ -1020,7 +1020,7 @@ process_requests()
+ void
+ spawn_child() {
+
+-#if defined(HAVE_FORK)
++#if defined(HAVE_FORK) || defined(HAVE_VFORK)
+
+ if (debug) {
+ fprintf(where,
+@@ -1038,7 +1038,11 @@ spawn_child() {
+
+ signal(SIGCLD,SIG_IGN);
+
++#if defined(HAVE_FORK)
+ switch (fork()) {
++#else
++ switch (vfork()) {
++#endif
+ case -1:
+ fprintf(where,
+ "%s: fork() error %s (errno %d)\n",
+@@ -1405,7 +1409,7 @@ scan_netserver_args(int argc, char *argv[]) {
+
+ void
+ daemonize() {
+-#if defined(HAVE_FORK)
++#if defined(HAVE_FORK) || defined(HAVE_VFORK)
+
+ if (debug) {
+ fprintf(where,
+@@ -1419,7 +1423,11 @@ daemonize() {
+ fflush(stdout);
+ fflush(stderr);
+
++#if defined(HAVE_FORK)
+ switch (fork()) {
++#else
++ switch (vfork()) {
++#endif
+ case -1:
+ fprintf(stderr,
+ "%s: fork() error %s (errno %d)\n",
+--
+1.7.1.1
+
diff --git a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
new file mode 100644
index 0000000000..2c30951d4e
--- /dev/null
+++ b/meta-networking/recipes-support/netperf/netperf_2.6.0.bb
@@ -0,0 +1,57 @@
+SUMMARY = "A networking benchmarking tool"
+DESCRIPTION = "Network performance benchmark including tests for TCP, UDP, sockets, ATM and more."
+SECTION = "console/network"
+HOMEPAGE = "http://www.netperf.org/"
+LICENSE = "netperf"
+LICENSE_FLAGS = "commercial"
+
+PR = "r0"
+
+SRC_URI="ftp://ftp.netperf.org/netperf/netperf-${PV}.tar.bz2 \
+ file://cpu_set.patch \
+ file://vfork.patch \
+ file://init"
+SRC_URI[md5sum] = "9654ffdfd4c4f2c93ce3733cd9ed9236"
+SRC_URI[sha256sum] = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a0ab17253e7a3f318da85382c7d5d5d6"
+
+inherit update-rc.d autotools
+
+S = "${WORKDIR}/netperf-${PV}"
+
+# cpu_set.patch plus _GNU_SOURCE makes src/netlib.c compile with CPU_ macros
+CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE"
+
+# autotools.bbclass attends to include m4 files with path depth <= 2 by
+# "find ${S} -maxdepth 2 -name \*.m4", so move m4 files from m4/m4.
+do_configure_prepend() {
+ test -d m4/m4 && mv -f m4/m4 m4-files
+}
+
+do_install() {
+ sed -e 's#/usr/sbin/#${sbindir}/#g' -i ${WORKDIR}/init
+
+ install -d ${D}${sbindir} ${D}${bindir} ${D}${sysconfdir}/init.d
+ install -m 4755 src/netperf ${D}${bindir}
+ install -m 4755 src/netserver ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/netperf
+
+ # man
+ install -d ${D}${mandir}/man1/
+ install -m 0644 doc/netserver.man ${D}${mandir}/man1/netserver.1
+ install -m 0644 doc/netperf.man ${D}${mandir}/man1/netperf.1
+
+ # move scripts to examples directory
+ install -d ${D}${docdir}/netperf/examples
+ install -m 0644 doc/examples/*_script ${D}${docdir}/netperf/examples/
+
+ # docs ..
+ install -m 0644 COPYING ${D}${docdir}/netperf
+ install -m 0644 Release_Notes ${D}${docdir}/netperf
+ install -m 0644 README ${D}${docdir}/netperf
+ install -m 0644 doc/netperf_old.ps ${D}${docdir}/netperf
+}
+
+INITSCRIPT_NAME="netperf"
+INITSCRIPT_PARAMS="defaults"