diff mbox series

[v5,1/1] babeltrace2: upgrade 2.0.6 -> 2.1.0

Message ID 20250313021751.2313822-2-bin.lan.cn@windriver.com
State New
Headers show
Series babeltrace2: upgrade 2.0.6 -> 2.1.0 | expand

Commit Message

Bin Lan March 13, 2025, 2:17 a.m. UTC
From: Bin Lan <bin.lan.cn@windriver.com>

Refresh 0001-Make-manpages-multilib-identical.patch with
correct number and upstream status. Create a new patch
0001-tests-fix-test-applications-in-cpp-common.patch
to fix test applications in cpp-common are needed to re-build when
running in an embedded environment.
0001-tests-do-not-run-test-applications-from-.libs.patch is deleted
for the commit log is not very accurate and the line number is changed,
is replaced by 0001-tests-set-the-correct-plugin-directory.patch.
Use 0001-tests-set-the-correct-plugin-directory.patch to set the
correct directory of plugin shared library.

Copy the trace files (*.ref) the metadata files (*.mctf) and json files
which are required by test cases from source directory in
babeltrace2_2.1.0.bb. Set the correct test environment variables in
tests/utils/env.sh when running in an embedded environment. Remove
"GREP=grep SED=sed PYTHON=python3" from the file run-ptest for these
test environment variables are set in tests/utils/env.sh.

License-Update: add new license BSD-4-Clause GPL-3.0-or-later CC-BY-SA-4.0 PSF-2.0
Babeltrace 2.1.0 is a major change. Babeltrace 2.1.0 is released after five years
of development after the release of Babeltrace 2.0.0. The licenses did change
significantly.

Changelog:
Babeltrace 2.1, MIP 1 is available and adds many functions
to support CTF 2 features.
The Python bindings wrap all the library changes in the same
systematic way as in Babeltrace 2.0. Add type hints to the
public API to assist with static analysis of your applications.

Details about the 2.1.0 release:
https://babeltrace.org/docs/release-notes/babeltrace-2.1.0-release-notes.html

Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
---
 ...001-Make-manpages-multilib-identical.patch |  12 +-
 ...not-run-test-applications-from-.libs.patch |  28 ----
 ...-fix-test-applications-in-cpp-common.patch | 129 ++++++++++++++++++
 ...sts-set-the-correct-plugin-directory.patch |  30 ++++
 .../lttng/babeltrace2/run-ptest               |   4 +-
 ...eltrace2_2.0.6.bb => babeltrace2_2.1.0.bb} |  35 ++++-
 6 files changed, 198 insertions(+), 40 deletions(-)
 delete mode 100644 meta/recipes-kernel/lttng/babeltrace2/0001-tests-do-not-run-test-applications-from-.libs.patch
 create mode 100644 meta/recipes-kernel/lttng/babeltrace2/0001-tests-fix-test-applications-in-cpp-common.patch
 create mode 100644 meta/recipes-kernel/lttng/babeltrace2/0001-tests-set-the-correct-plugin-directory.patch
 rename meta/recipes-kernel/lttng/{babeltrace2_2.0.6.bb => babeltrace2_2.1.0.bb} (69%)
diff mbox series

Patch

diff --git a/meta/recipes-kernel/lttng/babeltrace2/0001-Make-manpages-multilib-identical.patch b/meta/recipes-kernel/lttng/babeltrace2/0001-Make-manpages-multilib-identical.patch
index 2401b176e6..c2b76b1ed5 100644
--- a/meta/recipes-kernel/lttng/babeltrace2/0001-Make-manpages-multilib-identical.patch
+++ b/meta/recipes-kernel/lttng/babeltrace2/0001-Make-manpages-multilib-identical.patch
@@ -3,17 +3,20 @@  From: Jeremy Puhlman <jpuhlman@mvista.com>
 Date: Mon, 9 Mar 2020 21:10:35 +0000
 Subject: [PATCH] Make manpages multilib identical
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://review.lttng.org/c/babeltrace/+/14222]
+
 Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
 ---
  doc/man/asciidoc-attrs.conf.in | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/doc/man/asciidoc-attrs.conf.in b/doc/man/asciidoc-attrs.conf.in
