From 63a25a8184d99a619ffc1d7784cc514400f690c2 Mon Sep 17 00:00:00 2001 From: Ankita Pareek Date: Tue, 25 Aug 2026 13:00:35 +0000 Subject: [PATCH 1/4] lttng: backport lttng-tools and lttng-ust 2.14.0 to 3.0 Backport lttng-tools (2.13.11 -> 2.14.0) and lttng-ust (2.13.6 -> 2.14.0) from the Azure Linux 4.0 branch to enable the per-channel buffer allocation policy (lttng enable-channel --buffer-allocation=per-channel), keeping trace buffer/disk usage independent of CPU count on high-vCPU SKUs. - lttng-tools: bump to 2.14.0; add gcc-c++ BuildRequires (2.14 requires a C++ compiler); require userspace-rcu >= 0.14.0 (already shipped on 3.0); pin lttng-ust to the 2.14 ABI series (>= 2.14.0, < 2.15.0). - lttng-ust: bump to 2.14.0; update source signature. - lttng-consume: Release bump to rebuild against the liblttng-ust-ctl soname change (.so.5 -> .so.6); liblttng-ust.so.1 is unchanged. - cgmanifest.json: update lttng-tools and lttng-ust component entries. Userspace tracing only; no lttng-modules (kernel) dependency. Signed-off-by: Ankita Pareek --- SPECS/lttng-consume/lttng-consume.spec | 5 ++++- SPECS/lttng-tools/lttng-tools.signatures.json | 2 +- SPECS/lttng-tools/lttng-tools.spec | 16 +++++++++++----- SPECS/lttng-ust/lttng-ust.signatures.json | 2 +- SPECS/lttng-ust/lttng-ust.spec | 5 ++++- cgmanifest.json | 8 ++++---- 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/SPECS/lttng-consume/lttng-consume.spec b/SPECS/lttng-consume/lttng-consume.spec index af030107288..e4e12655c44 100644 --- a/SPECS/lttng-consume/lttng-consume.spec +++ b/SPECS/lttng-consume/lttng-consume.spec @@ -1,7 +1,7 @@ Summary: Modern C++ library for realtime consumption of LTTNG events Name: lttng-consume Version: 0.2.1 -Release: 2%{?dist} +Release: 3%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux @@ -59,6 +59,9 @@ mkdir build && cd build %{_includedir}/lttng-consume %changelog +* Tue Aug 25 2026 Ankita Pareek - 0.2.1-3 +- Rebuild against lttng-ust 2.14.0 (liblttng-ust-ctl soname bump). + * Mon Jan 24 2022 Muhammad Falak - 0.2.1-2 - Diasable tests which break ARM64 build diff --git a/SPECS/lttng-tools/lttng-tools.signatures.json b/SPECS/lttng-tools/lttng-tools.signatures.json index 3f29ddbf204..b7e56f44c0c 100644 --- a/SPECS/lttng-tools/lttng-tools.signatures.json +++ b/SPECS/lttng-tools/lttng-tools.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "lttng-tools-2.13.11.tar.bz2": "ac5baeef9fa690936b1ca01ecd1742da762c2c08511ff1b4e923938d94d0f979" + "lttng-tools-2.14.0.tar.bz2": "d8c39c26cec13b7bd82551cd52a22efc358b888e36ebcf9c1b60ef1c3a3c2fd3" } } diff --git a/SPECS/lttng-tools/lttng-tools.spec b/SPECS/lttng-tools/lttng-tools.spec index b33f50b62a9..d7cedb8730c 100644 --- a/SPECS/lttng-tools/lttng-tools.spec +++ b/SPECS/lttng-tools/lttng-tools.spec @@ -1,6 +1,6 @@ Summary: LTTng is an open source tracing framework for Linux. Name: lttng-tools -Version: 2.13.11 +Version: 2.14.0 Release: 1%{?dist} License: GPLv2 and LGPLv2+ URL: https://lttng.org/ @@ -10,13 +10,16 @@ Vendor: Microsoft Corporation Distribution: Azure Linux BuildRequires: libxml2-devel >= 2.7.6 +BuildRequires: gcc-c++ BuildRequires: m4 BuildRequires: elfutils-devel BuildRequires: popt-devel -BuildRequires: userspace-rcu-devel >= 0.8.0 -BuildRequires: lttng-ust-devel >= 2.13.1 -Requires: lttng-ust >= 2.13.1 -Requires: userspace-rcu >= 0.8.0 +BuildRequires: userspace-rcu-devel >= 0.14.0 +BuildRequires: lttng-ust-devel >= 2.14.0 +BuildRequires: lttng-ust-devel < 2.15.0 +Requires: lttng-ust >= 2.14.0 +Requires: lttng-ust < 2.15.0 +Requires: userspace-rcu >= 0.14.0 Requires: elfutils Requires: libxml2 @@ -45,6 +48,9 @@ find %{buildroot} -name '*.la' -delete %exclude %{_libdir}/debug %changelog +* Tue Aug 25 2026 Ankita Pareek - 2.14.0-1 +- Backport lttng-tools 2.14.0 from the Azure Linux 4.0 branch for per-channel buffer allocation support. + * Fri Oct 27 2023 CBL-Mariner Servicing Account - 2.13.11-1 - Auto-upgrade to 2.13.11 - Azure Linux 3.0 - package upgrades diff --git a/SPECS/lttng-ust/lttng-ust.signatures.json b/SPECS/lttng-ust/lttng-ust.signatures.json index 105cbf8bc62..169b42996b3 100644 --- a/SPECS/lttng-ust/lttng-ust.signatures.json +++ b/SPECS/lttng-ust/lttng-ust.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "lttng-ust-2.13.6.tar.bz2": "e7e04596dd73ac7aa99e27cd000f949dbb0fed51bd29099f9b08a25c1df0ced5" + "lttng-ust-2.14.0.tar.bz2": "82cdfd304bbb2b2b7d17cc951a6756b37a9f73868ec0ba7db448a0d5ca51b763" } } diff --git a/SPECS/lttng-ust/lttng-ust.spec b/SPECS/lttng-ust/lttng-ust.spec index 2dc595e9830..62842323d1c 100644 --- a/SPECS/lttng-ust/lttng-ust.spec +++ b/SPECS/lttng-ust/lttng-ust.spec @@ -1,6 +1,6 @@ Summary: LTTng-UST is an Userspace Tracer library Name: lttng-ust -Version: 2.13.6 +Version: 2.14.0 Release: 1%{?dist} License: GPLv2+ and LGPLv2+ and MIT URL: https://lttng.org @@ -62,6 +62,9 @@ rm -vf %{buildroot}%{_libdir}/*.la %{_libdir}/pkgconfig/lttng-ust*.pc %changelog +* Tue Aug 25 2026 Ankita Pareek - 2.14.0-1 +- Backport lttng-ust 2.14.0 from the Azure Linux 4.0 branch for compatibility with lttng-tools 2.14.0. + * Fri Oct 27 2023 CBL-Mariner Servicing Account - 2.13.6-1 - Auto-upgrade to 2.13.6 - Azure Linux 3.0 - package upgrades diff --git a/cgmanifest.json b/cgmanifest.json index 8b2feb34fc4..0348e18eccc 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -12701,8 +12701,8 @@ "type": "other", "other": { "name": "lttng-tools", - "version": "2.13.11", - "downloadUrl": "https://lttng.org/files/lttng-tools/lttng-tools-2.13.11.tar.bz2" + "version": "2.14.0", + "downloadUrl": "https://lttng.org/files/lttng-tools/lttng-tools-2.14.0.tar.bz2" } } }, @@ -12711,8 +12711,8 @@ "type": "other", "other": { "name": "lttng-ust", - "version": "2.13.6", - "downloadUrl": "https://lttng.org/files/lttng-ust/lttng-ust-2.13.6.tar.bz2" + "version": "2.14.0", + "downloadUrl": "https://lttng.org/files/lttng-ust/lttng-ust-2.14.0.tar.bz2" } } }, From c0dd2995ee8372493642fa62baef2900f2614da5 Mon Sep 17 00:00:00 2001 From: Ankita Pareek Date: Wed, 26 Aug 2026 18:29:27 +0000 Subject: [PATCH 2/4] lttng-tools: add libbabeltrace2-devel BuildRequires for 2.14 tests Signed-off-by: Ankita Pareek --- SPECS/lttng-tools/lttng-tools.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SPECS/lttng-tools/lttng-tools.spec b/SPECS/lttng-tools/lttng-tools.spec index d7cedb8730c..86cea23033c 100644 --- a/SPECS/lttng-tools/lttng-tools.spec +++ b/SPECS/lttng-tools/lttng-tools.spec @@ -14,6 +14,7 @@ BuildRequires: gcc-c++ BuildRequires: m4 BuildRequires: elfutils-devel BuildRequires: popt-devel +BuildRequires: libbabeltrace2-devel BuildRequires: userspace-rcu-devel >= 0.14.0 BuildRequires: lttng-ust-devel >= 2.14.0 BuildRequires: lttng-ust-devel < 2.15.0 @@ -50,6 +51,7 @@ find %{buildroot} -name '*.la' -delete %changelog * Tue Aug 25 2026 Ankita Pareek - 2.14.0-1 - Backport lttng-tools 2.14.0 from the Azure Linux 4.0 branch for per-channel buffer allocation support. +- Add gcc-c++ and libbabeltrace2-devel BuildRequires required by the 2.14 build. * Fri Oct 27 2023 CBL-Mariner Servicing Account - 2.13.11-1 - Auto-upgrade to 2.13.11 - Azure Linux 3.0 - package upgrades From 6b6c72b9a1d47465a86d30233b48c4bff351ddc2 Mon Sep 17 00:00:00 2001 From: Ankita Pareek Date: Wed, 26 Aug 2026 19:03:32 +0000 Subject: [PATCH 3/4] userspace-rcu: add typename to C++ URCU_FORCE_CAST macro lttng-tools 2.14 fails to compile against userspace-rcu 0.14.0 with 'need typename before std::remove_cv<...>::type' because the C++ URCU_FORCE_CAST macro (used by rcu_dereference) omits 'typename' in a dependent context. Backport the one-line upstream 0.15 fix as a header-only patch. C++-only, no ABI/soname/runtime impact. Signed-off-by: Ankita Pareek --- .../cpp-force-cast-typename.patch | 18 ++++++++++++++++++ SPECS/userspace-rcu/userspace-rcu.spec | 10 ++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 SPECS/userspace-rcu/cpp-force-cast-typename.patch diff --git a/SPECS/userspace-rcu/cpp-force-cast-typename.patch b/SPECS/userspace-rcu/cpp-force-cast-typename.patch new file mode 100644 index 00000000000..cc531929cee --- /dev/null +++ b/SPECS/userspace-rcu/cpp-force-cast-typename.patch @@ -0,0 +1,18 @@ +Add 'typename' to the C++ URCU_FORCE_CAST macro so that rcu_dereference() +and related casts compile under a C++ dependent context (e.g. GCC's +-std=gnu++11 used by lttng-tools 2.14). Backported from upstream +userspace-rcu 0.15. + +diff --git a/include/urcu/compiler.h b/include/urcu/compiler.h +index 2f32b38..23ee7a5 100644 +--- a/include/urcu/compiler.h ++++ b/include/urcu/compiler.h +@@ -86,7 +86,7 @@ + #define __rcu + + #ifdef __cplusplus +-#define URCU_FORCE_CAST(_type, arg) (reinterpret_cast::type>(arg)) ++#define URCU_FORCE_CAST(_type, arg) (reinterpret_cast::type>(arg)) + #else + #define URCU_FORCE_CAST(type, arg) ((type) (arg)) + #endif diff --git a/SPECS/userspace-rcu/userspace-rcu.spec b/SPECS/userspace-rcu/userspace-rcu.spec index 612b3d47530..b931b0ac991 100644 --- a/SPECS/userspace-rcu/userspace-rcu.spec +++ b/SPECS/userspace-rcu/userspace-rcu.spec @@ -1,7 +1,7 @@ Summary: user space RCU (read-copy-update) Name: userspace-rcu Version: 0.14.0 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ Vendor: Microsoft Corporation Distribution: Azure Linux @@ -9,6 +9,9 @@ Group: Development/Tools URL: https://liburcu.org #Source0: https://github.com/urcu/userspace-rcu/archive/v%{version}.tar.gz Source0: %{name}-%{version}.tar.gz +# Backport of upstream 0.15 fix: add 'typename' to the C++ URCU_FORCE_CAST macro +# so rcu_dereference() compiles in C++ dependent contexts (e.g. lttng-tools 2.14). +Patch0: cpp-force-cast-typename.patch BuildRequires: elfutils-devel BuildRequires: libxml2-devel BuildRequires: m4 @@ -26,7 +29,7 @@ Requires: userspace-rcu = %{version}-%{release} Library files for doing development with userspace-rcu. %prep -%setup -q +%autosetup -p1 %build autoreconf -fiv @@ -58,6 +61,9 @@ make %{?_smp_mflags} check %{_includedir}/* %changelog +* Tue Aug 26 2026 Ankita Pareek - 0.14.0-3 +- Add typename to the C++ URCU_FORCE_CAST macro (backport from 0.15) to fix C++ consumers such as lttng-tools 2.14. + * Thu May 16 2024 Daniel McIlvaney - 0.14.0-2 - Sanitize license files From bcb124a88104326abe181921d228be4657a27d06 Mon Sep 17 00:00:00 2001 From: Ankita Pareek Date: Thu, 27 Aug 2026 06:38:57 +0000 Subject: [PATCH 4/4] userspace-rcu: fix patch whitespace (tab) so it applies with --fuzz=0 The previous patch used spaces instead of the tab present in the released tarball's compiler.h, so %autosetup (patch --fuzz=0) rejected the hunk. Regenerate the patch from the source-server tarball to match context exactly. Signed-off-by: Ankita Pareek --- SPECS/userspace-rcu/cpp-force-cast-typename.patch | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/SPECS/userspace-rcu/cpp-force-cast-typename.patch b/SPECS/userspace-rcu/cpp-force-cast-typename.patch index cc531929cee..61d4e0018f5 100644 --- a/SPECS/userspace-rcu/cpp-force-cast-typename.patch +++ b/SPECS/userspace-rcu/cpp-force-cast-typename.patch @@ -3,16 +3,14 @@ and related casts compile under a C++ dependent context (e.g. GCC's -std=gnu++11 used by lttng-tools 2.14). Backported from upstream userspace-rcu 0.15. -diff --git a/include/urcu/compiler.h b/include/urcu/compiler.h -index 2f32b38..23ee7a5 100644 --- a/include/urcu/compiler.h +++ b/include/urcu/compiler.h @@ -86,7 +86,7 @@ #define __rcu #ifdef __cplusplus --#define URCU_FORCE_CAST(_type, arg) (reinterpret_cast::type>(arg)) -+#define URCU_FORCE_CAST(_type, arg) (reinterpret_cast::type>(arg)) +-#define URCU_FORCE_CAST(_type, arg) (reinterpret_cast::type>(arg)) ++#define URCU_FORCE_CAST(_type, arg) (reinterpret_cast::type>(arg)) #else - #define URCU_FORCE_CAST(type, arg) ((type) (arg)) + #define URCU_FORCE_CAST(type, arg) ((type) (arg)) #endif