On Mon, Jan 05, 2015 at 10:23:48AM -0600, Ben Shelton wrote: > 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: > > - Per feedback on the mailing list, remove the AUTOINC git version of > the recipe, and merge the .bb and .inc files.
This "review" comments belong bellow --- line (so not included in final commit message). > - 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. > > Upstream-Status: Pending [[email protected]] This belongs into individual .patch files (which should also have some explanation and Signed-off-by lines. > Signed-off-by: Ben Shelton <[email protected]> > --- > .../iperf3/files/automake-foreign.patch | 12 +++ > .../iperf3/files/fix-examples.patch | 98 > ++++++++++++++++++++++ Please files -> iperf3 for slightly faster lookup. > meta-oe/recipes-benchmark/iperf3/iperf3_3.0.10.bb | 26 ++++++ > 3 files changed, 136 insertions(+) > create mode 100644 > meta-oe/recipes-benchmark/iperf3/files/automake-foreign.patch > create mode 100644 meta-oe/recipes-benchmark/iperf3/files/fix-examples.patch > create mode 100644 meta-oe/recipes-benchmark/iperf3/iperf3_3.0.10.bb > > diff --git a/meta-oe/recipes-benchmark/iperf3/files/automake-foreign.patch > b/meta-oe/recipes-benchmark/iperf3/files/automake-foreign.patch > new file mode 100644 > index 0000000..07d8b49 > --- /dev/null > +++ b/meta-oe/recipes-benchmark/iperf3/files/automake-foreign.patch > @@ -0,0 +1,12 @@ > +diff -rupN iperf-3.0.10.old/configure.ac iperf-3.0.10/configure.ac > +--- iperf-3.0.10.old/configure.ac 2014-12-16 13:39:58.000000000 -0600 > ++++ iperf-3.0.10/configure.ac 2014-12-29 15:09:27.534992643 -0600 > +@@ -32,7 +32,7 @@ AC_CONFIG_AUX_DIR(config) > + > + > + # Initialize the automake system > +-AM_INIT_AUTOMAKE > ++AM_INIT_AUTOMAKE([foreign]) > + > + AM_MAINTAINER_MODE > + AM_CONFIG_HEADER(src/config.h) > diff --git a/meta-oe/recipes-benchmark/iperf3/files/fix-examples.patch > b/meta-oe/recipes-benchmark/iperf3/files/fix-examples.patch > new file mode 100644 > index 0000000..db5a37e > --- /dev/null > +++ b/meta-oe/recipes-benchmark/iperf3/files/fix-examples.patch > @@ -0,0 +1,98 @@ > +diff -rupN iperf-3.0.10.old/examples/Makefile.am > iperf-3.0.10/examples/Makefile.am > +--- iperf-3.0.10.old/examples/Makefile.am 2014-12-16 13:39:58.000000000 > -0600 > ++++ iperf-3.0.10/examples/Makefile.am 2014-12-29 17:12:02.238979626 > -0600 > +@@ -2,11 +2,13 @@ noinst_PROGRAMS = mic mis # > Build, but > + > + mic_SOURCES = mic.c > + mic_CFLAGS = -g > +-mic_LDADD = ../src/libiperf.la > ++mic_LDADD = $(top_builddir)/src/libiperf.la > + mic_LDFLAGS = -g > ++mic_CPPFLAGS = -I$(top_srcdir)/src > + > + mis_SOURCES = mis.c > + mis_CFLAGS = -g > +-mis_LDADD = ../src/libiperf.la > ++mis_LDADD = $(top_builddir)/src/libiperf.la > + mis_LDFLAGS = -g > ++mis_CPPFLAGS = -I$(top_srcdir)/src > + > +diff -rupN iperf-3.0.10.old/examples/Makefile.in > iperf-3.0.10/examples/Makefile.in > +--- iperf-3.0.10.old/examples/Makefile.in 2014-12-16 13:39:58.000000000 > -0600 > ++++ iperf-3.0.10/examples/Makefile.in 2014-12-29 17:12:07.518979616 > -0600 > +@@ -94,7 +94,7 @@ CONFIG_CLEAN_VPATH_FILES = > + PROGRAMS = $(noinst_PROGRAMS) > + am_mic_OBJECTS = mic-mic.$(OBJEXT) > + mic_OBJECTS = $(am_mic_OBJECTS) > +-mic_DEPENDENCIES = ../src/libiperf.la > ++mic_DEPENDENCIES = $(top_builddir)/src/libiperf.la > + AM_V_lt = $(am__v_lt_@AM_V@) > + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) > + am__v_lt_0 = --silent > +@@ -104,7 +104,7 @@ mic_LINK = $(LIBTOOL) $(AM_V_lt) --tag=C > + $(mic_LDFLAGS) $(LDFLAGS) -o $@ > + am_mis_OBJECTS = mis-mis.$(OBJEXT) > + mis_OBJECTS = $(am_mis_OBJECTS) > +-mis_DEPENDENCIES = ../src/libiperf.la > ++mis_DEPENDENCIES = $(top_builddir)/src/libiperf.la > + mis_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ > + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mis_CFLAGS) $(CFLAGS) \ > + $(mis_LDFLAGS) $(LDFLAGS) -o $@ > +@@ -286,12 +286,14 @@ top_builddir = @top_builddir@ > + top_srcdir = @top_srcdir@ > + mic_SOURCES = mic.c > + mic_CFLAGS = -g > +-mic_LDADD = ../src/libiperf.la > ++mic_LDADD = $(top_builddir)/src/libiperf.la > + mic_LDFLAGS = -g > ++mic_CPPFLAGS = -I$(top_srcdir)/src > + mis_SOURCES = mis.c > + mis_CFLAGS = -g > +-mis_LDADD = ../src/libiperf.la > ++mis_LDADD = $(top_builddir)/src/libiperf.la > + mis_LDFLAGS = -g > ++mis_CPPFLAGS = -I$(top_srcdir)/src > + all: all-am > + > + .SUFFIXES: > +@@ -375,32 +377,32 @@ distclean-compile: > + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< > + > + mic-mic.o: mic.c > +-@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 > ++@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 > + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo > $(DEPDIR)/mic-mic.Po > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' > object='mic-mic.o' libtool=no @AMDEPBACKSLASH@ > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) > $(depcomp) @AMDEPBACKSLASH@ > +-@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 > ++@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 > + > + mic-mic.obj: mic.c > +-@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` > ++@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` > + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mic-mic.Tpo > $(DEPDIR)/mic-mic.Po > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mic.c' > object='mic-mic.obj' libtool=no @AMDEPBACKSLASH@ > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) > $(depcomp) @AMDEPBACKSLASH@ > +-@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` > ++@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` > + > + mis-mis.o: mis.c > +-@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 > ++@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 > + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo > $(DEPDIR)/mis-mis.Po > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' > object='mis-mis.o' libtool=no @AMDEPBACKSLASH@ > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) > $(depcomp) @AMDEPBACKSLASH@ > +-@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 > ++@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 > + > + mis-mis.obj: mis.c > +-@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` > ++@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` > + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mis-mis.Tpo > $(DEPDIR)/mis-mis.Po > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mis.c' > object='mis-mis.obj' libtool=no @AMDEPBACKSLASH@ > + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) > $(depcomp) @AMDEPBACKSLASH@ > +-@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` > ++@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` > + > + mostlyclean-libtool: > + -rm -f *.lo > diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.0.10.bb > b/meta-oe/recipes-benchmark/iperf3/iperf3_3.0.10.bb > new file mode 100644 > index 0000000..c37f464 > --- /dev/null > +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_3.0.10.bb > @@ -0,0 +1,26 @@ > +SUMMARY = "Network benchmark tool" > +DESCRIPTION = "\ > +iperf is a tool for active measurements of the maximum achievable bandwidth \ > +on IP networks. It supports tuning of various parameters related to timing, \ > +protocols, and buffers. For each test it reports the bandwidth, loss, and \ > +other parameters." > +HOMEPAGE = "http://software.es.net/iperf/" > +SECTION = "console/network" > +BUGTRACKER = "https://github.com/esnet/iperf/issues" > +AUTHOR = "ESNET <[email protected]>, Lawrence Berkeley National Laboratory > <[email protected]>" > +LICENSE = "BSD" > +LIC_FILES_CHKSUM = "file://LICENSE;md5=ab59a0c3a4bc3954d1ece68ea19d77a4" > + > +BRANCH = "master" This variable doesn't seem to be used anywhere. > +SRC_URI = "\ > + git://github.com/esnet/iperf.git;branch=3.0-STABLE \ > + file://automake-foreign.patch \ > + file://fix-examples.patch \ > + " Please use 4 spaces for indentation and closing quote as first character on separate line. > + > +SRCREV = "de420cc741dd8967ebc57f80b7712556442de81b" Does this SRCREV point to 3.0.10 tag? I would still prefer the recipe to be named iperf3_git.bb and set PV = "3.0.10+gitr${SRCPV}" inside to prevent people accidentally bumping SRCREV without updating PV to reflect that. > +S = "${WORKDIR}/git" > + > +inherit autotools > + > -- > 2.2.1 > > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-devel -- Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
