commit: 3ad687db09d24628947e5655c6f37ee31734b53f Author: Alfred Wingate <parona <AT> protonmail <DOT> com> AuthorDate: Wed Sep 10 20:03:15 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Sep 10 22:47:04 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ad687db
dev-util/lttng-tools: fix libxml2.14 in 2.13 branch * Add verify-sig support. * Handle kmod automagic. * Unrestrict tests. Bug: https://bugs.gentoo.org/955783 Signed-off-by: Alfred Wingate <parona <AT> protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/43735 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-util/lttng-tools/Manifest | 1 + .../files/lttng-tools-2.13.0-libxml2-2.14.patch | 47 +++++++++ dev-util/lttng-tools/lttng-tools-2.13.15-r1.ebuild | 109 +++++++++++++++++++++ 3 files changed, 157 insertions(+) diff --git a/dev-util/lttng-tools/Manifest b/dev-util/lttng-tools/Manifest index ecf56acb300c..42fc8a3f9344 100644 --- a/dev-util/lttng-tools/Manifest +++ b/dev-util/lttng-tools/Manifest @@ -1,4 +1,5 @@ DIST lttng-tools-2.13.14.tar.bz2 1932238 BLAKE2B f079051502d01ffc67c4f8f0bbcdf3a4428546c652dcc352918c4908a37aeb510dd66309306cec835297c8d2f276e5cbd22ea4efef6866d3c0c0cf8651d68ef8 SHA512 61bdebb539cfb4eb61c9806e98742f39dc032d849b03d90cdb98d1891bd5bfbd0cb1f54bbc7bf79a11505ce7fee558497312d650bb41f11f739884e7cb8a750f DIST lttng-tools-2.13.15.tar.bz2 1934955 BLAKE2B 3942ef4a48995329300ddf926a590b5eafbd75847f100e739b4a54be0ddeae41f7acfff0e24243fc41c876dc57be6a13157958ba1fa65111e272d4a7d50280ee SHA512 0aaef9e298e5ec6f4c60d337277ca83aa86af17a1ebdeb976f000a68a8a99a1e4e0d1b88dae3c09171ca903d1ae1118819d4e3981fc4f9aade23b8370db2c367 +DIST lttng-tools-2.13.15.tar.bz2.asc 833 BLAKE2B a106d6330801c2da10e6f5428a1c83ec7380541770d8ab52f7f7c110c20b1681936d3341cf0119a686db5e85baf8a18ba017d8d62dd67f037324907798a82988 SHA512 30be205d14d55f6ec1db1ab1e356f04db69fa03fac6cfb862b1933334d184eb4aaf9bddb6e243baf6f5b1bd56d3a13a4deab8ae869cf5b47633958b0a227e923 DIST lttng-tools-2.14.0.tar.bz2 3256087 BLAKE2B 954ec9563995e21ae05060136b0cb722e53b7c90aace1d45940577ee8dc69055817b5ce560e59c52ecd89cb6a92cdae6429472bfd1a8d167d462def43d8aa7ca SHA512 4027f8c4685976c6b04de1825e1b57dba720e10a055a62ff0b7384387167dce242915cc877022273fe76a9e0c4e907a1779c71354167ca26cf6a0ba332bf7598 DIST lttng-tools-2.14.0.tar.bz2.asc 833 BLAKE2B 79527dc48e5fdd9b06030507d14ed42a427b98e93796acb3a71d5af6f17a6d2f5a335c4d0e694cb9dd8e774960af12009c138415b4ba72934fea934b5bbce867 SHA512 5104cc0baf02bee630a119ba0b45bd445209706b306ec28d11b7dcad50b6f972ec26537755fb55b603f21e90a03e478e79893d0b80a921bb47045f41613edffd diff --git a/dev-util/lttng-tools/files/lttng-tools-2.13.0-libxml2-2.14.patch b/dev-util/lttng-tools/files/lttng-tools-2.13.0-libxml2-2.14.patch new file mode 100644 index 000000000000..76b663965c31 --- /dev/null +++ b/dev-util/lttng-tools/files/lttng-tools-2.13.0-libxml2-2.14.patch @@ -0,0 +1,47 @@ +https://bugs.gentoo.org/955783 +https://github.com/lttng/lttng-tools/pull/170 + +From 7d669a90212e105b0f669aa2ab38c987b187baab Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <[email protected]> +Date: Wed, 21 May 2025 13:09:25 +0800 +Subject: [PATCH] fix lttng-tools fails to compile with libxml2 2.14.0+ + +Description: +| In file included from /srv/pokybuild/yocto-worker/qemux86-alt/build/build/tmp/work/core2-32-poky-linux/lttng-tools/2.13.15/recipe-sysroot/usr/include/libxml2/libxml/parser.h:25, +| from ../../../../lttng-tools-2.13.15/src/common/config/session-config.c:29: +| /srv/pokybuild/yocto-worker/qemux86-alt/build/build/tmp/work/core2-32-poky-linux/lttng-tools/2.13.15/recipe-sysroot/usr/include/libxml2/libxml/encoding.h:173:7: note: declared here +| 173 | } input XML_DEPRECATED_MEMBER; +| | ^~~~~ +| ../../../../lttng-tools-2.13.15/src/common/config/session-config.c:432:15: error: called object is not a function or function pointer +| 432 | ret = handler->input(out_str, &out_len, (const xmlChar *) in_str, &in_len); +| | ^~~~~~~ +| At top level: +| cc1: note: unrecognized command-line option '-Wno-incomplete-setjmp-declaration' may have been intended to silence earlier diagnostics + +According to [1][2], the UTF-8 handler is +``` +static xmlCharEncError +UTF8ToUTF8(void *vctxt ATTRIBUTE_UNUSED, + unsigned char* out, int *outlen, + const unsigned char* in, int *inlen, + int flush ATTRIBUTE_UNUSED) +``` + +Update input.func with setting ATTRIBUTE_UNUSED params with NULL and 0 + +[1] https://gitlab.gnome.org/GNOME/libxml2/-/commit/38f475072aefe032fff1dc058df3e56c1e7062fa +[2] https://gitlab.gnome.org/GNOME/libxml2/-/commit/69b83bb68e2a8ed0013f80c51b9a358714b00c9a#478024cc18a2cc8dbaed34076e9775f6827f413d_2188_2201 + +Signed-off-by: Marko, Peter <[email protected]> +Signed-off-by: Hongxu Jia <[email protected]> +--- a/src/common/config/session-config.c ++++ b/src/common/config/session-config.c +@@ -429,7 +429,7 @@ static xmlChar *encode_string(const char *in_str) + goto end; + } + +- ret = handler->input(out_str, &out_len, (const xmlChar *) in_str, &in_len); ++ ret = handler->input.func(NULL, out_str, &out_len, (const xmlChar *) in_str, &in_len, 0); + if (ret < 0) { + xmlFree(out_str); + out_str = NULL; diff --git a/dev-util/lttng-tools/lttng-tools-2.13.15-r1.ebuild b/dev-util/lttng-tools/lttng-tools-2.13.15-r1.ebuild new file mode 100644 index 000000000000..ac30d031442d --- /dev/null +++ b/dev-util/lttng-tools/lttng-tools-2.13.15-r1.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic verify-sig + +# Please bump the following packages together: +# dev-util/lttng-modules +# dev-util/lttng-tools +# dev-util/lttng-ust + +MY_P="${P/_rc/-rc}" +MY_SLOT="$(ver_cut 1-2)" + +DESCRIPTION="Linux Trace Toolkit - next generation" +HOMEPAGE="https://lttng.org" +SRC_URI=" + https://lttng.org/files/${PN}/${MY_P}.tar.bz2 + verify-sig? ( https://lttng.org/files/${PN}/${MY_P}.tar.bz2.asc ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0/${MY_SLOT}" +KEYWORDS="~amd64 ~x86" +IUSE="kmod test +ust" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/userspace-rcu-0.11.0:= + dev-libs/popt + >=dev-libs/libxml2-2.7.6:= + kmod? ( sys-apps/kmod ) + ust? ( >=dev-util/lttng-ust-${MY_SLOT}.0:= ) +" +DEPEND=" + ${RDEPEND} + test? ( >=dev-libs/libpfm-4.0 ) +" +BDEPEND=" + virtual/pkgconfig + test? ( dev-util/babeltrace:0 ) + verify-sig? ( sec-keys/openpgp-keys-jeremiegalarneau ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jeremiegalarneau.asc + +QA_CONFIG_IMPL_DECL_SKIP=( + pthread_get_name_np # different from pthread_getname_*, not on linux + pthread_set_name_np # different from pthread_setname_*, not on linux +) + +PATCHES=( + "${FILESDIR}"/lttng-tools-2.13.0-libxml2-2.14.patch +) + +src_prepare() { + default + + # skip tests that appear to fail due to the sandbox + sed -e '/tools\/save-load\/test_autoload/d' \ + -e '/tools\/metadata\/test_ust/d' \ + -i tests/regression/Makefile.am || die + + # skip tests which fail outside the ebuild as well + sed -e '/tools\/notification\/test_notification_ust_buffer_usage/d' \ + -e '/tools\/notification\/test_notification_notifier_discarded_count/d' \ + -e '/tools\/notification\/test_notification_multi_app/d' \ + -i tests/regression/Makefile.am || die + + eautoreconf +} + +src_configure() { + # bug 906928 + use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE + + local myeconfargs=( + $(use_with kmod) + $(use_with ust lttng-ust) + --disable-test-sdt-uprobe + --disable-python-bindings + --disable-Werror + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + # see tests/README.adoc + local -x LTTNG_ENABLE_DESTRUCTIVE_TESTS=0 + local -x LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1 + + # Otherwise it might try to use the system installed binary (and fail if its not installed prior!) + local -x LTTNG_SESSIOND_PATH="${S}/src/bin/lttng-sessiond/lttng-sessiond" + + # Otherwise it might try to use /var/lib/portage/home + local -x LTTNG_HOME="${HOME}/lttng" + mkdir -p "${LTTNG_HOME}" || die + + # Tests misbehave if you are unlucky + emake check -j1 +} + +src_install() { + default + find "${ED}" -type f -name '*.la' -delete || die +}
