Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
9
sources/poky/meta/recipes-kernel/lttng/babeltrace/run-ptest
Executable file
9
sources/poky/meta/recipes-kernel/lttng/babeltrace/run-ptest
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
# use target=recheck if you want to recheck failing tests
|
||||
[ "$target" = "" ] && target=check
|
||||
|
||||
# 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 top_srcdir=$PWD top_builddir=$PWD"
|
||||
|
||||
exec make -C tests -k -s $makeargs $target 2>/dev/null
|
||||
@@ -0,0 +1,28 @@
|
||||
From 56986190e4b0c10945ce6aaa7ca10d6bd8a26a39 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Puhlman <jpuhlman@mvista.com>
|
||||
Date: Mon, 9 Mar 2020 21:10:35 +0000
|
||||
Subject: [PATCH] Make manpages multilib identical
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.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
|
||||
--- a/doc/man/asciidoc-attrs.conf.in
|
||||
+++ b/doc/man/asciidoc-attrs.conf.in
|
||||
@@ -1,7 +1,7 @@
|
||||
[attributes]
|
||||
# default values
|
||||
-system_plugin_path="@LIBDIR@/babeltrace2/plugins"
|
||||
-system_plugin_provider_path="@LIBDIR@/babeltrace2/plugin-providers"
|
||||
+system_plugin_path="@prefix@/lib*/babeltrace2/plugins"
|
||||
+system_plugin_provider_path="@prefix@/lib*/babeltrace2/plugin-providers"
|
||||
babeltrace_version="@PACKAGE_VERSION@"
|
||||
enable_debug_info="@ENABLE_DEBUG_INFO_VAL@"
|
||||
defrdport=5344
|
||||
--
|
||||
2.24.1
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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
|
||||
|
||||
19
sources/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest
Executable file
19
sources/poky/meta/recipes-kernel/lttng/babeltrace2/run-ptest
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
# use target=recheck if you want to recheck failing tests
|
||||
[ "$target" = "" ] && target=check
|
||||
|
||||
# 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"
|
||||
|
||||
exec 2> error.log
|
||||
make -C tests -k -s $makeargs $target
|
||||
exitcode=$?
|
||||
if [ -e error.log ]; then
|
||||
cat error.log
|
||||
fi
|
||||
if [ -e tests/test-suite.log ]; then
|
||||
cat tests/test-suite.log
|
||||
fi
|
||||
|
||||
exit $exitcode
|
||||
107
sources/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
Normal file
107
sources/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
Normal file
@@ -0,0 +1,107 @@
|
||||
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"
|
||||
|
||||
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 \
|
||||
file://run-ptest \
|
||||
file://0001-tests-do-not-run-test-applications-from-.libs.patch \
|
||||
file://0001-Make-manpages-multilib-identical.patch \
|
||||
"
|
||||
SRCREV = "0a6632f77801f3218a288604c646f8a39cb0d2c4"
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig ptest python3targetconfig
|
||||
|
||||
EXTRA_OECONF = "--disable-debug-info --disable-Werror"
|
||||
|
||||
PACKAGECONFIG ??= "manpages"
|
||||
PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native"
|
||||
|
||||
FILES:${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a"
|
||||
FILES:${PN} += "${libdir}/babeltrace2/plugins/*.so"
|
||||
|
||||
ASNEEDED = ""
|
||||
LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld ptest', ' -fuse-ld=bfd ', '', d)}"
|
||||
|
||||
# coreutils since we need full mktemp
|
||||
RDEPENDS:${PN}-ptest += "bash gawk python3 make grep coreutils findutils"
|
||||
|
||||
do_compile_ptest () {
|
||||
make -C tests all
|
||||
}
|
||||
|
||||
do_install_ptest () {
|
||||
install -d "${D}${PTEST_PATH}/tests"
|
||||
|
||||
# Copy required files from source directory
|
||||
for d in $(find "${S}/tests" -type d -printf '%P ') ; do
|
||||
install -d "${D}${PTEST_PATH}/tests/$d"
|
||||
find "${S}/tests/$d" -maxdepth 1 -executable -type f \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
|
||||
find "${S}/tests/$d" -maxdepth 1 -name *.sh \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
|
||||
find "${S}/tests/$d" -maxdepth 1 -name *.py \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
|
||||
find "${S}/tests/$d" -maxdepth 1 -name *.expect \
|
||||
-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/
|
||||
|
||||
# Copy the tests directory tree and the executables and
|
||||
# Makefiles found within.
|
||||
install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/"
|
||||
for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
|
||||
install -d "${D}${PTEST_PATH}/tests/$d"
|
||||
find "${B}/tests/$d" -maxdepth 1 -executable -type f \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
|
||||
test -r "${B}/tests/$d/Makefile" && \
|
||||
install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
|
||||
find "${B}/tests/$d" -maxdepth 1 -name *.sh \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
|
||||
done
|
||||
|
||||
for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
|
||||
for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
|
||||
cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
|
||||
done
|
||||
done
|
||||
|
||||
# Prevent attempts to update Makefiles during test runs, and
|
||||
# silence "Making check in $SUBDIR" messages.
|
||||
find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
|
||||
sed -i \
|
||||
-e '/Makefile:/,/^$/d' \
|
||||
-e '/%: %.in/,/^$/d' \
|
||||
-e '/echo "Making $$target in $$subdir"; \\/d' \
|
||||
-e 's/^srcdir = \(.*\)/srcdir = ./' \
|
||||
-e 's/^builddir = \(.*\)/builddir = ./' \
|
||||
-e 's/^all-am:.*/all-am:/' \
|
||||
{} +
|
||||
|
||||
# Substitute links to installed binaries.
|
||||
install -d "${D}${PTEST_PATH}/src/cli/"
|
||||
ln -s "${bindir}/babeltrace2" ${D}${PTEST_PATH}/src/cli/
|
||||
|
||||
# Remove architechture specific testfiles
|
||||
rm -rf ${D}${PTEST_PATH}/tests/data/plugins/flt.lttng-utils.debug-info/*
|
||||
}
|
||||
|
||||
do_install:append:class-nativesdk() {
|
||||
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
|
||||
cat <<- EOF > ${D}${SDKPATHNATIVE}/environment-setup.d/babeltrace2.sh
|
||||
export BABELTRACE_PLUGIN_PATH="${libdir}/babeltrace2/plugins"
|
||||
export LIBBABELTRACE2_PLUGIN_PROVIDER_DIR="${libdir}/babeltrace2/plugin-providers"
|
||||
EOF
|
||||
}
|
||||
|
||||
FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/babeltrace2.sh"
|
||||
|
||||
BBCLASSEXTEND = "nativesdk"
|
||||
100
sources/poky/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb
Normal file
100
sources/poky/meta/recipes-kernel/lttng/babeltrace_1.5.11.bb
Normal file
@@ -0,0 +1,100 @@
|
||||
SUMMARY = "Babeltrace - 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"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
|
||||
|
||||
DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
|
||||
|
||||
SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.5;protocol=https \
|
||||
file://run-ptest \
|
||||
"
|
||||
SRCREV = "91c00f70884887ff5c4849a8e3d47e311a22ba9d"
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig ptest
|
||||
|
||||
EXTRA_OECONF = "--disable-debug-info"
|
||||
|
||||
ASNEEDED = ""
|
||||
|
||||
RDEPENDS:${PN}-ptest += "bash gawk make"
|
||||
|
||||
addtask do_patch_ptest_path after do_patch before do_configure
|
||||
do_patch_ptest_path () {
|
||||
for f in $(grep -l -r abs_top_srcdir ${S}/tests); do
|
||||
sed -i 's:\@abs_top_srcdir\@:${PTEST_PATH}:' ${f}
|
||||
done
|
||||
|
||||
for f in $(grep -l -r abs_top_builddir ${S}/tests); do
|
||||
sed -i 's:\@abs_top_builddir\@:${PTEST_PATH}:' ${f}
|
||||
done
|
||||
for f in $(grep -l -r GREP ${S}/tests); do
|
||||
sed -i 's:\@GREP\@:grep:' ${f}
|
||||
done
|
||||
|
||||
for f in $(grep -l -r SED ${S}/tests); do
|
||||
sed -i 's:\@SED\@:sed:' ${f}
|
||||
done
|
||||
}
|
||||
|
||||
do_compile_ptest () {
|
||||
make -C tests all
|
||||
}
|
||||
|
||||
do_install_ptest () {
|
||||
# Copy required files from source directory
|
||||
for f in config/tap-driver.sh config/test-driver; do
|
||||
install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
|
||||
done
|
||||
install -d "$f" "${D}${PTEST_PATH}/tests/ctf-traces/"
|
||||
cp -a ${S}/tests/ctf-traces/* ${D}${PTEST_PATH}/tests/ctf-traces/
|
||||
|
||||
# Copy the tests directory tree and the executables and
|
||||
# Makefiles found within.
|
||||
install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/"
|
||||
for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
|
||||
install -d "${D}${PTEST_PATH}/tests/$d"
|
||||
find "${B}/tests/$d" -maxdepth 1 -executable -type f \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
|
||||
test -r "${B}/tests/$d/Makefile" && \
|
||||
install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
|
||||
find "${B}/tests/$d" -maxdepth 1 -name *.sh \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
|
||||
done
|
||||
|
||||
for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
|
||||
for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
|
||||
cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
|
||||
done
|
||||
done
|
||||
|
||||
install -D ${B}/formats/ctf/metadata/.libs/ctf-parser-test \
|
||||
${D}${PTEST_PATH}/formats/ctf/metadata/ctf-parser-test
|
||||
|
||||
# Prevent attempts to update Makefiles during test runs, and
|
||||
# silence "Making check in $SUBDIR" messages.
|
||||
find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
|
||||
sed -i \
|
||||
-e '/Makefile:/,/^$/d' \
|
||||
-e '/$(check_SCRIPTS)/s/^/#/' \
|
||||
-e '/%: %.in/,/^$/d' \
|
||||
-e '/echo "Making $$target in $$subdir"; \\/d' \
|
||||
-e 's/^srcdir = \(.*\)/srcdir = ./' \
|
||||
-e 's/^builddir = \(.*\)/builddir = ./' \
|
||||
-e 's/^all-am:.*/all-am:/' \
|
||||
{} +
|
||||
|
||||
# Remove path to babeltrace.
|
||||
for f in $(grep -l -r "^BABELTRACE_BIN" ${D}${PTEST_PATH}); do
|
||||
sed -i 's:^BABELTRACE_BIN.*:BABELTRACE_BIN=/usr/bin/babeltrace:' ${f}
|
||||
done
|
||||
for f in $(grep -l -r "^BTBIN" ${D}${PTEST_PATH}); do
|
||||
sed -i 's:^BTBIN.*:BTBIN=/usr/bin/babeltrace:' ${f}
|
||||
done
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "nativesdk"
|
||||
@@ -0,0 +1,93 @@
|
||||
From fec007d9630e010062cf5699a08460f71f46b527 Mon Sep 17 00:00:00 2001
|
||||
From: Kienan Stewart <kstewart@efficios.com>
|
||||
Date: Mon, 25 Mar 2024 08:54:42 -0400
|
||||
Subject: [PATCH 1/4] Fix: ASoC snd_doc_dapm on linux 6.9-rc1
|
||||
|
||||
See upstream commit:
|
||||
|
||||
commit 7df3eb4cdb6bbfa482f51548b9fd47c2723c68ba
|
||||
Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
|
||||
Date: Wed Mar 6 10:30:01 2024 +0100
|
||||
|
||||
ASoC: trace: add event to snd_soc_dapm trace events
|
||||
|
||||
Add the event value to the snd_soc_dapm_start and snd_soc_dapm_done trace
|
||||
events to make them more informative.
|
||||
|
||||
Trace before:
|
||||
|
||||
aplay-229 [000] 250.140309: snd_soc_dapm_start: card=vscn-2046
|
||||
aplay-229 [000] 250.167531: snd_soc_dapm_done: card=vscn-2046
|
||||
aplay-229 [000] 251.169588: snd_soc_dapm_start: card=vscn-2046
|
||||
aplay-229 [000] 251.195245: snd_soc_dapm_done: card=vscn-2046
|
||||
|
||||
Trace after:
|
||||
|
||||
aplay-214 [000] 693.290612: snd_soc_dapm_start: card=vscn-2046 event=1
|
||||
aplay-214 [000] 693.315508: snd_soc_dapm_done: card=vscn-2046 event=1
|
||||
aplay-214 [000] 694.537349: snd_soc_dapm_start: card=vscn-2046 event=2
|
||||
aplay-214 [000] 694.563241: snd_soc_dapm_done: card=vscn-2046 event=2
|
||||
|
||||
Upstream-Status: Backport [88c4e0fe Fix: ASoC snd_doc_dapm on linux 6.9-rc1]
|
||||
|
||||
Change-Id: If0d33544b8dd1dfb3d12ca9390892190fc0444b0
|
||||
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
|
||||
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
---
|
||||
include/instrumentation/events/asoc.h | 33 +++++++++++++++++++++++++++
|
||||
1 file changed, 33 insertions(+)
|
||||
|
||||
diff --git a/include/instrumentation/events/asoc.h b/include/instrumentation/events/asoc.h
|
||||
index 21d13a0f..5126d4c1 100644
|
||||
--- a/include/instrumentation/events/asoc.h
|
||||
+++ b/include/instrumentation/events/asoc.h
|
||||
@@ -51,6 +51,38 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_done,
|
||||
|
||||
)
|
||||
|
||||
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
|
||||
+LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
|
||||
+
|
||||
+ TP_PROTO(struct snd_soc_card *card, int event),
|
||||
+
|
||||
+ TP_ARGS(card, event),
|
||||
+
|
||||
+ TP_FIELDS(
|
||||
+ ctf_string(name, card->name)
|
||||
+ ctf_integer(int, event, event)
|
||||
+ )
|
||||
+)
|
||||
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_start,
|
||||
+
|
||||
+ asoc_snd_soc_dapm_start,
|
||||
+
|
||||
+ TP_PROTO(struct snd_soc_card *card, int event),
|
||||
+
|
||||
+ TP_ARGS(card, event)
|
||||
+
|
||||
+)
|
||||
+
|
||||
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
|
||||
+
|
||||
+ asoc_snd_soc_dapm_done,
|
||||
+
|
||||
+ TP_PROTO(struct snd_soc_card *card, int event),
|
||||
+
|
||||
+ TP_ARGS(card, event)
|
||||
+
|
||||
+)
|
||||
+#else
|
||||
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
|
||||
|
||||
TP_PROTO(struct snd_soc_card *card),
|
||||
@@ -81,6 +113,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
|
||||
TP_ARGS(card)
|
||||
|
||||
)
|
||||
+#endif
|
||||
|
||||
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget,
|
||||
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From a04234d63999f91405574928c80ded870dca157a Mon Sep 17 00:00:00 2001
|
||||
From: Kienan Stewart <kstewart@efficios.com>
|
||||
Date: Sun, 22 Dec 2024 17:39:35 +0800
|
||||
Subject: [PATCH] Fix: sched_stat_runtime changed in Linux 6.6.66
|
||||
|
||||
The following commit has been backported into the 6.6.y branch.
|
||||
|
||||
See upstream commit:
|
||||
|
||||
commit 5fe6ec8f6ab549b6422e41551abb51802bd48bc7
|
||||
Author: Peter Zijlstra <peterz@infradead.org>
|
||||
Date: Mon Nov 6 13:41:43 2023 +0100
|
||||
|
||||
sched: Remove vruntime from trace_sched_stat_runtime()
|
||||
|
||||
Tracing the runtime delta makes sense, observer can sum over time.
|
||||
Tracing the absolute vruntime makes less sense, inconsistent:
|
||||
absolute-vs-delta, but also vruntime delta can be computed from
|
||||
runtime delta.
|
||||
|
||||
Removing the vruntime thing also makes the two tracepoint sites
|
||||
identical, allowing to unify the code in a later patch.
|
||||
|
||||
Change-Id: I74acf0b8340c371e8411116e07e5c97b10f9c756
|
||||
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
|
||||
|
||||
Upstream-Status: Pending [https://review.lttng.org/c/lttng-modules/+/13813]
|
||||
|
||||
[Xiangyu: BP to fix compile error on linux 6.6.66, Minor conflict resolution]
|
||||
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
|
||||
---
|
||||
include/instrumentation/events/sched.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/instrumentation/events/sched.h b/include/instrumentation/events/sched.h
|
||||
index 24cf37c8..637a1e3a 100644
|
||||
--- a/include/instrumentation/events/sched.h
|
||||
+++ b/include/instrumentation/events/sched.h
|
||||
@@ -646,7 +646,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_blocked,
|
||||
TP_ARGS(tsk, delay))
|
||||
#endif
|
||||
|
||||
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
|
||||
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0) || \
|
||||
+ LTTNG_KERNEL_RANGE(6,6,66, 6,7,0))
|
||||
/*
|
||||
* Tracepoint for accounting runtime (time the task is executing
|
||||
* on a CPU).
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From 878f89b6136ff7b870a19e04901cc6f316bbe10a Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
Date: Sat, 15 May 2021 10:26:38 -0400
|
||||
Subject: [PATCH] src/Kbuild: change missing CONFIG_TRACEPOINTS to warning
|
||||
|
||||
Taken from a previous patch to the main lttng-modules Makefile, by
|
||||
Otavio Salvador:
|
||||
|
||||
The lttng-modules are being pulled by the tools-profile image feature,
|
||||
however, not every kernel has the CONFIG_TRACEPOINTS feature enabled.
|
||||
|
||||
This change makes the build do not fail when CONFIG_TRACEPOINTS is not
|
||||
available, allowing it to be kept being pulled by default.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
|
||||
---
|
||||
src/Kbuild | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: lttng-modules-2.13.10/src/Kbuild
|
||||
===================================================================
|
||||
--- lttng-modules-2.13.10.orig/src/Kbuild
|
||||
+++ lttng-modules-2.13.10/src/Kbuild
|
||||
@@ -2,10 +2,13 @@
|
||||
|
||||
ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
|
||||
ifeq ($(CONFIG_TRACEPOINTS),)
|
||||
- $(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
|
||||
+ $(warning The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
|
||||
+ DISABLE_MODULE = y
|
||||
endif # CONFIG_TRACEPOINTS
|
||||
endif # ifdef CONFIG_LOCALVERSION
|
||||
|
||||
+ifneq ($(DISABLE_MODULE),y)
|
||||
+
|
||||
TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))/..
|
||||
|
||||
lttng_check_linux_version = $(shell pwd)/include/linux/version.h
|
||||
@@ -150,3 +153,5 @@ lttng-statedump-objs := lttng-statedump-
|
||||
obj-$(CONFIG_LTTNG) += probes/
|
||||
obj-$(CONFIG_LTTNG) += lib/
|
||||
obj-$(CONFIG_LTTNG) += tests/
|
||||
+
|
||||
+endif # DISABLE_MODULE
|
||||
@@ -0,0 +1,132 @@
|
||||
From d8379ec6365a925db33cae94fb6783cdbdb6a922 Mon Sep 17 00:00:00 2001
|
||||
From: Kienan Stewart <kstewart@efficios.com>
|
||||
Date: Mon, 25 Mar 2024 09:40:29 -0400
|
||||
Subject: [PATCH 2/4] Fix: ASoC add component to set_bias_level events in linux
|
||||
6.9-rc1
|
||||
|
||||
See upstream commit:
|
||||
|
||||
commit 6ef46a69ec32fe1cf56de67742fcd01af4bf48af
|
||||
Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
|
||||
Date: Wed Mar 6 10:30:00 2024 +0100
|
||||
|
||||
ASoC: trace: add component to set_bias_level trace events
|
||||
|
||||
The snd_soc_bias_level_start and snd_soc_bias_level_done trace events
|
||||
currently look like:
|
||||
|
||||
aplay-229 [000] 1250.140778: snd_soc_bias_level_start: card=vscn-2046 val=1
|
||||
aplay-229 [000] 1250.140784: snd_soc_bias_level_done: card=vscn-2046 val=1
|
||||
aplay-229 [000] 1250.140786: snd_soc_bias_level_start: card=vscn-2046 val=2
|
||||
aplay-229 [000] 1250.140788: snd_soc_bias_level_done: card=vscn-2046 val=2
|
||||
kworker/u8:1-21 [000] 1250.140871: snd_soc_bias_level_start: card=vscn-2046 val=1
|
||||
kworker/u8:0-11 [000] 1250.140951: snd_soc_bias_level_start: card=vscn-2046 val=1
|
||||
kworker/u8:0-11 [000] 1250.140956: snd_soc_bias_level_done: card=vscn-2046 val=1
|
||||
kworker/u8:0-11 [000] 1250.140959: snd_soc_bias_level_start: card=vscn-2046 val=2
|
||||
kworker/u8:0-11 [000] 1250.140961: snd_soc_bias_level_done: card=vscn-2046 val=2
|
||||
kworker/u8:1-21 [000] 1250.167219: snd_soc_bias_level_done: card=vscn-2046 val=1
|
||||
kworker/u8:1-21 [000] 1250.167222: snd_soc_bias_level_start: card=vscn-2046 val=2
|
||||
kworker/u8:1-21 [000] 1250.167232: snd_soc_bias_level_done: card=vscn-2046 val=2
|
||||
kworker/u8:0-11 [000] 1250.167440: snd_soc_bias_level_start: card=vscn-2046 val=3
|
||||
kworker/u8:0-11 [000] 1250.167444: snd_soc_bias_level_done: card=vscn-2046 val=3
|
||||
kworker/u8:1-21 [000] 1250.167497: snd_soc_bias_level_start: card=vscn-2046 val=3
|
||||
kworker/u8:1-21 [000] 1250.167506: snd_soc_bias_level_done: card=vscn-2046 val=3
|
||||
|
||||
There are clearly multiple calls, one per component, but they cannot be
|
||||
discriminated from each other.
|
||||
|
||||
Change the ftrace events to also print the component name, to make it clear
|
||||
which part of the code is involved. This requires changing the passed value
|
||||
from a struct snd_soc_card, where the DAPM context is not kwown, to a
|
||||
struct snd_soc_dapm_context where it is obviously known but the a card
|
||||
pointer is also available.
|
||||
|
||||
With this change, the resulting trace becomes:
|
||||
|
||||
aplay-247 [000] 1436.357332: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=1
|
||||
aplay-247 [000] 1436.357338: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=1
|
||||
aplay-247 [000] 1436.357340: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=2
|
||||
aplay-247 [000] 1436.357343: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=2
|
||||
kworker/u8:4-215 [000] 1436.357437: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=1
|
||||
kworker/u8:5-231 [000] 1436.357518: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=1
|
||||
kworker/u8:5-231 [000] 1436.357523: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=1
|
||||
kworker/u8:5-231 [000] 1436.357526: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=2
|
||||
kworker/u8:5-231 [000] 1436.357528: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=2
|
||||
kworker/u8:4-215 [000] 1436.383217: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=1
|
||||
kworker/u8:4-215 [000] 1436.383221: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=2
|
||||
kworker/u8:4-215 [000] 1436.383231: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=2
|
||||
kworker/u8:5-231 [000] 1436.383468: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=3
|
||||
kworker/u8:5-231 [000] 1436.383472: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=3
|
||||
kworker/u8:4-215 [000] 1436.383503: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=3
|
||||
kworker/u8:4-215 [000] 1436.383513: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=3
|
||||
|
||||
Upstream-Status: Backport [303434ab Fix: ASoC add component to set_bias_level events in linux 6.9-rc1]
|
||||
|
||||
Change-Id: I959f1680c002acdf29828b968d3975247f5433d8
|
||||
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
|
||||
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
---
|
||||
include/instrumentation/events/asoc.h | 36 +++++++++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
|
||||
Index: lttng-modules-2.13.12/include/instrumentation/events/asoc.h
|
||||
===================================================================
|
||||
--- lttng-modules-2.13.12.orig/include/instrumentation/events/asoc.h
|
||||
+++ lttng-modules-2.13.12/include/instrumentation/events/asoc.h
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <lttng/kernel-version.h>
|
||||
|
||||
#define DAPM_DIRECT "(direct)"
|
||||
+#define DAPM_COMPONENT_NONE "(none)"
|
||||
|
||||
#ifndef _TRACE_ASOC_DEF
|
||||
#define _TRACE_ASOC_DEF
|
||||
@@ -119,6 +120,40 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
|
||||
)
|
||||
#endif
|
||||
|
||||
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
|
||||
+LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_context,
|
||||
+
|
||||
+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
|
||||
+
|
||||
+ TP_ARGS(dapm, val),
|
||||
+
|
||||
+ TP_FIELDS(
|
||||
+ ctf_string(name, dapm->card->name)
|
||||
+ ctf_string(component, dapm->component ? dapm->component->name : DAPM_COMPONENT_NONE)
|
||||
+ ctf_integer(int, val, val)
|
||||
+ )
|
||||
+)
|
||||
+
|
||||
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_start,
|
||||
+
|
||||
+ asoc_snd_soc_bias_level_start,
|
||||
+
|
||||
+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
|
||||
+
|
||||
+ TP_ARGS(dapm, val)
|
||||
+
|
||||
+)
|
||||
+
|
||||
+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_done,
|
||||
+
|
||||
+ asoc_snd_soc_bias_level_done,
|
||||
+
|
||||
+ TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
|
||||
+
|
||||
+ TP_ARGS(dapm, val)
|
||||
+
|
||||
+)
|
||||
+#else
|
||||
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card,
|
||||
|
||||
TP_PROTO(struct snd_soc_card *card, int val),
|
||||
@@ -150,6 +185,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
|
||||
TP_ARGS(card, val)
|
||||
|
||||
)
|
||||
+#endif
|
||||
|
||||
#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
|
||||
LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
|
||||
@@ -0,0 +1,81 @@
|
||||
From f4a6415f8d5fa447868d1fdc7119e0a328966379 Mon Sep 17 00:00:00 2001
|
||||
From: Kienan Stewart <kstewart@efficios.com>
|
||||
Date: Mon, 25 Mar 2024 10:30:32 -0400
|
||||
Subject: [PATCH 3/4] Fix: mm_compaction_migratepages changed in linux 6.9-rc1
|
||||
|
||||
See upstream commit:
|
||||
|
||||
commit ab755bf4249b992fc2140d615ab0a686d50765b4
|
||||
Author: Baolin Wang <baolin.wang@linux.alibaba.com>
|
||||
Date: Tue Feb 20 14:16:31 2024 +0800
|
||||
|
||||
mm: compaction: update the cc->nr_migratepages when allocating or freeing the freepages
|
||||
|
||||
Currently we will use 'cc->nr_freepages >= cc->nr_migratepages' comparison
|
||||
to ensure that enough freepages are isolated in isolate_freepages(),
|
||||
however it just decreases the cc->nr_freepages without updating
|
||||
cc->nr_migratepages in compaction_alloc(), which will waste more CPU
|
||||
cycles and cause too many freepages to be isolated.
|
||||
|
||||
So we should also update the cc->nr_migratepages when allocating or
|
||||
freeing the freepages to avoid isolating excess freepages. And I can see
|
||||
fewer free pages are scanned and isolated when running thpcompact on my
|
||||
Arm64 server:
|
||||
|
||||
k6.7 k6.7_patched
|
||||
Ops Compaction pages isolated 120692036.00 118160797.00
|
||||
Ops Compaction migrate scanned 131210329.00 154093268.00
|
||||
Ops Compaction free scanned 1090587971.00 1080632536.00
|
||||
Ops Compact scan efficiency 12.03 14.26
|
||||
|
||||
Moreover, I did not see an obvious latency improvements, this is likely
|
||||
because isolating freepages is not the bottleneck in the thpcompact test
|
||||
case.
|
||||
|
||||
k6.7 k6.7_patched
|
||||
Amean fault-both-1 1089.76 ( 0.00%) 1080.16 * 0.88%*
|
||||
Amean fault-both-3 1616.48 ( 0.00%) 1636.65 * -1.25%*
|
||||
Amean fault-both-5 2266.66 ( 0.00%) 2219.20 * 2.09%*
|
||||
Amean fault-both-7 2909.84 ( 0.00%) 2801.90 * 3.71%*
|
||||
Amean fault-both-12 4861.26 ( 0.00%) 4733.25 * 2.63%*
|
||||
Amean fault-both-18 7351.11 ( 0.00%) 6950.51 * 5.45%*
|
||||
Amean fault-both-24 9059.30 ( 0.00%) 9159.99 * -1.11%*
|
||||
Amean fault-both-30 10685.68 ( 0.00%) 11399.02 * -6.68%*
|
||||
|
||||
Upstream-Status: Backport [175fe77c Fix: mm_compaction_migratepages changed in linux 6.9-rc1]
|
||||
|
||||
Change-Id: I103a43fd1b549360b3fc978fd409b7c17ef3e192
|
||||
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
|
||||
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
---
|
||||
include/instrumentation/events/compaction.h | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: lttng-modules-2.13.12/include/instrumentation/events/compaction.h
|
||||
===================================================================
|
||||
--- lttng-modules-2.13.12.orig/include/instrumentation/events/compaction.h
|
||||
+++ lttng-modules-2.13.12/include/instrumentation/events/compaction.h
|
||||
@@ -97,7 +97,22 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(comp
|
||||
|
||||
#endif /* #else #if LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0) */
|
||||
|
||||
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
|
||||
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
|
||||
+LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
|
||||
+
|
||||
+ compaction_migratepages,
|
||||
+
|
||||
+ TP_PROTO(unsigned int nr_migratepages,
|
||||
+ unsigned int nr_succeeded),
|
||||
+
|
||||
+ TP_ARGS(nr_migratepages, nr_succeeded),
|
||||
+
|
||||
+ TP_FIELDS(
|
||||
+ ctf_integer(unsigned long, nr_migrated, nr_succeeded)
|
||||
+ ctf_integer(unsigned long, nr_failed, nr_migratepages - nr_succeeded)
|
||||
+ )
|
||||
+)
|
||||
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
|
||||
LTTNG_RHEL_KERNEL_RANGE(5,14,0,163,0,0, 5,15,0,0,0,0))
|
||||
LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 217bc2e4685050dddce9bdd2557b64f6b8c16622 Mon Sep 17 00:00:00 2001
|
||||
From: Kienan Stewart <kstewart@efficios.com>
|
||||
Date: Mon, 25 Mar 2024 10:53:46 -0400
|
||||
Subject: [PATCH 4/4] Fix: dev_base_lock removed in linux 6.9-rc1
|
||||
|
||||
See upstream commit:
|
||||
|
||||
commit 1b3ef46cb7f2618cc0b507393220a69810f6da12
|
||||
Author: Eric Dumazet <edumazet@google.com>
|
||||
Date: Tue Feb 13 06:32:45 2024 +0000
|
||||
|
||||
net: remove dev_base_lock
|
||||
|
||||
dev_base_lock is not needed anymore, all remaining users also hold RTNL.
|
||||
|
||||
Upstream-Status: Backport [52eb2ee9 Fix: dev_base_lock removed in linux 6.9-rc1]
|
||||
|
||||
Change-Id: I6b07e6eed07fd398302ca14d23162ed24d74df15
|
||||
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
|
||||
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
---
|
||||
src/lttng-statedump-impl.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
Index: lttng-modules-2.13.12/src/lttng-statedump-impl.c
|
||||
===================================================================
|
||||
--- lttng-modules-2.13.12.orig/src/lttng-statedump-impl.c
|
||||
+++ lttng-modules-2.13.12/src/lttng-statedump-impl.c
|
||||
@@ -392,6 +392,20 @@ void lttng_enumerate_device(struct lttng
|
||||
}
|
||||
}
|
||||
|
||||
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
|
||||
+static
|
||||
+int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
|
||||
+{
|
||||
+ struct net_device *dev;
|
||||
+
|
||||
+ rtnl_lock();
|
||||
+ for_each_netdev(&init_net, dev)
|
||||
+ lttng_enumerate_device(session, dev);
|
||||
+ rtnl_unlock();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#else
|
||||
static
|
||||
int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
|
||||
{
|
||||
@@ -404,6 +418,7 @@ int lttng_enumerate_network_ip_interface
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif /* (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0)) */
|
||||
#else /* CONFIG_INET */
|
||||
static inline
|
||||
int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
|
||||
@@ -0,0 +1,46 @@
|
||||
SECTION = "devel"
|
||||
SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
|
||||
DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
|
||||
HOMEPAGE = "https://lttng.org/"
|
||||
LICENSE = "LGPL-2.1-only & GPL-2.0-only & MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
|
||||
|
||||
inherit module
|
||||
|
||||
include lttng-platforms.inc
|
||||
|
||||
SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
|
||||
file://0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch \
|
||||
file://0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch \
|
||||
file://0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch \
|
||||
file://0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch \
|
||||
file://0001-Fix-sched_stat_runtime-changed-in-Linux-6.6.66.patch \
|
||||
"
|
||||
|
||||
# Use :append here so that the patch is applied also when using devupstream
|
||||
SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
|
||||
|
||||
SRC_URI[sha256sum] = "d85fcb66c7bd31003ab8735e8c77700e5e4f417b4c22fe1f20112cf435abad79"
|
||||
|
||||
export INSTALL_MOD_DIR="kernel/lttng-modules"
|
||||
|
||||
EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
|
||||
|
||||
MODULES_MODULE_SYMVERS_LOCATION = "src"
|
||||
|
||||
do_install:append() {
|
||||
# Delete empty directories to avoid QA failures if no modules were built
|
||||
if [ -d ${D}/${nonarch_base_libdir} ]; then
|
||||
find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
|
||||
fi
|
||||
}
|
||||
|
||||
python do_package:prepend() {
|
||||
if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
|
||||
bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "devupstream:target"
|
||||
SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13;protocol=https"
|
||||
SRCREV:class-devupstream = "7584cfc04914cb0842a986e9808686858b9c8630"
|
||||
SRCREV_FORMAT ?= "lttng_git"
|
||||
21
sources/poky/meta/recipes-kernel/lttng/lttng-platforms.inc
Normal file
21
sources/poky/meta/recipes-kernel/lttng/lttng-platforms.inc
Normal file
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# Whether the platform supports kernel tracing
|
||||
#
|
||||
LTTNGMODULES = "lttng-modules"
|
||||
LTTNGMODULES:arc = ""
|
||||
LTTNGMODULES:riscv64 = ""
|
||||
|
||||
COMPATIBLE_HOST:riscv64:pn-lttng-modules = "null"
|
||||
COMPATIBLE_HOST:arc:pn-lttng-modules = "null"
|
||||
|
||||
# Whether the platform supports userspace tracing
|
||||
# lttng-ust uses sched_getcpu() which is not there on for some platforms.
|
||||
LTTNGUST = "lttng-ust"
|
||||
LTTNGUST:arc = ""
|
||||
|
||||
COMPATIBLE_HOST:arc:pn-lttng-ust = "null"
|
||||
|
||||
# Whether the platform supports lttng-tools
|
||||
# lttng-tools requires SYS_ppoll and SYS_pselect6 which are not supported on riscv32.
|
||||
# It's also turned off for riscv32 in meta-riscv. See https://github.com/riscv/meta-riscv/blob/master/conf/layer.conf
|
||||
COMPATIBLE_HOST:riscv32:pn-lttng-tools = "null"
|
||||
@@ -0,0 +1,56 @@
|
||||
From 6b45c5f80d20e7bbf3d98c1fa17d2cf8716af3bb Mon Sep 17 00:00:00 2001
|
||||
From: Xiangyu Chen <xiangyu.chen@windriver.com>
|
||||
Date: Mon, 25 Mar 2024 18:20:14 +0800
|
||||
Subject: [PATCH] Fix: rotation-destroy-flush: fix session daemon abort if no
|
||||
kernel module present
|
||||
|
||||
Testing rotation-destroy-flush when no lttng kernel modules present, it would
|
||||
be failed with error message:
|
||||
|
||||
Error: Unable to load required module lttng-ring-buffer-client-discard
|
||||
not ok 1 - Start session daemon
|
||||
Failed test 'Start session daemon'
|
||||
not ok 2 - Create session rotation_destroy_flush in -o /tmp/tmp.test_rot ...
|
||||
...
|
||||
|
||||
This because test script that sets the LTTNG_ABORT_ON_ERROR environment
|
||||
variable. It's this environment variable that causes the sessiond to handle the
|
||||
kernel module loading failure as an abort rather than a warning.
|
||||
|
||||
Using "check_skip_kernel_test" to detect whether the kernel module fails to
|
||||
load is expected or not. If the failure is expected, the script won't set that
|
||||
environment variable any more.
|
||||
|
||||
Fixes: 3a174400
|
||||
("tests:add check_skip_kernel_test to check root user and lttng kernel modules")
|
||||
|
||||
Upstream-Status: Submitted [https://review.lttng.org/c/lttng-tools/+/12155]
|
||||
|
||||
Change-Id: I371e9ba717613e2940186f710cf3cccd35baed6c
|
||||
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
|
||||
---
|
||||
.../ust/rotation-destroy-flush/test_rotation_destroy_flush | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush b/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
|
||||
index 669bcbc43..64161768f 100755
|
||||
--- a/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
|
||||
+++ b/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
|
||||
@@ -23,11 +23,11 @@ SIZE_LIMIT=$PAGE_SIZE
|
||||
NR_ITER=10
|
||||
NUM_TESTS=$((15*$NR_ITER))
|
||||
|
||||
-# Ensure the daemons invoke abort on error.
|
||||
-export LTTNG_ABORT_ON_ERROR=1
|
||||
-
|
||||
source $TESTDIR/utils/utils.sh
|
||||
|
||||
+# Ensure the daemons invoke abort on error.
|
||||
+check_skip_kernel_test || export LTTNG_ABORT_ON_ERROR=1
|
||||
+
|
||||
# MUST set TESTDIR before calling those functions
|
||||
function run_app()
|
||||
{
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From 74b3844737b03492756b4f896c938b504b069f14 Mon Sep 17 00:00:00 2001
|
||||
From: Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
||||
Date: Tue, 17 Jan 2023 16:57:35 -0500
|
||||
Subject: [PATCH] compat: off64_t is not defined by musl
|
||||
|
||||
This helps compile with latest musl, where off64_t is not defined unless
|
||||
_LARGEFILE64_SOURCE is defined. On glibc, _LARGEFILE64_SOURCE is defined
|
||||
if _GNU_SOURCE is defined, so the problem is only seen with musl.
|
||||
|
||||
Since the project uses AC_SYS_LARGEFILE, which from the autoconf doc:
|
||||
"arrange for 64-bit file offsets, known as large-file support."
|
||||
|
||||
As such, it is safe to assume off_t is 64-bit wide. This is checked by a
|
||||
static_assert to catch any platform where autoconf would let a 32-bit
|
||||
off_t slip.
|
||||
|
||||
Upstream-Status: Submitted [https://review.lttng.org/c/lttng-tools/+/9268]
|
||||
Reported-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
|
||||
Change-Id: If2c6007a8c85bc3f3065002af8a7538b882fb4a8
|
||||
---
|
||||
|
||||
--- a/src/common/compat/compat-fcntl.c
|
||||
+++ b/src/common/compat/compat-fcntl.c
|
||||
@@ -8,14 +8,17 @@
|
||||
#define _LGPL_SOURCE
|
||||
#include <common/compat/fcntl.h>
|
||||
#include <common/macros.h>
|
||||
+#include <common/bug.h>
|
||||
+#include <stdint.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#ifdef __linux__
|
||||
|
||||
LTTNG_HIDDEN
|
||||
-int compat_sync_file_range(int fd, off64_t offset, off64_t nbytes,
|
||||
+int compat_sync_file_range(int fd, off_t offset, off_t nbytes,
|
||||
unsigned int flags)
|
||||
{
|
||||
+ LTTNG_BUILD_BUG_ON(sizeof(off_t) != sizeof(int64_t));
|
||||
#ifdef HAVE_SYNC_FILE_RANGE
|
||||
return sync_file_range(fd, offset, nbytes, flags);
|
||||
#else
|
||||
--- a/src/common/compat/fcntl.h
|
||||
+++ b/src/common/compat/fcntl.h
|
||||
@@ -13,16 +13,12 @@
|
||||
|
||||
#include <common/compat/errno.h>
|
||||
|
||||
-#if (defined(__CYGWIN__))
|
||||
-typedef long long off64_t;
|
||||
-#endif
|
||||
-
|
||||
#if (defined(__FreeBSD__) || defined(__sun__))
|
||||
typedef off64_t loff_t;
|
||||
#endif
|
||||
|
||||
#ifdef __linux__
|
||||
-extern int compat_sync_file_range(int fd, off64_t offset, off64_t nbytes,
|
||||
+extern int compat_sync_file_range(int fd, off_t offset, off_t nbytes,
|
||||
unsigned int flags);
|
||||
#define lttng_sync_file_range(fd, offset, nbytes, flags) \
|
||||
compat_sync_file_range(fd, offset, nbytes, flags)
|
||||
@@ -37,8 +33,8 @@ extern int compat_sync_file_range(int fd
|
||||
#define SYNC_FILE_RANGE_WAIT_BEFORE 0
|
||||
#define SYNC_FILE_RANGE_WRITE 0
|
||||
|
||||
-static inline int lttng_sync_file_range(int fd, off64_t offset,
|
||||
- off64_t nbytes, unsigned int flags)
|
||||
+static inline int lttng_sync_file_range(int fd, off_t offset,
|
||||
+ off_t nbytes, unsigned int flags)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
||||
From 2237748af00467ad8250a7ccd944200f811db69a 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); \
|
||||
@@ -0,0 +1,34 @@
|
||||
Upstream-Status: Inappropriate [need to root cause the test hangs]
|
||||
|
||||
We keep seeing hangs in the tools/notifications tests on x86 and arm for
|
||||
a variety of distros. Exclude them for now to work out if this is the
|
||||
only place we see them and give SWAT/triage a break from the stream
|
||||
of them.
|
||||
|
||||
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14263
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Index: lttng-tools-2.13.1/tests/regression/Makefile.am
|
||||
===================================================================
|
||||
--- lttng-tools-2.13.1.orig/tests/regression/Makefile.am
|
||||
+++ lttng-tools-2.13.1/tests/regression/Makefile.am
|
||||
@@ -29,18 +29,6 @@ TESTS = tools/base-path/test_ust \
|
||||
tools/crash/test_crash \
|
||||
tools/regen-metadata/test_ust \
|
||||
tools/regen-statedump/test_ust \
|
||||
- tools/notification/test_notification_ust_error \
|
||||
- tools/notification/test_notification_ust_buffer_usage \
|
||||
- tools/notification/test_notification_ust_capture \
|
||||
- tools/notification/test_notification_ust_event_rule_condition_exclusion \
|
||||
- tools/notification/test_notification_kernel_error \
|
||||
- tools/notification/test_notification_kernel_buffer_usage \
|
||||
- tools/notification/test_notification_kernel_capture \
|
||||
- tools/notification/test_notification_kernel_instrumentation \
|
||||
- tools/notification/test_notification_kernel_syscall \
|
||||
- tools/notification/test_notification_notifier_discarded_count \
|
||||
- tools/notification/test_notification_kernel_userspace_probe \
|
||||
- tools/notification/test_notification_multi_app \
|
||||
tools/rotation/test_ust \
|
||||
tools/rotation/test_kernel \
|
||||
tools/rotation/test_save_load_mi \
|
||||
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=LTTng 2.x central tracing registry session daemon
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/lttng-sessiond -d
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
45
sources/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
Executable file
45
sources/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
# Without --ignore-exit, the tap harness causes any FAILs within a
|
||||
# test plan to raise ERRORs; this is just noise.
|
||||
|
||||
#Detecting whether current system has lttng kernel modules
|
||||
LTTNG_KMOD_PATH=/lib/modules/$(uname -r)/kernel/lttng-modules/lttng-tracer.ko
|
||||
function validate_lttng_modules_present()
|
||||
{
|
||||
# Check for loadable modules.
|
||||
if [ -f "$LTTNG_KMOD_PATH" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Check for builtin modules.
|
||||
ls /proc/lttng > /dev/null 2>&1
|
||||
if [ $? -eq 0 ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
export LD_LIBRARY_PATH=FIXMEPTESTPATH/tests/utils/testapp/userspace-probe-elf-binary/.libs
|
||||
makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=FIXMEPTESTPATH top_builddir=FIXMEPTESTPATH"
|
||||
|
||||
#If current system doesn't have lttng kernel modules, disable lttng kernel related tests.
|
||||
validate_lttng_modules_present || {
|
||||
makeargs="$makeargs LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1"
|
||||
}
|
||||
|
||||
make -k -t all >error.log 2>&1
|
||||
# Can specify a test e.g.:
|
||||
# -C tests/regression/ check TESTS='kernel/test_callstack'
|
||||
make -k -s $makeargs check 2>error.log | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g'
|
||||
exitcode=$?
|
||||
if [ -e error.log ]; then
|
||||
cat error.log
|
||||
fi
|
||||
if [ -e tests/unit/test-suite.log ]; then
|
||||
cat tests/unit/test-suite.log
|
||||
fi
|
||||
if [ -e tests/regression/test-suite.log ]; then
|
||||
cat tests/regression/test-suite.log
|
||||
fi
|
||||
exit $exitcode
|
||||
197
sources/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb
Normal file
197
sources/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb
Normal file
@@ -0,0 +1,197 @@
|
||||
SECTION = "devel"
|
||||
SUMMARY = "Linux Trace Toolkit Control"
|
||||
DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \
|
||||
to extract program execution details from the Linux operating system \
|
||||
and interpret them."
|
||||
HOMEPAGE = "https://github.com/lttng/lttng-tools"
|
||||
|
||||
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \
|
||||
file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \
|
||||
file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95"
|
||||
|
||||
include lttng-platforms.inc
|
||||
|
||||
DEPENDS = "liburcu popt libxml2 util-linux bison-native"
|
||||
RDEPENDS:${PN} = "libgcc"
|
||||
RRECOMMENDS:${PN} += "${LTTNGMODULES}"
|
||||
RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep binutils"
|
||||
RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
|
||||
RDEPENDS:${PN}-ptest:append:libc-musl = " musl-utils"
|
||||
# babelstats.pl wants getopt-long
|
||||
RDEPENDS:${PN}-ptest += "perl-module-getopt-long"
|
||||
|
||||
PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
|
||||
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
|
||||
PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
|
||||
"
|
||||
PACKAGECONFIG ??= "${LTTNGUST} kmod"
|
||||
PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
|
||||
PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust"
|
||||
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://0001-compat-Define-off64_t-as-off_t-on-linux.patch \
|
||||
file://0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch \
|
||||
file://0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "ff5f4f00b081dac66092afe8e72b7c790670931cf1c1ee0deaa7f80fbc53883e"
|
||||
|
||||
inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
|
||||
|
||||
CACHED_CONFIGUREVARS = "PGREP=/usr/bin/pgrep"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "lttng-sessiond.service"
|
||||
SYSTEMD_AUTO_ENABLE = "disable"
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
GROUPADD_PARAM:${PN} = "tracing"
|
||||
|
||||
FILES:${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \
|
||||
${PYTHON_SITEPACKAGES_DIR}/*"
|
||||
FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
|
||||
FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
|
||||
|
||||
# Since files are installed into ${libdir}/lttng/libexec we match
|
||||
# the libexec insane test so skip it.
|
||||
# Python module needs to keep _lttng.so
|
||||
INSANE_SKIP:${PN} = "libexec dev-so"
|
||||
INSANE_SKIP:${PN}-dbg = "libexec"
|
||||
|
||||
PRIVATE_LIBS:${PN}-ptest = "libfoo.so"
|
||||
|
||||
do_install:append () {
|
||||
# install systemd unit file
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_system_unitdir}
|
||||
}
|
||||
|
||||
do_install_ptest () {
|
||||
for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/*.lttng \
|
||||
tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh \
|
||||
tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh \
|
||||
tests/regression/tools/notification/util_event_generator.sh \
|
||||
tests/regression/tools/base-path/*.lttng; do
|
||||
install -D "${B}/$f" "${D}${PTEST_PATH}/$f"
|
||||
done
|
||||
|
||||
for f in tests/utils/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.1.xsd; do
|
||||
install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
|
||||
done
|
||||
|
||||
# Patch in the correct path for the custom libraries a helper executable needs
|
||||
sed -i -e 's!FIXMEPTESTPATH!${PTEST_PATH}!g' "${D}${PTEST_PATH}/run-ptest"
|
||||
|
||||
# Prevent 'make check' from recursing into non-test subdirectories.
|
||||
sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile"
|
||||
|
||||
# We don't need these
|
||||
sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile"
|
||||
|
||||
# We shouldn't need to build anything in tests/utils
|
||||
sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \
|
||||
"${D}${PTEST_PATH}/tests/Makefile"
|
||||
|
||||
# Copy the tests directory tree and the executables and
|
||||
# Makefiles found within.
|
||||
for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
|
||||
install -d "${D}${PTEST_PATH}/tests/$d"
|
||||
find "${B}/tests/$d" -maxdepth 1 -executable -type f \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
|
||||
# Take all .py scripts for tests using the python bindings.
|
||||
find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \
|
||||
-exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
|
||||
test -r "${B}/tests/$d/Makefile" && \
|
||||
install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
|
||||
done
|
||||
|
||||
for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
|
||||
for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
|
||||
cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
|
||||
case $f in
|
||||
*.so|userspace-probe-elf-*)
|
||||
install -d ${D}${PTEST_PATH}/tests/$d/
|
||||
ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f
|
||||
# Remove any rpath/runpath to pass QA check.
|
||||
chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f
|
||||
;;
|
||||
esac
|
||||
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/regression/ust/ust-dl/libbar.so
|
||||
chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so
|
||||
|
||||
#
|
||||
# Use the versioned libs of liblttng-ust-dl.
|
||||
#
|
||||
ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py"
|
||||
if [ -e $ustdl ]; then
|
||||
sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl
|
||||
fi
|
||||
|
||||
install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/
|
||||
|
||||
# We shouldn't need to build anything in tests/regression/tools
|
||||
sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \
|
||||
"${D}${PTEST_PATH}/tests/regression/Makefile"
|
||||
|
||||
# Prevent attempts to update Makefiles during test runs, and
|
||||
# silence "Making check in $SUBDIR" messages.
|
||||
find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
|
||||
sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \
|
||||
-e '/echo "Making $$target in $$subdir"; \\/d' \
|
||||
-e 's/^srcdir = \(.*\)/srcdir = ./' \
|
||||
-e 's/^builddir = \(.*\)/builddir = ./' \
|
||||
-e 's/^all-am:.*/all-am:/' \
|
||||
{} +
|
||||
|
||||
find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
|
||||
touch -r "${B}/Makefile" {} +
|
||||
|
||||
#
|
||||
# Need to stop generated binaries from rebuilding by removing their source dependencies
|
||||
#
|
||||
sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \
|
||||
-e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \
|
||||
-e 's#\(^test.*SOURCES.=\)#disable\1#g' \
|
||||
-e 's#\(^test.*LDADD.=\)#disable\1#g' \
|
||||
-i ${D}${PTEST_PATH}/tests/unit/Makefile
|
||||
|
||||
# Fix hardcoded build path
|
||||
sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH="${PTEST_PATH}/tests/regression/#' \
|
||||
-i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging
|
||||
|
||||
# Substitute links to installed binaries.
|
||||
for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do
|
||||
exedir="${D}${PTEST_PATH}/src/bin/${prog}"
|
||||
install -d "$exedir"
|
||||
case "$prog" in
|
||||
lttng-consumerd)
|
||||
ln -s "${libdir}/lttng/libexec/$prog" "$exedir"
|
||||
;;
|
||||
*)
|
||||
ln -s "${bindir}/$prog" "$exedir"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
INHIBIT_PACKAGE_STRIP_FILES = "\
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary \
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary \
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-cxx-binary/userspace-probe-elf-cxx-binary \
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-cxx-binary/.libs/userspace-probe-elf-cxx-binary \
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events/gen-syscall-events \
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events/.libs/gen-syscall-events \
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events-callstack/gen-syscall-events-callstack \
|
||||
${PKGD}${PTEST_PATH}/tests/utils/testapp/gen-syscall-events-callstack/.libs/gen-syscall-events-callstack \
|
||||
"
|
||||
@@ -0,0 +1,161 @@
|
||||
From 5d10459b6b5182fcbc98240d9dace026c87a5037 Mon Sep 17 00:00:00 2001
|
||||
From: Kienan Stewart <kstewart@efficios.com>
|
||||
Date: Mon, 5 Aug 2024 15:41:34 -0400
|
||||
Subject: [PATCH] Fix: Build examples when rpath is stripped from in-build-tree
|
||||
libs
|
||||
|
||||
Observed issue
|
||||
==============
|
||||
|
||||
Certain tool chains[1, 2] emit warnings or errors when building the
|
||||
example applications.
|
||||
|
||||
```
|
||||
make[3]: Entering directory
|
||||
'/home/xxx/src/efficios/lttng/master/src/lttng-ust/doc/examples/easy-ust'
|
||||
CC sample.o
|
||||
CC tp.o
|
||||
CCLD sample
|
||||
|
||||
/usr/bin/ld: warning: liblttng-ust-common.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link)
|
||||
/usr/bin/ld: warning: liblttng-ust-tracepoint.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link)
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_add_fd_to_tracker'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_after_fork_child'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_common_ctor'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_tp_init'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_tp_probe_register_queue_release'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_cancelstate_disable_pop'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_synchronize_rcu'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_register_thread'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_tp_probe_prune_release_queue'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_cancelstate_disable_push'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_before_fork'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_lock_fd_tracker'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_trace_clock'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_has_sys_membarrier'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_unlock_fd_tracker'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_tp_exit'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_get_cpu_sym'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_common_alloc_tls'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_after_fork_parent'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_delete_fd_from_tracker'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_register'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_reader'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_urcu_gp'
|
||||
/usr/bin/ld: ../../../src/lib/lttng-ust/.libs/liblttng-ust.so: undefined reference to `lttng_ust_tp_probe_unregister_queue_release'
|
||||
collect2: error: ld returned 1 exit status
|
||||
```
|
||||
|
||||
=== Reproducer ===
|
||||
|
||||
The easiest way to consistently reproduce this type of build failure
|
||||
is to perform the following steps:
|
||||
|
||||
```
|
||||
./configure
|
||||
make -j$(nproc)
|
||||
find . -iname '*.so' -exec chrpath -d {} \;
|
||||
make -C doc/examples clean
|
||||
make -j$(nproc)
|
||||
```
|
||||
|
||||
As the examples are not built with libtool, finding the libraries to
|
||||
link against depends on the shared objects having an rpath.
|
||||
|
||||
E.g.
|
||||
|
||||
```
|
||||
$ chrpath src/lib/lttng-ust/.libs/liblttng-ust.so.1.0.0
|
||||
src/lib/lttng-ust/.libs/liblttng-ust.so.1.0.0: RUNPATH=/home/xxx/src/efficios/lttng/master/src/lttng-ust/src/lib/lttng-ust-common/.libs:/home/xxx/src/efficios/lttng/master/src/lttng-ust/src/lib/lttng-ust-tracepoint/.libs:/home/xxx/src/efficios/lttng/master/usr/lib
|
||||
```
|
||||
|
||||
The current examples build with `-Wl,-rpath` for `liblttng-ust`, but
|
||||
not the dependencies of `liblttng-ust` (which would normally be found
|
||||
via it's own rpath). If the `rpath` is stripped from
|
||||
`liblttng-ust.so`, or if the tool chain ignores `rpath` explicitly,
|
||||
then the build with fail.
|
||||
|
||||
In the case of a yocto build environment as in GitHub#61[1], the
|
||||
following commands reproduced the warnings and the errors seen in the
|
||||
above test case.
|
||||
|
||||
```
|
||||
git clone git://git.yoctoproject.org/poky && cd poky/
|
||||
. oe-init-build-env
|
||||
echo "PACKAGECONFIG:pn-lttng-ust = 'examples'" >>conf/local.conf
|
||||
bitbake lttng-ust
|
||||
```
|
||||
|
||||
=== Solution ===
|
||||
|
||||
Explicitly add library search paths and set linker rpath-link are set
|
||||
for both the standard and cmake examples. Similar changes were
|
||||
proposed for each of those parts respectively in GitHub#61[1] and GitHub#63[2].
|
||||
|
||||
=== Known issues ===
|
||||
|
||||
While the `rpath-link` for the second order library dependencies will
|
||||
allow the builds to complete, the examples will not work at
|
||||
runtime even when using `rpath`. From `man ld.so`, the rpaths in an
|
||||
executable or shared object are only considered for direct
|
||||
dependencies. Therefore, without setting `LD_LIBRARY_PATH` or
|
||||
installing the libraries test applications will fail as follows:
|
||||
|
||||
```
|
||||
$ ./doc/examples/easy-ust/sample
|
||||
./doc/examples/easy-ust/sample: error while loading shared libraries: liblttng-ust-common.so.1: cannot open shared object file: No such file or directory
|
||||
```
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
[1]: https://github.com/lttng/lttng-ust/pull/61
|
||||
[2]: https://github.com/lttng/lttng-ust/pull/63
|
||||
|
||||
Change-Id: I273ccddd0d0b7a1b57b9e09ddf48d8b5b41e6f8e
|
||||
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
|
||||
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
|
||||
|
||||
Upstream-Status: Backport [https://github.com/lttng/lttng-ust/commit/5d10459b6b5182fcbc98240d9dace026c87a5037]
|
||||
Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
|
||||
|
||||
---
|
||||
doc/examples/Makefile.am | 13 ++++++++++---
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
|
||||
index aebf63bd..79766ec0 100644
|
||||
--- a/doc/examples/Makefile.am
|
||||
+++ b/doc/examples/Makefile.am
|
||||
@@ -169,7 +169,10 @@ all-local:
|
||||
CFLAGS='$(CFLAGS)' \
|
||||
AM_CFLAGS='$(AM_CFLAGS)' \
|
||||
LDFLAGS="$(LDFLAGS)" \
|
||||
- AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -Wl,-rpath="$(PWD)/../../src/lib/lttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../src/lib/lttng-ust/.libs/"' \
|
||||
+ AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -L../../../src/lib/lttng-ust-common/.libs -L../../../src/lib/lttng-ust-tracepoint/.libs \
|
||||
+ -Wl,-rpath="$(abs_top_builddir)/src/lib/lttng-ust/.libs/" \
|
||||
+ -Wl,-rpath-link="$(abs_top_builddir)/src/lib/lttng-ust-common/.libs/" \
|
||||
+ -Wl,-rpath-link="$(abs_top_builddir)/src/lib/lttng-ust-tracepoint/.libs/"' \
|
||||
LTTNG_GEN_TP_PATH="$$rel_src_subdir$(top_srcdir)/tools/" \
|
||||
AM_V_P="$(AM_V_P)" \
|
||||
AM_V_at="$(AM_V_at)" \
|
||||
@@ -222,10 +225,14 @@ all-local:
|
||||
CXX="$(CXX)" \
|
||||
$(CMAKE) \
|
||||
-DCMAKE_INCLUDE_PATH="$(abs_top_srcdir)/include;$(abs_top_builddir)/include" \
|
||||
- -DCMAKE_LIBRARY_PATH="$(abs_top_builddir)/src/lib/lttng-ust/.libs" \
|
||||
+ -DCMAKE_LIBRARY_PATH="$(abs_top_builddir)/src/lib/lttng-ust/.libs;$(abs_top_builddir)/src/lib/lttng-ust-common/.libs;$(abs_top_builddir)/src/lib/lttng-ust-tracepoint/.libs" \
|
||||
-DCMAKE_C_FLAGS="$(AM_CFLAGS) $(CPPFLAGS) $(CFLAGS)" \
|
||||
-DCMAKE_CXX_FLAGS="$(AM_CXXFLAGS) $(CXXFLAGS) $(CPPFLAGS)" \
|
||||
- -DCMAKE_EXE_LINKER_FLAGS="$(AM_LDFLAGS) $(LDFLAGS)" \
|
||||
+ -DCMAKE_EXE_LINKER_FLAGS="$(AM_LDFLAGS) $(LDFLAGS) \
|
||||
+ -L../../../src/lib/lttng-ust/.libs -L../../../src/lib/lttng-ust-common/.libs -L../../../src/lib/lttng-ust-tracepoint/.libs \
|
||||
+ -Wl,-rpath=$(abs_top_builddir)/src/lib/lttng-ust/.libs/ \
|
||||
+ -Wl,-rpath-link=$(abs_top_builddir)/src/lib/lttng-ust-common/.libs/ \
|
||||
+ -Wl,-rpath-link=$(abs_top_builddir)/src/lib/lttng-ust-tracepoint/.libs/" \
|
||||
.. && \
|
||||
$(MAKE) \
|
||||
) || exit 1; \
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 27402453f25fbdb5a9fb1a1b88d1c4d9852187d2 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex@linutronix.de>
|
||||
Date: Sun, 5 Sep 2021 10:44:19 +0200
|
||||
Subject: [PATCH] lttng-ust-common: link with liburcu explicitly
|
||||
|
||||
Otherwise linking errors are seen on x86-32.
|
||||
|
||||
Upstream-Status: Submitted [by email to lttng-dev, Francis, Jonathan]
|
||||
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||
|
||||
---
|
||||
src/lib/lttng-ust-common/Makefile.am | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/lib/lttng-ust-common/Makefile.am b/src/lib/lttng-ust-common/Makefile.am
|
||||
index 1ccc290..6531fa0 100644
|
||||
--- a/src/lib/lttng-ust-common/Makefile.am
|
||||
+++ b/src/lib/lttng-ust-common/Makefile.am
|
||||
@@ -16,6 +16,7 @@ liblttng_ust_common_la_SOURCES = \
|
||||
|
||||
liblttng_ust_common_la_LIBADD = \
|
||||
$(top_builddir)/src/common/libcommon.la \
|
||||
+ $(URCU_LIBS) \
|
||||
$(DL_LIBS)
|
||||
|
||||
liblttng_ust_common_la_LDFLAGS = -no-undefined -version-info $(LTTNG_UST_LIBRARY_VERSION)
|
||||
@@ -0,0 +1,29 @@
|
||||
From f65efd963e52de51d35e2e03fb773f33dd64f565 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Date: Tue, 20 Feb 2024 12:19:06 +0000
|
||||
Subject: [PATCH] python-lttngust/Makefile.am: Add --install-lib to setup.py
|
||||
|
||||
Otherwise it may install to /usr/lib, but should be /usr/lib64 when cross
|
||||
building.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/59]
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
|
||||
---
|
||||
src/python-lttngust/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/python-lttngust/Makefile.am b/src/python-lttngust/Makefile.am
|
||||
index d53e21d..283901e 100644
|
||||
--- a/src/python-lttngust/Makefile.am
|
||||
+++ b/src/python-lttngust/Makefile.am
|
||||
@@ -45,7 +45,7 @@ install-exec-local: build-python-bindings.stamp
|
||||
if [ "$(DESTDIR)" != "" ]; then \
|
||||
opts="$$opts --root=$(DESTDIR)"; \
|
||||
fi; \
|
||||
- $(PYTHON) $(builddir)/setup.py install $(PY_INSTALL_OPTS) $$opts;
|
||||
+ $(PYTHON) $(builddir)/setup.py install $(PY_INSTALL_OPTS) $$opts --install-lib=$(pythondir);
|
||||
|
||||
clean-local:
|
||||
rm -rf $(builddir)/build
|
||||
53
sources/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.8.bb
Normal file
53
sources/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.8.bb
Normal file
@@ -0,0 +1,53 @@
|
||||
SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x"
|
||||
DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes."
|
||||
HOMEPAGE = "http://lttng.org/ust"
|
||||
BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later & MIT & GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=a46577a38ad0c36ff6ff43ccf40c480f"
|
||||
|
||||
PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
|
||||
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
|
||||
PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
|
||||
"
|
||||
|
||||
inherit autotools lib_package manpages python3native pkgconfig
|
||||
|
||||
include lttng-platforms.inc
|
||||
|
||||
EXTRA_OECONF = "--disable-numa"
|
||||
CPPFLAGS:append:arm = "${@oe.utils.vartrue('DEBUG_BUILD', '-DUATOMIC_NO_LINK_ERROR', '', d)}"
|
||||
|
||||
DEPENDS = "liburcu util-linux"
|
||||
RDEPENDS:${PN}-bin = "python3-core"
|
||||
|
||||
# For backwards compatibility after rename
|
||||
RPROVIDES:${PN} = "lttng2-ust"
|
||||
RREPLACES:${PN} = "lttng2-ust"
|
||||
RCONFLICTS:${PN} = "lttng2-ust"
|
||||
|
||||
PE = "2"
|
||||
|
||||
SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
|
||||
file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \
|
||||
file://0001-lttng-ust-common-link-with-liburcu-explicitly.patch \
|
||||
file://0001-Fix-Build-examples-when-rpath-is-stripped-from-in-bu.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "d4ef98dab9a37ad4f524ccafdfd50af4f266039b528dd5afabce78e49024d937"
|
||||
|
||||
CVE_PRODUCT = "ust"
|
||||
|
||||
PACKAGECONFIG[examples] = "--enable-examples, --disable-examples,"
|
||||
PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
|
||||
PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3"
|
||||
|
||||
FILES:${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*"
|
||||
FILES:${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a"
|
||||
FILES:${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la"
|
||||
|
||||
do_install:append() {
|
||||
# Patch python tools to use Python 3; they should be source compatible, but
|
||||
# still refer to Python 2 in the shebang
|
||||
sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp
|
||||
}
|
||||
Reference in New Issue
Block a user