-index ad1183f1..e11c7031 100644
+index 88fb13ce2..27858b720 100644
 --- a/doc/man/asciidoc-attrs.conf.in
 +++ b/doc/man/asciidoc-attrs.conf.in
-@@ -1,7 +1,7 @@
+@@ -4,8 +4,8 @@
+
  [attributes]
  # default values
 -system_plugin_path="@LIBDIR@/babeltrace2/plugins"
@@ -24,5 +27,4 @@  index ad1183f1..e11c7031 100644
  enable_debug_info="@ENABLE_DEBUG_INFO_VAL@"
  defrdport=5344
 -- 
-2.24.1
-
+2.34.1
diff --git a/meta/recipes-kernel/lttng/babeltrace2/0001-tests-do-not-run-test-applications-from-.libs.patch b/meta/recipes-kernel/lttng/babeltrace2/0001-tests-do-not-run-test-applications-from-.libs.patch
deleted file mode 100644
index 805dde8064..0000000000
--- a/meta/recipes-kernel/lttng/babeltrace2/0001-tests-do-not-run-test-applications-from-.libs.patch
+++ /dev/null
@@ -1,28 +0,0 @@ 
-From 582713cc9a013481eeef253195d644020f637ec4 Mon Sep 17 00:00:00 2001
-Message-Id: <582713cc9a013481eeef253195d644020f637ec4.1583403622.git.wallinux@gmail.com>
-From: Anders Wallin <wallinux@gmail.com>
-Date: Thu, 5 Mar 2020 11:20:04 +0100
-Subject: [PATCH] tests: do not run test applications from .libs
-
-Cross compile specific change
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Anders Wallin <wallinux@gmail.com>
----
- tests/lib/test_plugin | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/lib/test_plugin b/tests/lib/test_plugin
-index 652c90cc..1f817c50 100755
---- a/tests/lib/test_plugin
-+++ b/tests/lib/test_plugin
-@@ -26,4 +26,4 @@ fi
- # shellcheck source=../utils/utils.sh
- source "$UTILSSH"
- 
--"${BT_TESTS_BUILDDIR}/lib/plugin" "${BT_TESTS_BUILDDIR}/lib/test-plugin-plugins/.libs"
-+"${BT_TESTS_BUILDDIR}/lib/plugin" "${BT_TESTS_BUILDDIR}/lib/test-plugin-plugins"
--- 
-2.25.1
-
diff --git a/meta/recipes-kernel/lttng/babeltrace2/0001-tests-fix-test-applications-in-cpp-common.patch b/meta/recipes-kernel/lttng/babeltrace2/0001-tests-fix-test-applications-in-cpp-common.patch
new file mode 100644
index 0000000000..87f94fb087
--- /dev/null
+++ b/meta/recipes-kernel/lttng/babeltrace2/0001-tests-fix-test-applications-in-cpp-common.patch
@@ -0,0 +1,129 @@ 
+From 1dc81f272855d94e6a78f7d10ea952745d991aa9 Mon Sep 17 00:00:00 2001
+From: Bin Lan <bin.lan.cn@windriver.com>
+Date: Tue, 11 Mar 2025 17:19:11 +0800
+Subject: [PATCH] Tests: fix test applications in cpp-common are needed to
+ re-build
+
+Test applications in cpp-common directory are needed to re-build when
+calling make check in embedded system. The following error is shown
+when running test applications:
+make[3]: *** No rule to make target 'cpp-common/test-c-string-view.cpp',
+needed by 'cpp-common/test-c-string-view.o'.
+make[3]: *** No rule to make target '../tests/utils/tap/libtap.la',
+needed by 'cpp-common/test-c-string-view'.
+make[3]: *** No rule to make target '../src/common/libcommon.la',
+needed by 'cpp-common/test-c-string-view'.
+make[3]: *** No rule to make target '../src/logging/liblogging.la',
+needed by 'cpp-common/test-c-string-view'.
+...
+make[2]: *** [Makefile:1274: check-TESTS] Error 2
+make[1]: *** [Makefile:1805: check-am] Error 2
+make: *** [Makefile:1033: check-recursive] Error 1
+make: Target 'check' not remade because of errors.
+
+Create some new shell scripts which are used to call test applications
+in cpp-common directory. Then these test applications can run without
+actually examining the source code.
+
+Upstream-Status: Submitted [https://review.lttng.org/c/babeltrace/+/14213]
+
+Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
+---
+ tests/Makefile.am                      |  6 +++---
+ tests/cpp-common/test-c-string-view.sh | 17 +++++++++++++++++
+ tests/cpp-common/test-unicode-conv.sh  | 17 +++++++++++++++++
+ tests/cpp-common/test-uuid.sh          | 17 +++++++++++++++++
+ 4 files changed, 54 insertions(+), 3 deletions(-)
+ create mode 100755 tests/cpp-common/test-c-string-view.sh
+ create mode 100755 tests/cpp-common/test-unicode-conv.sh
+ create mode 100755 tests/cpp-common/test-uuid.sh
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 2a4022bc4..c79b77b32 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -129,9 +129,9 @@ cpp_common_test_unicode_conv_LDADD = \
+ 	$(COMMON_TEST_LDADD)
+ 
+ TESTS_CPP_COMMON = \
+-	cpp-common/test-c-string-view \
+-	cpp-common/test-uuid \
+-	cpp-common/test-unicode-conv
++	cpp-common/test-c-string-view.sh \
++	cpp-common/test-uuid.sh \
++	cpp-common/test-unicode-conv.sh
+ 
+ TESTS_LIB = \
+ 	lib/test-bt-uuid \
+diff --git a/tests/cpp-common/test-c-string-view.sh b/tests/cpp-common/test-c-string-view.sh
+new file mode 100755
+index 000000000..9c2ca5818
+--- /dev/null
++++ b/tests/cpp-common/test-c-string-view.sh
+@@ -0,0 +1,17 @@
++#!/bin/bash
++#
++# SPDX-License-Identifier: GPL-2.0-only
++#
++# Copyright (C) 2025 Bin Lan <bin.lan.cn@windriver.com>
++#
++
++if [ -n "${BT_TESTS_SRCDIR:-}" ]; then
++	UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
++else
++	UTILSSH="$(dirname "$0")/../utils/utils.sh"
++fi
++
++# shellcheck source=../utils/utils.sh
++source "$UTILSSH"
++
++"${BT_TESTS_BUILDDIR}/cpp-common/test-c-string-view" "$BT_TESTS_BT2_BIN"
+diff --git a/tests/cpp-common/test-unicode-conv.sh b/tests/cpp-common/test-unicode-conv.sh
+new file mode 100755
+index 000000000..df490b2eb
+--- /dev/null
++++ b/tests/cpp-common/test-unicode-conv.sh
+@@ -0,0 +1,17 @@
++#!/bin/bash
++#
++# SPDX-License-Identifier: GPL-2.0-only
++#
++# Copyright (C) 2025 Bin Lan <bin.lan.cn@windriver.com>
++#
++
++if [ -n "${BT_TESTS_SRCDIR:-}" ]; then
++	UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
++else
++	UTILSSH="$(dirname "$0")/../utils/utils.sh"
++fi
++
++# shellcheck source=../utils/utils.sh
++source "$UTILSSH"
++
++"${BT_TESTS_BUILDDIR}/cpp-common/test-unicode-conv" "$BT_TESTS_BT2_BIN"
+diff --git a/tests/cpp-common/test-uuid.sh b/tests/cpp-common/test-uuid.sh
+new file mode 100755
+index 000000000..8c65daa94
+--- /dev/null
++++ b/tests/cpp-common/test-uuid.sh
+@@ -0,0 +1,17 @@
++#!/bin/bash
++#
++# SPDX-License-Identifier: GPL-2.0-only
++#
++# Copyright (C) 2025 Bin Lan <bin.lan.cn@windriver.com>
++#
++
++if [ -n "${BT_TESTS_SRCDIR:-}" ]; then
++	UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
++else
++	UTILSSH="$(dirname "$0")/../utils/utils.sh"
++fi
++
++# shellcheck source=../utils/utils.sh
++source "$UTILSSH"
++
++"${BT_TESTS_BUILDDIR}/cpp-common/test-uuid" "$BT_TESTS_BT2_BIN"
+-- 
+2.34.1
+
diff --git a/meta/recipes-kernel/lttng/babeltrace2/0001-tests-set-the-correct-plugin-directory.patch b/meta/recipes-kernel/lttng/babeltrace2/0001-tests-set-the-correct-plugin-directory.patch
new file mode 100644
index 0000000000..7ac7582ad7
--- /dev/null
+++ b/meta/recipes-kernel/lttng/babeltrace2/0001-tests-set-the-correct-plugin-directory.patch
@@ -0,0 +1,30 @@ 
+From 32494b1726a881883cb6d317ab76d1ec3f1fa740 Mon Sep 17 00:00:00 2001
+From: Bin Lan <bin.lan.cn@windriver.com>
+Date: Wed, 5 Mar 2025 10:51:11 +0800
+Subject: [PATCH] tests: set the correct directory of plugin shared library
+
+The plugin shared libraries are put in test-plugins-plugins/.libs when 
+building in a host. test-plugins-plugins/.libs is not exist when cross 
+build. The plugin shared libraries are put in test-plugins-plugins 
+directory when cross build.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
+---
+ tests/lib/test-plugins.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/lib/test-plugins.sh b/tests/lib/test-plugins.sh
+index f83e42baa..939236393 100755
+--- a/tests/lib/test-plugins.sh
++++ b/tests/lib/test-plugins.sh
+@@ -14,4 +14,4 @@ fi
+ # shellcheck source=../utils/utils.sh
+ source "$UTILSSH"
+ 
+-"${BT_TESTS_BUILDDIR}/lib/test-plugins" "${BT_TESTS_BUILDDIR}/lib/test-plugins-plugins/.libs"
++"${BT_TESTS_BUILDDIR}/lib/test-plugins" "${BT_TESTS_BUILDDIR}/lib/test-plugins-plugins"
+-- 
+2.34.1
+
diff --git a/meta/recipes-kernel/lttng/babeltrace2/run-ptest b/meta/recipes-kernel/lttng/babeltrace2/run-ptest
index 71a9c81bfb..a0bf33b75d 100755
--- a/meta/recipes-kernel/lttng/babeltrace2/run-ptest
+++ b/meta/recipes-kernel/lttng/babeltrace2/run-ptest
@@ -4,7 +4,7 @@ 
 
 # Without --ignore-exit, the tap harness causes any FAILs within a
 # test plan to raise ERRORs; this is just noise.
-makeargs="LOG_DRIVER_FLAGS=--ignore-exit abs_top_srcdir=$PWD abs_top_builddir=$PWD GREP=grep SED=sed PYTHON=python3"
+makeargs="LOG_DRIVER_FLAGS=--ignore-exit abs_top_srcdir=$PWD abs_top_builddir=$PWD"
 
 exec 2> error.log
 make -C tests -k -s $makeargs $target
@@ -16,4 +16,4 @@  if [ -e tests/test-suite.log ]; then
     cat tests/test-suite.log
 fi
 
-exit $exitcode
\ No newline at end of file
+exit $exitcode
diff --git a/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb b/meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb
similarity index 69%
rename from meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
rename to meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb
index 6a0052f779..648588d233 100644
--- a/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
+++ b/meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb
@@ -2,17 +2,18 @@  SUMMARY = "Babeltrace2 - Trace Format Babel Tower"
 DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
 HOMEPAGE = "http://babeltrace.org/"
 BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
-LICENSE = "MIT & GPL-2.0-only & LGPL-2.1-only & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e"
+LICENSE = "MIT & GPL-2.0-only & LGPL-2.1-only & BSD-2-Clause & BSD-4-Clause & GPL-3.0-or-later & CC-BY-SA-4.0 & PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f6b015e4f388d6e78adb1b1f9a887d06"
 
 DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
 
-SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.0;protocol=https \
+SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.1;protocol=https \
            file://run-ptest \
-           file://0001-tests-do-not-run-test-applications-from-.libs.patch \
            file://0001-Make-manpages-multilib-identical.patch \
+           file://0001-tests-fix-test-applications-in-cpp-common.patch \
+           file://0001-tests-set-the-correct-plugin-directory.patch \
            "
-SRCREV = "0a6632f77801f3218a288604c646f8a39cb0d2c4"
+SRCREV = "e61d41ff3c3ac6a123930d4e60cf710ff9ea18e0"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"
 
 S = "${WORKDIR}/git"
@@ -33,6 +34,14 @@  LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld ptest', '-fuse-ld
 # coreutils since we need full mktemp
 RDEPENDS:${PN}-ptest += "bash gawk python3 make grep coreutils findutils"
 
+do_configure:append() {
+    # when doing cross compile, the path ${B}/src/plugins/ctf/common/src/metadata/tsdl
+    # is not created by the babeltrace2 build system. It is need when generating
+    # parser.cpp by executing /bin/bash ../../git/config/ylwrap.
+    # So make this directory after configuration.
+    mkdir -p ${B}/src/plugins/ctf/common/src/metadata/tsdl
+}
+
 do_compile_ptest () {
     make -C tests all
 }
@@ -51,6 +60,12 @@  do_install_ptest () {
 	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
 	find "${S}/tests/$d" -maxdepth 1 -name *.expect \
 	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
+	find "${S}/tests/$d" -maxdepth 1 -name *.ref \
+	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
+	find "${S}/tests/$d" -maxdepth 1 -name *.mctf \
+	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
+	find "${S}/tests/$d" -maxdepth 1 -name *.json \
+	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
     done
     install -d "${D}${PTEST_PATH}/tests/data/ctf-traces/"
     cp -a ${S}/tests/data/ctf-traces/* ${D}${PTEST_PATH}/tests/data/ctf-traces/
@@ -92,6 +107,16 @@  do_install_ptest () {
 
     # Remove architechture specific testfiles
     rm -rf ${D}${PTEST_PATH}/tests/data/plugins/flt.lttng-utils.debug-info/*
+
+    # Set the correct environment variables when running embedded environment
+    envsh=${D}${PTEST_PATH}/tests/utils/env.sh
+    sed -i "/BT_TESTS_SRCDIR/c\_set_var_def BT_TESTS_SRCDIR '${PTEST_PATH}/tests'" $envsh
+    sed -i "/BT_TESTS_BUILDDIR/c\_set_var_def BT_TESTS_BUILDDIR '${PTEST_PATH}/tests'" $envsh
+    sed -i "/BT_TESTS_AWK_BIN/c\_set_var_def BT_TESTS_AWK_BIN 'gawk'" $envsh
+    sed -i "/BT_TESTS_GREP_BIN/c\_set_var_def BT_TESTS_GREP_BIN 'grep'" $envsh
+    sed -i "/BT_TESTS_PYTHON_BIN/c\_set_var_def BT_TESTS_PYTHON_BIN 'python3'" $envsh
+    sed -i "/BT_TESTS_SED_BIN/c\_set_var_def BT_TESTS_SED_BIN 'sed'" $envsh
+    sed -i "/BT_TESTS_CC_BIN/c\_set_var_def BT_TESTS_CC_BIN ''" $envsh
 }
 
 do_install:append:class-nativesdk() {