aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-support/tcpreplay
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-support/tcpreplay')
-rw-r--r--meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch51
-rw-r--r--meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch82
-rw-r--r--meta-networking/recipes-support/tcpreplay/tcpreplay/0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch45
-rw-r--r--meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb21
-rw-r--r--meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb28
5 files changed, 206 insertions, 21 deletions
diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch
new file mode 100644
index 0000000000..08cb3b88fa
--- /dev/null
+++ b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch
@@ -0,0 +1,51 @@
+From 42f7bbc1ce4913fe2c0bc76293c5445d31690f5d Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 7 Mar 2024 21:02:07 -0800
+Subject: [PATCH] configure.ac: do not run conftest in case of cross
+ compilation
+
+It'll give us nothing but error like below:
+
+ ./conftest: cannot execute binary file: Exec format error
+ ...
+ ./configure: line 23950: test: -eq: unary operator expected
+
+The version check only has effect on Apple systems. We'd better
+avoid error like above when cross compilation.
+
+Also, in case of cross compilation, instead of having the above
+Exec format error and resulting in unaligned_cv_fail to yes, set
+it directly to yes.
+
+Upstream-Status: Submitted [https://github.com/appneta/tcpreplay/pull/849]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 387219de..15201601 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -928,7 +928,7 @@ cat >conftest.c <<EOF
+ EOF
+ ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LPCAPLIB \
+ conftest.c $LIBS >/dev/null 2>&1
+-if test -x conftest ; then
++if test -x conftest -a "$cross_compiling" != "yes"; then
+ full_libpcap_version=$(LD_LIBRARY_PATH="$LPCAP_LD_LIBRARY_PATH" ./conftest)
+ libpcap_version=$(echo "$full_libpcap_version" | ${CUT} -d' ' -f3)
+ pcap_version_ok=yes
+@@ -1709,7 +1709,7 @@ case "$host_os" in
+ EOF
+ ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \
+ conftest.c $LIBS >/dev/null 2>&1
+- if test ! -x conftest ; then
++ if test ! -x conftest -o "$cross_compiling" = "yes" ; then
+ dnl failed to compile for some reason
+ unaligned_cv_fail=yes
+ else
+--
+2.42.0
+
diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch
new file mode 100644
index 0000000000..709d2cccbc
--- /dev/null
+++ b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch
@@ -0,0 +1,82 @@
+From 5f8c78362b3b1e06f5adff2d4b140509c4799894 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 3 Sep 2023 12:31:59 +0200
+Subject: [PATCH] configure.ac: unify search dirs for pcap and add lib32
+
+* add lib32 because when building lib32-tcpreplay it's
+ impossible to set --with-libpcap so that it would find
+ both include files as well as the library in lib32 directory
+
+* maybe it would be beneficial to split --with-libpcap
+ into --with-libpcap-includedir --with-libpcap-libdir as this
+ already searches in the --with-libpcap value with and
+ without any "lib" prefix, but include files always expect
+ "include" dir there
+
+* most of this code was added in:
+ https://github.com/appneta/tcpreplay/commit/202b8e82f9fd3c84ce5804577caeb36a33baabe7#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R570
+
+* then search for
+ ${host_cpu} lib/${host_cpu} (without -${host_os} suffix)
+ and ${build_arch}-${host_os} lib/${build_arch}-${host_os}
+ was added, but only for search of dynamic library in:
+ https://github.com/appneta/tcpreplay/commit/c3d5236563985a99f8bb02c3f1bd6950e3929047
+
+* ${build_arch}-${host_os} lib/${build_arch}-${host_os}
+ was later replaced with:
+ lib/${MULTIARCH} ${MULTIARCH}
+ and it was added to static library search as well
+
+ but for dynamic library it was searching in reversed order:
+ ${MULTIARCH} lib/${MULTIARCH}
+ https://github.com/appneta/tcpreplay/commit/ed9e3a818bde04813144014561e62f018c9eb85f
+
+ I don't think this reversed order was intentional, just unify all 4 cases
+ to use the same directories in the same order
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Submitted [https://github.com/appneta/tcpreplay/pull/819]
+---
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 387219de..26ba31a5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -671,7 +671,7 @@ AC_ARG_WITH(libpcap,
+ LPCAPINCDIR=${testdir}
+ if test $dynamic_link = yes; then
+ for ext in .dylib .so .tbd ; do
+- for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
++ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+ sharefile=$(ls ${testdir}/$dir/libpcap${ext}* 2> /dev/null | sort | head -n1)
+ if test -n "${sharefile}"; then
+ LPCAP_LD_LIBRARY_PATH="$(dirname ${sharefile})"
+@@ -690,7 +690,7 @@ AC_ARG_WITH(libpcap,
+ dnl If dynamic library not found, try static
+ dnl
+ for ext in ${libext} .a .A.tbd ; do
+- for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
++ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+ staticfile=$(ls ${testdir}/$dir/libpcap${ext} 2> /dev/null | sort | head -n1)
+ if test -n "${staticfile}"; then
+ LPCAPLIB="${staticfile}"
+@@ -771,7 +771,7 @@ AC_ARG_WITH(libpcap,
+ LPCAPINCDIR="${testdir}/include"
+ if test $dynamic_link = yes; then
+ for ext in .dylib .so .tbd; do
+- for dir in . lib lib64 ${host_cpu} lib/${host_cpu} ${host_cpu}-${host_os} lib/${host_cpu}-${host_os} ${MULTIARCH} lib/${MULTIARCH}; do
++ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+ sharefile=$(ls "${testdir}/$dir/libpcap${ext}" 2> /dev/null | sort | head -n1)
+ if test -n "${sharefile}"; then
+ LPCAPLIB="-L$(dirname ${sharefile}) -lpcap"
+@@ -790,7 +790,7 @@ AC_ARG_WITH(libpcap,
+ dnl If dynamic library not found, try static
+ dnl
+ for ext in ${libext} .a .A.tbd ; do
+- for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
++ for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+ staticfile=$(ls "${testdir}/$dir/libpcap${ext}" 2> /dev/null | sort | head -n1)
+ if test -n "${staticfile}"; then
+ LPCAPLIB="${staticfile}"
diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch
new file mode 100644
index 0000000000..448455fffb
--- /dev/null
+++ b/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch
@@ -0,0 +1,45 @@
+From 769e96b60f631e8c208fd7f72900d0bb17760f88 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 30 Aug 2022 09:54:11 +0800
+Subject: [PATCH] libopts.m4: set POSIX_SHELL to /bin/sh
+
+POSIX_SHELL is specified a host tool path as it searches path on build
+host using `which` when configure. Set it to a fixed path '/bin/sh'.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ m4/libopts.m4 | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
+
+diff --git a/m4/libopts.m4 b/m4/libopts.m4
+index cfbd477..c8047eb 100644
+--- a/m4/libopts.m4
++++ b/m4/libopts.m4
+@@ -111,21 +111,7 @@ AC_DEFUN([INVOKE_LIBOPTS_MACROS_FIRST],[
+ AC_CHECK_FUNCS([mmap canonicalize_file_name snprintf strdup strchr \
+ strrchr strsignal fchmod fstat chmod])
+ AC_PROG_SED
+- [while :
+- do
+- POSIX_SHELL=`which bash`
+- test -x "$POSIX_SHELL" && break
+- POSIX_SHELL=`which dash`
+- test -x "$POSIX_SHELL" && break
+- POSIX_SHELL=/usr/xpg4/bin/sh
+- test -x "$POSIX_SHELL" && break
+- POSIX_SHELL=`/bin/sh -c '
+- exec 2>/dev/null
+- if ! true ; then exit 1 ; fi
+- echo /bin/sh'`
+- test -x "$POSIX_SHELL" && break
+- ]AC_MSG_ERROR([cannot locate a working POSIX shell])[
+- done]
++ POSIX_SHELL='/bin/sh'
+ AC_DEFINE_UNQUOTED([POSIX_SHELL], ["${POSIX_SHELL}"],
+ [define to a working POSIX compliant shell])
+ AC_SUBST([POSIX_SHELL])
+--
+2.25.1
+
diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb
deleted file mode 100644
index 3346daddb0..0000000000
--- a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Use previously captured traffic to test network devices"
-
-HOMEPAGE = "http://tcpreplay.synfin.net/"
-SECTION = "net"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=890b830b22fd632e9ffd996df20338f8"
-
-SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "53b52bf64f0b6b9443428e657b37bc6b"
-SRC_URI[sha256sum] = "ed2402caa9434ff5c74b2e7b31178c73e7c7c5c4ea1e1d0e2e39a7dc46958fde"
-
-UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases"
-
-DEPENDS = "libpcap"
-
-EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
-
-inherit siteinfo autotools-brokensep
-
diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
new file mode 100644
index 0000000000..26de40a65a
--- /dev/null
+++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Use previously captured traffic to test network devices"
+
+HOMEPAGE = "https://tcpreplay.appneta.com/"
+
+SECTION = "net"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=10f0474a2f0e5dccfca20f69d6598ad8"
+
+SRC_URI = "https://github.com/appneta/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+ file://0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch \
+ file://0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch \
+ file://0001-configure.ac-do-not-run-conftest-in-case-of-cross-co.patch \
+"
+
+SRC_URI[sha256sum] = "44f18fb6d3470ecaf77a51b901a119dae16da5be4d4140ffbb2785e37ad6d4bf"
+
+UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases"
+
+DEPENDS = "libpcap"
+
+EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}${prefix}"
+
+inherit siteinfo autotools-brokensep
+
+do_install:append() {
+ sed -i -e 's:${RECIPE_SYSROOT}::g' ${S}/src/defines.h
+}