]> code.ossystems Code Review - openembedded-core.git/commitdiff
lttng: Move platform logic to dedicated inc file
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 27 Aug 2020 08:56:28 +0000 (09:56 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 27 Aug 2020 20:41:44 +0000 (21:41 +0100)
Some platforms support kernel tracing, some support userspace tracing.
This change:

* Moves the knowledge/config to one place in an inc file
* Allows lttng-tools to build without lttng-modules
* Hence enables tools+ust for riscv64
* Has the packagegroup just depend on lttng-tools which will pull in
  ust/modules as needed

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
meta/recipes-kernel/lttng/lttng-modules_2.12.2.bb
meta/recipes-kernel/lttng/lttng-platforms.inc [new file with mode: 0644]
meta/recipes-kernel/lttng/lttng-tools_2.12.2.bb
meta/recipes-kernel/lttng/lttng-ust_2.12.0.bb

index 608e406f83446a31c83640d1ee9bccfae7050cdf..17b1391a4765baadbf75779e6e84165a99d6083a 100644 (file)
@@ -35,17 +35,8 @@ SYSTEMTAP_libc-musl = ""
 SYSTEMTAP_nios2 = ""
 SYSTEMTAP_riscv64 = ""
 
-# lttng-ust uses sched_getcpu() which is not there on for some platforms.
-LTTNGUST = "lttng-ust"
-LTTNGUST_arc = ""
-
 LTTNGTOOLS = "lttng-tools"
 LTTNGTOOLS_arc = ""
-LTTNGTOOLS_riscv64 = ""
-
-LTTNGMODULES = "lttng-modules"
-LTTNGMODULES_arc = ""
-LTTNGMODULES_riscv64 = ""
 
 BABELTRACE = "babeltrace"
 BABELTRACE2 = "babeltrace2"
@@ -69,9 +60,7 @@ VALGRIND_linux-gnun32 = ""
 
 RDEPENDS_${PN} = "\
     ${PROFILETOOLS} \
-    ${LTTNGUST} \
     ${LTTNGTOOLS} \
-    ${LTTNGMODULES} \
     ${BABELTRACE} \
     ${BABELTRACE2} \
     ${SYSTEMTAP} \
index b9b364300192f903eb247ba6791cf5c28bdb2064..c2fc65e019e4936e5edf369f604c603e23c7933a 100644 (file)
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
 
 inherit module
 
-COMPATIBLE_HOST_riscv64 = "null"
+include lttng-platforms.inc
 
 SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
diff --git a/meta/recipes-kernel/lttng/lttng-platforms.inc b/meta/recipes-kernel/lttng/lttng-platforms.inc
new file mode 100644 (file)
index 0000000..aa8220b
--- /dev/null
@@ -0,0 +1,17 @@
+#
+# 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"
+
index 0614e867136fcb49f423e1c2740a0c4a81108b59..f7e6ec2cba333e336ab68d3fdeee71ebece23252 100644 (file)
@@ -9,9 +9,12 @@ 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"
 RDEPENDS_${PN} = "libgcc"
-RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules sed python3-core"
+RRECOMMENDS_${PN} += "${LTTNGMODULES}"
+RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core"
 RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
 RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
 # babelstats.pl wants getopt-long
@@ -21,12 +24,11 @@ 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 ??= "lttng-ust"
+PACKAGECONFIG ??= "${LTTNGUST}"
 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"
-PACKAGECONFIG_remove_arc = "lttng-ust"
 
 SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
            file://0001-tests-do-not-strip-a-helper-library.patch \
index ad544d1b4a2dc062c8c3ab3f6d30cf104f165a3d..67a4307c7bb1effca50c8ced950200993e843f06 100644 (file)
@@ -15,6 +15,8 @@ PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
 
 inherit autotools lib_package manpages python3native
 
+include lttng-platforms.inc
+
 EXTRA_OECONF = "--disable-numa"
 
 DEPENDS = "liburcu util-linux"