netperf: import from oe-classic and upgrade to 2.6.0

Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
This commit is contained in:
xin.ouyang@windriver.com 2012-11-12 09:39:46 +00:00 committed by Joe MacDonald
parent 5955e22f6e
commit b69b6e04f1
4 changed files with 207 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"