summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Shelton <ben.shelton@ni.com>2015-01-05 11:39:45 -0600
committerMartin Jansa <Martin.Jansa@gmail.com>2015-01-08 11:58:44 +0100
commit3a4ea266eb056a2800d9d855cddcd326b4622d22 (patch)
tree04fd00f1ff78ca58579e83895ad9f3950ede42af
parentbb48a41dca7bd9db421f834437ed4562f6707ee3 (diff)
downloadmeta-openembedded-3a4ea266eb056a2800d9d855cddcd326b4622d22.tar.gz
iperf3: Add recipe for version 3.0.10
iperf3 is the new successor of iperf. The project is now mature enough as it started in 2009 and has stable releases. It supports reporting results in the portable JSON format, provides more information than iperf does and also adds some features from other tools such as nuttcp and netperf that were missing from the original iperf. This recipe is based on the iperf v3.0.8 recipe posted to the list by Guy Morand (http://lists.openembedded.org/pipermail/openembedded-devel/2014-October/098403.html) with the following changes: - Pass the 'foreign' option to automake. - The Makefiles for the examples only work properly when the build is done in the same directory as the source. Fix this in Makefile.am and run bootstrap.sh to regenerate Makefile.in. - Bump the version to the latest stable release. Signed-off-by: Ben Shelton <ben.shelton@ni.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch19
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch107
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3_git.bb25
3 files changed, 151 insertions, 0 deletions
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
new file mode 100644
index 000000000..a27b61e01
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
@@ -0,0 +1,19 @@
1Pass the 'foreign' option to automake to enable iperf3 to build.
2
3Upstream-Status: Inappropriate [configuration]
4
5Signed-off-by: Ben Shelton <ben.shelton@ni.com>
6---
7
8diff -rupN iperf-3.0.10.old/configure.ac iperf-3.0.10/configure.ac
9--- iperf-3.0.10.old/configure.ac 2014-12-16 13:39:58.000000000 -0600
10+++ iperf-3.0.10/configure.ac 2014-12-29 15:09:27.534992643 -0600
11@@ -32,7 +32,7 @@ AC_CONFIG_AUX_DIR(config)
12
13
14 # Initialize the automake system
15-AM_INIT_AUTOMAKE
16+AM_INIT_AUTOMAKE([foreign])
17
18 AM_MAINTAINER_MODE
19 AM_CONFIG_HEADER(src/config.h)
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch
new file mode 100644
index 000000000..445570dd4
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3/fix-examples.patch
@@ -0,0 +1,107 @@
1The Makefiles for the examples only work properly when the build is
2done in the same directory as the source. Fix this in Makefile.am and
3run bootstrap.sh to regenerate Makefile.in.
4
5Upstream-Status: Pending [iperf-dev@googlegroups.com]
6
7Signed-off-by: Ben Shelton <ben.shelton@ni.com>
8---
9
10diff -rupN iperf-3.0.10.old/examples/Makefile.am iperf-3.0.10/examples/Makefile.am
11--- iperf-3.0.10.old/examples/Makefile.am 2014-12-16 13:39:58.000000000 -0600
12+++ iperf-3.0.10/examples/Makefile.am 2014-12-29 17:12:02.238979626 -0600
13@@ -2,11 +2,13 @@ noinst_PROGRAMS = mic mis # Build, but
14
15 mic_SOURCES = mic.c
16 mic_CFLAGS = -g
17-mic_LDADD = ../src/libiperf.la
18+mic_LDADD = $(top_builddir)/src/libiperf.la
19 mic_LDFLAGS = -g
20+mic_CPPFLAGS = -I$(top_srcdir)/src
21
22 mis_SOURCES = mis.c
23 mis_CFLAGS = -g
24-mis_LDADD = ../src/libiperf.la
25+mis_LDADD = $(top_builddir)/src/libiperf.la
26 mis_LDFLAGS = -g
27+mis_CPPFLAGS = -I$(top_srcdir)/src
28
29diff -rupN iperf-3.0.10.old/examples/Makefile.in iperf-3.0.10/examples/Makefile.in
30--- iperf-3.0.10.old/examples/Makefile.in 2014-12-16 13:39:58.000000000 -0600
31+++ iperf-3.0.10/examples/Makefile.in 2014-12-29 17:12:07.518979616 -0600
32@@ -94,7 +94,7 @@ CONFIG_CLEAN_VPATH_FILES =
33 PROGRAMS = $(noinst_PROGRAMS)
34 am_mic_OBJECTS = mic-mic.$(OBJEXT)
35 mic_OBJECTS = $(am_mic_OBJECTS)
36-mic_DEPENDENCIES = ../src/libiperf.la
37+mic_DEPENDENCIES = $(top_builddir)/src/libiperf.la
38 AM_V_lt = $(am__v_lt_@AM_V@)
39 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
40 am__v_lt_0 = --silent
41@@ -104,7 +104,7 @@ mic_LINK = $(LIBTOOL) $(AM_V_lt) --tag=C
42 $(mic_LDFLAGS) $(LDFLAGS) -o $@
43 am_mis_OBJECTS = mis-mis.$(OBJEXT)
44 mis_OBJECTS = $(am_mis_OBJECTS)
45-mis_DEPENDENCIES = ../src/libiperf.la
46+mis_DEPENDENCIES = $(top_builddir)/src/libiperf.la
47 mis_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
48 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mis_CFLAGS) $(CFLAGS) \
49 $(mis_LDFLAGS) $(LDFLAGS) -o $@
50@@ -286,12 +286,14 @@ top_builddir = @top_builddir@
51 top_srcdir = @top_srcdir@
52 mic_SOURCES = mic.c
53 mic_CFLAGS = -g
54-mic_LDADD = ../src/libiperf.la
55+mic_LDADD = $(top_builddir)/src/libiperf.la
56 mic_LDFLAGS = -g
57+mic_CPPFLAGS = -I$(top_srcdir)/src
58 mis_SOURCES = mis.c
59 mis_CFLAGS = -g
60-mis_LDADD = ../src/libiperf.la
61+mis_LDADD = $(top_builddir)/src/libiperf.la
62 mis_LDFLAGS = -g
63+mis_CPPFLAGS = -I$(top_srcdir)/src
64 all: all-am
65
66 .SUFFIXES:
67@@ -375,32 +377,32 @@ distclean-compile:
68 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
69
70 mic-mic.o: mic.c
71-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
72+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.o -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
73 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po
74 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.o' libtool=no @AMDEPBACKSLASH@
75 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
76-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
77+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.o `test -f 'mic.c' || echo '$(srcdir)/'`mic.c
78
79 mic-mic.obj: mic.c
80-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
81+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -MT mic-mic.obj -MD -MP -MF $(DEPDIR)/mic-mic.Tpo -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
82 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo $(DEPDIR)/mic-mic.Po
83 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' object='mic-mic.obj' libtool=no @AMDEPBACKSLASH@
84 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
85-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
86+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mic_CPPFLAGS) $(CPPFLAGS) $(mic_CFLAGS) $(CFLAGS) -c -o mic-mic.obj `if test -f 'mic.c'; then $(CYGPATH_W) 'mic.c'; else $(CYGPATH_W) '$(srcdir)/mic.c'; fi`
87
88 mis-mis.o: mis.c
89-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
90+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.o -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
91 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po
92 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.o' libtool=no @AMDEPBACKSLASH@
93 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
94-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
95+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.o `test -f 'mis.c' || echo '$(srcdir)/'`mis.c
96
97 mis-mis.obj: mis.c
98-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
99+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -MT mis-mis.obj -MD -MP -MF $(DEPDIR)/mis-mis.Tpo -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
100 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo $(DEPDIR)/mis-mis.Po
101 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' object='mis-mis.obj' libtool=no @AMDEPBACKSLASH@
102 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
103-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
104+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mis_CPPFLAGS) $(CPPFLAGS) $(mis_CFLAGS) $(CFLAGS) -c -o mis-mis.obj `if test -f 'mis.c'; then $(CYGPATH_W) 'mis.c'; else $(CYGPATH_W) '$(srcdir)/mis.c'; fi`
105
106 mostlyclean-libtool:
107 -rm -f *.lo
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
new file mode 100644
index 000000000..d34eb693c
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3_git.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Network benchmark tool"
2DESCRIPTION = "\
3iperf is a tool for active measurements of the maximum achievable bandwidth \
4on IP networks. It supports tuning of various parameters related to timing, \
5protocols, and buffers. For each test it reports the bandwidth, loss, and \
6other parameters."
7HOMEPAGE = "http://software.es.net/iperf/"
8SECTION = "console/network"
9BUGTRACKER = "https://github.com/esnet/iperf/issues"
10AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
11LICENSE = "BSD"
12LIC_FILES_CHKSUM = "file://LICENSE;md5=ab59a0c3a4bc3954d1ece68ea19d77a4"
13
14SRC_URI = "\
15 git://github.com/esnet/iperf.git;branch=3.0-STABLE \
16 file://automake-foreign.patch \
17 file://fix-examples.patch \
18"
19
20PV = "3.0.10+gitr${SRCPV}"
21SRCREV = "de420cc741dd8967ebc57f80b7712556442de81b"
22
23S = "${WORKDIR}/git"
24
25inherit autotools