diff mbox series

lttng-tools: upgrade 2.14.1 -> 2.15.0

Message ID 20260327120939.1261-1-wangmy@fujitsu.com
State Under Review
Headers show
Series lttng-tools: upgrade 2.14.1 -> 2.15.0 | expand

Commit Message

Wang Mingyu March 27, 2026, 12:09 p.m. UTC
From: Wang Mingyu <wangmy@fujitsu.com>

disable-tests2.patch
refresshed for 2.15.0

0001-tests-do-not-strip-a-helper-library.patch
removed since it's not available in 2.15.0

0001-common-Autodetect-musl-libc-and-fix-C-compilation-er.patch
added to fix compile error when enable musl

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
 ...t-musl-libc-and-fix-C-compilation-er.patch | 97 +++++++++++++++++++
 ...-tests-do-not-strip-a-helper-library.patch | 24 -----
 .../lttng/lttng-tools/disable-tests2.patch    | 22 +++--
 ...-tools_2.14.1.bb => lttng-tools_2.15.0.bb} | 11 ++-
 4 files changed, 117 insertions(+), 37 deletions(-)
 create mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-common-Autodetect-musl-libc-and-fix-C-compilation-er.patch
 delete mode 100644 meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
 rename meta/recipes-kernel/lttng/{lttng-tools_2.14.1.bb => lttng-tools_2.15.0.bb} (96%)
diff mbox series

Patch

diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-common-Autodetect-musl-libc-and-fix-C-compilation-er.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-common-Autodetect-musl-libc-and-fix-C-compilation-er.patch
new file mode 100644
index 0000000000..a3ac13c9fa
--- /dev/null
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-common-Autodetect-musl-libc-and-fix-C-compilation-er.patch
@@ -0,0 +1,97 @@ 
+From 18c8e9070bee05c4e205ea4885d62773bd5e3426 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Fri, 27 Mar 2026 11:37:11 +0000
+Subject: [PATCH] common: Autodetect musl libc and fix C++ compilation errors
+
+Upstream-Status: Submitted [https://github.com/lttng/lttng-tools/pull/172/changes/b50e5519cb98f02e52463a221e58ba80adb7c424]
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ configure.ac           |  7 +++++++
+ src/common/poller.cpp  | 10 +++++++++-
+ src/common/timerfd.hpp | 12 +++++++++++-
+ 3 files changed, 27 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5d5ff5a..375f8bd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -181,6 +181,13 @@ AM_CONDITIONAL([HAVE_SHELLCHECK], [test "x$SHELLCHECK" != "x"])
+ AS_IF([test -f "$srcdir/bootstrap"], [in_git_repo=yes], [in_git_repo=no])
+ AM_CONDITIONAL([IN_GIT_REPO], [test "x$in_git_repo" = "xyes"])
+ 
++# Check for musl libc:
++case "${host_cpu}-${host_os}-${LIBC}" in
++  *-musl*)
++    AC_DEFINE([HAVE_MUSL_LIBC], [1], [Define to 1 if building against musl libc.])
++    ;;
++esac
++
+ # check for bison
+ AC_PROG_YACC
+ BISON=$YACC
+diff --git a/src/common/poller.cpp b/src/common/poller.cpp
+index 783d58f..500d3bb 100644
+--- a/src/common/poller.cpp
++++ b/src/common/poller.cpp
+@@ -7,6 +7,10 @@
+ #include <common/error.hpp>
+ #include <common/poller.hpp>
+ 
++#if defined(HAVE_MUSL_LIBC) && !defined(LTTNG_MUSL_EPOLL_CLOEXEC_REPLACEMENT)
++constexpr int LTTNG_MUSL_EPOLL_CLOEXEC_REPLACEMENT = EPOLL_CLOEXEC;
++#endif
++
+ namespace {
+ 
+ std::uint32_t to_epoll_events(lttng::poller::event_type events)
+@@ -58,7 +62,11 @@ lttng::poller::event_type from_epoll_events(std::uint32_t epoll_events)
+ 
+ lttng::poller::poller() :
+ 	_epoll_fd([]() {
++#if defined(HAVE_MUSL_LIBC)
++		const auto epoll_fd = ::epoll_create1(LTTNG_MUSL_EPOLL_CLOEXEC_REPLACEMENT);
++#else
+ 		const auto epoll_fd = ::epoll_create1(::EPOLL_CLOEXEC);
++#endif
+ 
+ 		if (epoll_fd < 0) {
+ 			LTTNG_THROW_POSIX("Failed to create epoll fd", errno);
+@@ -198,4 +206,4 @@ void lttng::poller::_epoll(int timeout) const
+ 
+ 		break;
+ 	}
+-}
+\ No newline at end of file
++}
+diff --git a/src/common/timerfd.hpp b/src/common/timerfd.hpp
+index 8ab2939..91d2029 100644
+--- a/src/common/timerfd.hpp
++++ b/src/common/timerfd.hpp
+@@ -14,12 +14,22 @@
+ #include <sys/timerfd.h>
+ #include <time.h>
+ 
++#if defined(HAVE_MUSL_LIBC) && !defined(LTTNG_MUSL_TFD_CLOEXEC_REPLACEMENT)
++constexpr int LTTNG_MUSL_TFD_CLOEXEC_REPLACEMENT = TFD_CLOEXEC;
++#endif
++
+ namespace lttng {
+ 
+ class timerfd : public stream_descriptor {
+ public:
+ 	/* Throws a posix_error exception on failure to create the underlying resource. */
+-	explicit timerfd(int flags = ::TFD_CLOEXEC);
++	explicit timerfd(int flags =
++#if defined(HAVE_MUSL_LIBC)
++		LTTNG_MUSL_TFD_CLOEXEC_REPLACEMENT
++#else
++		::TFD_CLOEXEC
++#endif
++	);
+ 	timerfd(const timerfd&) = delete;
+ 	timerfd& operator=(const timerfd&) = delete;
+ 	timerfd(timerfd&&) = delete;
+-- 
+2.43.0
+
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
deleted file mode 100644
index 0547f30c02..0000000000
--- a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
+++ /dev/null
@@ -1,24 +0,0 @@ 
-From a45157a50e14d4bd244a3dd05d79c5703c819550 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 12 Dec 2019 16:52:07 +0100
-Subject: [PATCH] tests: do not strip a helper library
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- tests/utils/testapp/userspace-probe-elf-binary/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
-index 836f13e..e19a554 100644
---- a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
-+++ b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
-@@ -14,7 +14,7 @@ userspace_probe_elf_binary_LDADD = libfoo.la
- libfoo.strip: libfoo.la
- 	$(OBJCOPY) --strip-all .libs/libfoo.so
- 
--all-local: libfoo.strip
-+all-local:
- 	@if [ x"$(srcdir)" != x"$(builddir)" ]; then \
- 		for script in $(EXTRA_DIST); do \
- 			cp -f $(srcdir)/$$script $(builddir); \
diff --git a/meta/recipes-kernel/lttng/lttng-tools/disable-tests2.patch b/meta/recipes-kernel/lttng/lttng-tools/disable-tests2.patch
index 5b9a07fcb8..f93d6cdc4f 100644
--- a/meta/recipes-kernel/lttng/lttng-tools/disable-tests2.patch
+++ b/meta/recipes-kernel/lttng/lttng-tools/disable-tests2.patch
@@ -5,24 +5,30 @@  now. Ideally tests.serial would have occasional output when running to show acti
 Upstream-Status: Inappropriate [workaround for slow tests]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Index: lttng-tools-2.14.0/tests/regression/Makefile.am
-===================================================================
---- lttng-tools-2.14.0.orig/tests/regression/Makefile.am
-+++ lttng-tools-2.14.0/tests/regression/Makefile.am
-@@ -26,7 +26,6 @@ SERIAL_TESTS = tools/base-path/test_ust
+---
+ tests/regression/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am
+index a7cd133..bd82e94 100644
+--- a/tests/regression/Makefile.am
++++ b/tests/regression/Makefile.am
+@@ -30,7 +30,6 @@ SERIAL_TESTS = tools/base-path/test_ust \
  	tools/tracefile-limits/test_tracefile_count \
  	tools/tracefile-limits/test_tracefile_size \
  	tools/exclusion/test_exclusion \
 -	tools/snapshots/test_kernel \
  	tools/snapshots/test_ust_fast \
+ 	tools/snapshots/test_ust_long \
  	tools/snapshots/test_ust_streaming \
- 	tools/snapshots/test_kernel_streaming \
-@@ -47,8 +46,6 @@ SERIAL_TESTS = tools/base-path/test_ust
+@@ -53,7 +52,6 @@ SERIAL_TESTS = tools/base-path/test_ust \
  	tools/rotation/test_schedule_api \
  	tools/metadata/test_kernel \
  	tools/working-directory/test_relayd_working_directory \
--	tools/clear/test_ust \
 -	tools/clear/test_kernel \
  	tools/clear/test_live_hang.py \
  	tools/tracker/test_event_tracker \
  	tools/trigger/start-stop/test_start_stop \
+-- 
+2.43.0
+
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb b/meta/recipes-kernel/lttng/lttng-tools_2.15.0.bb
similarity index 96%
rename from meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
rename to meta/recipes-kernel/lttng/lttng-tools_2.15.0.bb
index 3a3f2cff2c..af71ab3ca5 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.15.0.bb
@@ -44,15 +44,15 @@  PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod"
 PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
 
 SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
-           file://0001-tests-do-not-strip-a-helper-library.patch \
            file://run-ptest \
            file://lttng-sessiond.service \
            file://disable-tests.patch \
            file://disable-tests2.patch \
            file://libc++.patch \
+           file://0001-common-Autodetect-musl-libc-and-fix-C-compilation-er.patch \
            "
 
-SRC_URI[sha256sum] = "0e68eb27923621c4bc127cfce40422d28cf7e473fedf6229ae6c32ba5c5b7c6d"
+SRC_URI[sha256sum] = "4d739116556da71d58275bc7f0a6c0a967c6774b7d90f02c2731a7875debf28a"
 
 inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
 
@@ -76,6 +76,7 @@  FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
 # Python module needs to keep _lttng.so
 INSANE_SKIP:${PN} = "libexec dev-so"
 INSANE_SKIP:${PN}-dbg = "libexec"
+INSANE_SKIP:${PN} = "already-stripped"
 
 PRIVATE_LIBS:${PN}-ptest = "libfoo.so"
 
@@ -95,7 +96,7 @@  do_install_ptest () {
         install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
     done
 
-    for f in tests/utils/tap-driver.sh config/test-driver src/common/session.xsd src/common/mi-lttng-4.1.xsd \
+    for f in tests/utils/tap-driver.sh config/test-driver src/common/session.xsd src/common/mi-lttng-4.2.xsd \
              tests/regression/tests.serial; do
         install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
     done
@@ -140,8 +141,8 @@  do_install_ptest () {
         done
     done
 
-    chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary
-    chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-cxx-binary/userspace-probe-elf-cxx-binary
+    chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary
+    chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-cxx-binary
     chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libbar.so
     chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so