* [Buildroot] [PATCH v5 2/4] package/libtracefs: new package
2023-10-24 14:42 [Buildroot] [PATCH v5 1/4] package/libtraceevent: new package Giulio Benetti
@ 2023-10-24 14:42 ` Giulio Benetti
2024-01-06 14:02 ` Yann E. MORIN
2023-10-24 14:42 ` [Buildroot] [PATCH v5 3/4] package/linux-tools: add rtla Giulio Benetti
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Giulio Benetti @ 2023-10-24 14:42 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, Pierre Floury, Giulio Benetti,
Maxime Chevallier, Andreas Ziegler
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Introduce the libtracefs library, that is used to be bundled with the
trace-cmd tool. This library is now used by several tools and libraries
such as trace-cmd and rtla, and is used as an interface to the ftrace
kernel subsystem through tracefs.
To build with meson, this package requires to disable documentation
generation, and since this is not possible add a local patch pending
upstream that adds -Ddoc=false support to libtracefs.
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
[Giulio:
- bump version to 1.7.0 and add hash file
- move to meson build system
]
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
V1->V2:
* bump to version 1.7.0
* add hash file
V2->V3:
* switch to meson build system
V4->V5:
* add host-flex/bison dependencies as suggested by Andreas Ziegler
---
DEVELOPERS | 2 +
package/Config.in | 1 +
...-add-option-to-disable-documentation.patch | 51 +++++++++++++++++++
package/libtracefs/Config.in | 6 +++
package/libtracefs/libtracefs.hash | 4 ++
package/libtracefs/libtracefs.mk | 18 +++++++
6 files changed, 82 insertions(+)
create mode 100644 package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch
create mode 100644 package/libtracefs/Config.in
create mode 100644 package/libtracefs/libtracefs.hash
create mode 100644 package/libtracefs/libtracefs.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 47c054bb56..09af18c54c 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1226,6 +1226,7 @@ F: package/libnspr/
F: package/libnss/
F: package/libnvme/
F: package/libtraceevent/
+F: package/libtracefs
F: package/mali-driver/
F: package/minicom/
F: package/mmc-utils/
@@ -2118,6 +2119,7 @@ F: package/timescaledb/
N: Maxime Chevallier <maxime.chevallier@bootlin.com>
F: package/libtraceevent/
+F: package/libtracefs
N: Michael Durrant <mdurrant@arcturusnetworks.com>
F: board/arcturus/
diff --git a/package/Config.in b/package/Config.in
index 15f6bdee16..18cbb745dd 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -118,6 +118,7 @@ menu "Debugging, profiling and benchmark"
source "package/latencytop/Config.in"
source "package/libbpf/Config.in"
source "package/libtraceevent/Config.in"
+ source "package/libtracefs/Config.in"
source "package/lmbench/Config.in"
source "package/lsof/Config.in"
source "package/ltp-testsuite/Config.in"
diff --git a/package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch b/package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch
new file mode 100644
index 0000000000..0813451008
--- /dev/null
+++ b/package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch
@@ -0,0 +1,51 @@
+From 881e23ed774360f93ca81f820d7897bd9bbd6d63 Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
+Date: Sat, 30 Sep 2023 22:40:08 +0200
+Subject: [PATCH] libtracefs: add option to disable documentation
+
+On some Linux environment builder(i.e. Buildroot) host asciidoc is not
+provided since by default all man/docs are not installed to target but
+meson.build at the moment build ascii and html documentation and
+requires asciidoc making the building to fail. So let's add doc option
+set to true by default to let the user to override it and not produce
+the documentation.
+
+Upstream: https://patchwork.kernel.org/project/linux-trace-devel/patch/20230930204008.2528607-1-giulio.benetti@benettiengineering.com/
+
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+---
+ meson.build | 3 +++
+ meson_options.txt | 2 ++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 9d42d78..f1e492e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -39,6 +39,8 @@ if cunit_dep.found()
+ subdir('utest')
+ endif
+ subdir('samples')
++
++if get_option('doc')
+ subdir('Documentation')
+
+ custom_target(
+@@ -46,3 +48,4 @@ custom_target(
+ output: 'docs',
+ depends: [html, man],
+ command: ['echo'])
++endif
+diff --git a/meson_options.txt b/meson_options.txt
+index 1d92c28..5533a88 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -14,3 +14,5 @@ option('man-bold-literal', type : 'boolean', value : false,
+ description : 'enable bold literals')
+ option('docbook-suppress-sp', type : 'boolean', value : false,
+ description : 'docbook suppress sp')
++option('doc', type : 'boolean', value: true,
++ description : 'produce documentation')
+--
+2.34.1
+
diff --git a/package/libtracefs/Config.in b/package/libtracefs/Config.in
new file mode 100644
index 0000000000..92ce0986df
--- /dev/null
+++ b/package/libtracefs/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_LIBTRACEFS
+ bool "libtracefs"
+ select BR2_PACKAGE_LIBTRACEEVENT
+ help
+ libtracefs is used to easily interface with the ftrace
+ interface through the tracefs virtual filesystem.
diff --git a/package/libtracefs/libtracefs.hash b/package/libtracefs/libtracefs.hash
new file mode 100644
index 0000000000..676fcf1111
--- /dev/null
+++ b/package/libtracefs/libtracefs.hash
@@ -0,0 +1,4 @@
+# Locally computed
+sha256 411fcbf3434ecbaefa6c2b1bf092266293a672e2d7ee46fdd6b402753cb8bd16 libtracefs-1.7.0.tar.gz
+sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 GPL-2.0
+sha256 0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8ca LGPL-2.1
diff --git a/package/libtracefs/libtracefs.mk b/package/libtracefs/libtracefs.mk
new file mode 100644
index 0000000000..1e6e19a234
--- /dev/null
+++ b/package/libtracefs/libtracefs.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# libtracefs
+#
+################################################################################
+
+LIBTRACEFS_VERSION = 1.7.0
+LIBTRACEFS_SITE = https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot
+LIBTRACEFS_INSTALL_STAGING = YES
+LIBTRACEFS_LICENSE = GPL-2.0, LGPL-2.1
+LIBTRACEFS_LICENSE_FILES = LICENSES/GPL-2.0 LICENSES/LGPL-2.1
+
+LIBTRACEFS_DEPENDENCIES = host-bison host-flex host-pkgconf libtraceevent
+
+LIBTRACEFS_CONF_OPTS = \
+ -Ddoc=false
+
+$(eval $(meson-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [Buildroot] [PATCH v5 2/4] package/libtracefs: new package
2023-10-24 14:42 ` [Buildroot] [PATCH v5 2/4] package/libtracefs: " Giulio Benetti
@ 2024-01-06 14:02 ` Yann E. MORIN
0 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2024-01-06 14:02 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Andreas Ziegler,
buildroot
Giulio, All,
On 2023-10-24 16:42 +0200, Giulio Benetti spake thusly:
> From: Maxime Chevallier <maxime.chevallier@bootlin.com>
>
> Introduce the libtracefs library, that is used to be bundled with the
> trace-cmd tool. This library is now used by several tools and libraries
> such as trace-cmd and rtla, and is used as an interface to the ftrace
> kernel subsystem through tracefs.
>
> To build with meson, this package requires to disable documentation
> generation, and since this is not possible add a local patch pending
> upstream that adds -Ddoc=false support to libtracefs.
>
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> [Giulio:
> - bump version to 1.7.0 and add hash file
> - move to meson build system
> ]
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> V1->V2:
> * bump to version 1.7.0
> * add hash file
> V2->V3:
> * switch to meson build system
> V4->V5:
> * add host-flex/bison dependencies as suggested by Andreas Ziegler
> ---
> DEVELOPERS | 2 +
> package/Config.in | 1 +
> ...-add-option-to-disable-documentation.patch | 51 +++++++++++++++++++
> package/libtracefs/Config.in | 6 +++
> package/libtracefs/libtracefs.hash | 4 ++
> package/libtracefs/libtracefs.mk | 18 +++++++
> 6 files changed, 82 insertions(+)
> create mode 100644 package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch
> create mode 100644 package/libtracefs/Config.in
> create mode 100644 package/libtracefs/libtracefs.hash
> create mode 100644 package/libtracefs/libtracefs.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 47c054bb56..09af18c54c 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1226,6 +1226,7 @@ F: package/libnspr/
> F: package/libnss/
> F: package/libnvme/
> F: package/libtraceevent/
> +F: package/libtracefs
> F: package/mali-driver/
> F: package/minicom/
> F: package/mmc-utils/
> @@ -2118,6 +2119,7 @@ F: package/timescaledb/
>
> N: Maxime Chevallier <maxime.chevallier@bootlin.com>
> F: package/libtraceevent/
> +F: package/libtracefs
>
> N: Michael Durrant <mdurrant@arcturusnetworks.com>
> F: board/arcturus/
> diff --git a/package/Config.in b/package/Config.in
> index 15f6bdee16..18cbb745dd 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -118,6 +118,7 @@ menu "Debugging, profiling and benchmark"
> source "package/latencytop/Config.in"
> source "package/libbpf/Config.in"
> source "package/libtraceevent/Config.in"
> + source "package/libtracefs/Config.in"
> source "package/lmbench/Config.in"
> source "package/lsof/Config.in"
> source "package/ltp-testsuite/Config.in"
> diff --git a/package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch b/package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch
> new file mode 100644
> index 0000000000..0813451008
> --- /dev/null
> +++ b/package/libtracefs/0001-libtracefs-add-option-to-disable-documentation.patch
> @@ -0,0 +1,51 @@
> +From 881e23ed774360f93ca81f820d7897bd9bbd6d63 Mon Sep 17 00:00:00 2001
> +From: Giulio Benetti <giulio.benetti@benettiengineering.com>
> +Date: Sat, 30 Sep 2023 22:40:08 +0200
> +Subject: [PATCH] libtracefs: add option to disable documentation
> +
> +On some Linux environment builder(i.e. Buildroot) host asciidoc is not
> +provided since by default all man/docs are not installed to target but
> +meson.build at the moment build ascii and html documentation and
> +requires asciidoc making the building to fail. So let's add doc option
> +set to true by default to let the user to override it and not produce
> +the documentation.
> +
> +Upstream: https://patchwork.kernel.org/project/linux-trace-devel/patch/20230930204008.2528607-1-giulio.benetti@benettiengineering.com/
> +
> +Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> +---
> + meson.build | 3 +++
> + meson_options.txt | 2 ++
> + 2 files changed, 5 insertions(+)
> +
> +diff --git a/meson.build b/meson.build
> +index 9d42d78..f1e492e 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -39,6 +39,8 @@ if cunit_dep.found()
> + subdir('utest')
> + endif
> + subdir('samples')
> ++
> ++if get_option('doc')
> + subdir('Documentation')
> +
> + custom_target(
> +@@ -46,3 +48,4 @@ custom_target(
> + output: 'docs',
> + depends: [html, man],
> + command: ['echo'])
> ++endif
> +diff --git a/meson_options.txt b/meson_options.txt
> +index 1d92c28..5533a88 100644
> +--- a/meson_options.txt
> ++++ b/meson_options.txt
> +@@ -14,3 +14,5 @@ option('man-bold-literal', type : 'boolean', value : false,
> + description : 'enable bold literals')
> + option('docbook-suppress-sp', type : 'boolean', value : false,
> + description : 'docbook suppress sp')
> ++option('doc', type : 'boolean', value: true,
> ++ description : 'produce documentation')
> +--
> +2.34.1
> +
> diff --git a/package/libtracefs/Config.in b/package/libtracefs/Config.in
> new file mode 100644
> index 0000000000..92ce0986df
> --- /dev/null
> +++ b/package/libtracefs/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_LIBTRACEFS
> + bool "libtracefs"
> + select BR2_PACKAGE_LIBTRACEEVENT
> + help
> + libtracefs is used to easily interface with the ftrace
> + interface through the tracefs virtual filesystem.
> diff --git a/package/libtracefs/libtracefs.hash b/package/libtracefs/libtracefs.hash
> new file mode 100644
> index 0000000000..676fcf1111
> --- /dev/null
> +++ b/package/libtracefs/libtracefs.hash
> @@ -0,0 +1,4 @@
> +# Locally computed
> +sha256 411fcbf3434ecbaefa6c2b1bf092266293a672e2d7ee46fdd6b402753cb8bd16 libtracefs-1.7.0.tar.gz
> +sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 GPL-2.0
> +sha256 0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8ca LGPL-2.1
> diff --git a/package/libtracefs/libtracefs.mk b/package/libtracefs/libtracefs.mk
> new file mode 100644
> index 0000000000..1e6e19a234
> --- /dev/null
> +++ b/package/libtracefs/libtracefs.mk
> @@ -0,0 +1,18 @@
> +################################################################################
> +#
> +# libtracefs
> +#
> +################################################################################
> +
> +LIBTRACEFS_VERSION = 1.7.0
> +LIBTRACEFS_SITE = https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot
> +LIBTRACEFS_INSTALL_STAGING = YES
> +LIBTRACEFS_LICENSE = GPL-2.0, LGPL-2.1
> +LIBTRACEFS_LICENSE_FILES = LICENSES/GPL-2.0 LICENSES/LGPL-2.1
> +
> +LIBTRACEFS_DEPENDENCIES = host-bison host-flex host-pkgconf libtraceevent
> +
> +LIBTRACEFS_CONF_OPTS = \
> + -Ddoc=false
> +
> +$(eval $(meson-package))
> --
> 2.34.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v5 3/4] package/linux-tools: add rtla
2023-10-24 14:42 [Buildroot] [PATCH v5 1/4] package/libtraceevent: new package Giulio Benetti
2023-10-24 14:42 ` [Buildroot] [PATCH v5 2/4] package/libtracefs: " Giulio Benetti
@ 2023-10-24 14:42 ` Giulio Benetti
2024-01-06 14:05 ` Yann E. MORIN
2023-10-24 14:42 ` [Buildroot] [PATCH v5 4/4] package/trace-cmd: bump to 3.1.7 Giulio Benetti
2024-01-06 14:01 ` [Buildroot] [PATCH v5 1/4] package/libtraceevent: new package Yann E. MORIN
3 siblings, 1 reply; 9+ messages in thread
From: Giulio Benetti @ 2023-10-24 14:42 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, Pierre Floury, Giulio Benetti,
Maxime Chevallier, Andreas Ziegler
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
The RealTime Linux Analysis tool includes a set of commands that relies
on the osnoise and timerlat tracers from the ftrace kernel subsystem,
allowing to analyze the lantency sources coming from the hardware and
the kernel itself.
This tool was introduced in v5.17 but until v5.19 it relied on libprocps
that has been deprecated soon. So let's make it available for v5.19+.
Rtla relies on libtracefs and libtraceevent, although libtraceevent itself
is already a dependency for libtracefs.
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
[Giulio: fix install on recent Linux versions]
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Andreas: deal with Linux Fixups, musl, SSP]
Signed-off-by: Andreas Ziegler <br015@umbiko.net>
---
V1->V2:
* fix install with recent Linux versions
V2->V3:
* deal with hwnoise presence as suggested by Yann Morin
* change Config.in comment according to the point above
V4->V5:
Suggested by Andreas Ziegler:
* improved commit log to explain why we support the package with Linux
5.19+
* added Linux Fixups
* added -D_GNU_SOURCE to build with musl
* added SSP workaround
---
DEVELOPERS | 2 +
package/linux-tools/Config.in | 10 +++++
package/linux-tools/linux-tool-rtla.mk.in | 55 +++++++++++++++++++++++
3 files changed, 67 insertions(+)
create mode 100644 package/linux-tools/linux-tool-rtla.mk.in
diff --git a/DEVELOPERS b/DEVELOPERS
index 09af18c54c..f9776fdaad 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1227,6 +1227,7 @@ F: package/libnss/
F: package/libnvme/
F: package/libtraceevent/
F: package/libtracefs
+F: package/linux-tools/linux-tool-rtla.mk.in
F: package/mali-driver/
F: package/minicom/
F: package/mmc-utils/
@@ -2120,6 +2121,7 @@ F: package/timescaledb/
N: Maxime Chevallier <maxime.chevallier@bootlin.com>
F: package/libtraceevent/
F: package/libtracefs
+F: package/linux-tools/linux-tool-rtla.mk.in
N: Michael Durrant <mdurrant@arcturusnetworks.com>
F: board/arcturus/
diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
index 451b0eeff5..4df73159be 100644
--- a/package/linux-tools/Config.in
+++ b/package/linux-tools/Config.in
@@ -102,6 +102,16 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
endif
+config BR2_PACKAGE_LINUX_TOOLS_RTLA
+ bool "rtla"
+ select BR2_PACKAGE_LINUX_TOOLS
+ select BR2_PACKAGE_LIBTRACEFS
+ help
+ Linux 5.19 and later has 2 new tracers, osnoise and timerlat.
+ Linux 6.3 has new tracer hwnoise. These tracers allow performing
+ latency analysis, for which the rtla tool provides wrapper
+ commands to visualize and extract latency traces and reports.
+
config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
bool"selftests"
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
diff --git a/package/linux-tools/linux-tool-rtla.mk.in b/package/linux-tools/linux-tool-rtla.mk.in
new file mode 100644
index 0000000000..603d86722d
--- /dev/null
+++ b/package/linux-tools/linux-tool-rtla.mk.in
@@ -0,0 +1,55 @@
+################################################################################
+#
+# rtla
+#
+################################################################################
+
+LINUX_TOOLS += rtla
+
+RTLA_DEPENDENCIES = host-pkgconf libtracefs
+RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
+ CC=$(TARGET_CC) \
+ EXTRA_CFLAGS="-D_GNU_SOURCE" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
+
+ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
+define RTLA_DISABLE_STACK_PROTECTOR
+ $(SED) 's/-fstack-protector.* //' $(LINUX_DIR)/tools/tracing/rtla/Makefile
+endef
+endif
+
+define RTLA_LINUX_CONFIG_FIXUPS
+ $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
+endef
+
+define RTLA_BUILD_CMDS
+ $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile >/dev/null 2>&1 ; then \
+ echo "Your kernel version is too old and does not implement the rtla tool." ; \
+ echo "At least kernel 5.19 must be used." ; \
+ exit 1 ; \
+ fi
+
+ $(RTLA_DISABLE_STACK_PROTECTOR)
+
+ $(TARGET_MAKE_ENV) \
+ $(MAKE) $(RTLA_MAKE_OPTS) \
+ -C $(LINUX_DIR)/tools/tracing rtla
+endef
+
+# make rtla_install build and install by default documentation using rst2man
+# but it's not available in Buildroot and we don't want manual files in target
+# folder so let's simply install the resulting rtla binary and create symlinks
+# like Linux does in its tools/tracing/rtla/Makefile
+define RTLA_INSTALL_TARGET_CMDS
+ $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla $(TARGET_DIR)/usr/bin
+ ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
+ ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
+
+ # Check if hwnoise is provided or not
+ if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \
+ ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
+ fi
+endef
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v5 3/4] package/linux-tools: add rtla
2023-10-24 14:42 ` [Buildroot] [PATCH v5 3/4] package/linux-tools: add rtla Giulio Benetti
@ 2024-01-06 14:05 ` Yann E. MORIN
2024-01-06 14:07 ` Yann E. MORIN
0 siblings, 1 reply; 9+ messages in thread
From: Yann E. MORIN @ 2024-01-06 14:05 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Andreas Ziegler,
buildroot
Giulio, All,
On 2023-10-24 16:42 +0200, Giulio Benetti spake thusly:
> From: Maxime Chevallier <maxime.chevallier@bootlin.com>
>
> The RealTime Linux Analysis tool includes a set of commands that relies
> on the osnoise and timerlat tracers from the ftrace kernel subsystem,
> allowing to analyze the lantency sources coming from the hardware and
> the kernel itself.
>
> This tool was introduced in v5.17 but until v5.19 it relied on libprocps
> that has been deprecated soon. So let's make it available for v5.19+.
> Rtla relies on libtracefs and libtraceevent, although libtraceevent itself
> is already a dependency for libtracefs.
>
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> [Giulio: fix install on recent Linux versions]
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> [Andreas: deal with Linux Fixups, musl, SSP]
> Signed-off-by: Andreas Ziegler <br015@umbiko.net>
> ---
[--SNIP--]
> diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
> index 451b0eeff5..4df73159be 100644
> --- a/package/linux-tools/Config.in
> +++ b/package/linux-tools/Config.in
> @@ -102,6 +102,16 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
>
> endif
>
> +config BR2_PACKAGE_LINUX_TOOLS_RTLA
> + bool "rtla"
> + select BR2_PACKAGE_LINUX_TOOLS
> + select BR2_PACKAGE_LIBTRACEFS
> + help
> + Linux 5.19 and later has 2 new tracers, osnoise and timerlat.
> + Linux 6.3 has new tracer hwnoise. These tracers allow performing
> + latency analysis, for which the rtla tool provides wrapper
> + commands to visualize and extract latency traces and reports.
Re-reading that now, with the feedback from Andreas in my mind, I think
it is still quite confusing. So I rewrote that help text to make it more
explicit what happens.
Applied to master, thanks.
Regards,
Yann E. MORIN.
> config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
> bool"selftests"
> depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
> diff --git a/package/linux-tools/linux-tool-rtla.mk.in b/package/linux-tools/linux-tool-rtla.mk.in
> new file mode 100644
> index 0000000000..603d86722d
> --- /dev/null
> +++ b/package/linux-tools/linux-tool-rtla.mk.in
> @@ -0,0 +1,55 @@
> +################################################################################
> +#
> +# rtla
> +#
> +################################################################################
> +
> +LINUX_TOOLS += rtla
> +
> +RTLA_DEPENDENCIES = host-pkgconf libtracefs
> +RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
> + CC=$(TARGET_CC) \
> + EXTRA_CFLAGS="-D_GNU_SOURCE" \
> + LDFLAGS="$(TARGET_LDFLAGS)" \
> + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
> +
> +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
> +define RTLA_DISABLE_STACK_PROTECTOR
> + $(SED) 's/-fstack-protector.* //' $(LINUX_DIR)/tools/tracing/rtla/Makefile
> +endef
> +endif
> +
> +define RTLA_LINUX_CONFIG_FIXUPS
> + $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
> + $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
> + $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
> +endef
> +
> +define RTLA_BUILD_CMDS
> + $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile >/dev/null 2>&1 ; then \
> + echo "Your kernel version is too old and does not implement the rtla tool." ; \
> + echo "At least kernel 5.19 must be used." ; \
> + exit 1 ; \
> + fi
> +
> + $(RTLA_DISABLE_STACK_PROTECTOR)
> +
> + $(TARGET_MAKE_ENV) \
> + $(MAKE) $(RTLA_MAKE_OPTS) \
> + -C $(LINUX_DIR)/tools/tracing rtla
> +endef
> +
> +# make rtla_install build and install by default documentation using rst2man
> +# but it's not available in Buildroot and we don't want manual files in target
> +# folder so let's simply install the resulting rtla binary and create symlinks
> +# like Linux does in its tools/tracing/rtla/Makefile
> +define RTLA_INSTALL_TARGET_CMDS
> + $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla $(TARGET_DIR)/usr/bin
> + ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
> + ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
> +
> + # Check if hwnoise is provided or not
> + if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \
> + ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
> + fi
> +endef
> --
> 2.34.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v5 3/4] package/linux-tools: add rtla
2024-01-06 14:05 ` Yann E. MORIN
@ 2024-01-06 14:07 ` Yann E. MORIN
0 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2024-01-06 14:07 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, buildroot, Andreas Ziegler,
Maxime Chevallier
giulio, All,
On 2024-01-06 15:05 +0100, Yann E. MORIN spake thusly:
> On 2023-10-24 16:42 +0200, Giulio Benetti spake thusly:
> > From: Maxime Chevallier <maxime.chevallier@bootlin.com>
> >
> > The RealTime Linux Analysis tool includes a set of commands that relies
> > on the osnoise and timerlat tracers from the ftrace kernel subsystem,
> > allowing to analyze the lantency sources coming from the hardware and
> > the kernel itself.
> >
> > This tool was introduced in v5.17 but until v5.19 it relied on libprocps
> > that has been deprecated soon. So let's make it available for v5.19+.
> > Rtla relies on libtracefs and libtraceevent, although libtraceevent itself
> > is already a dependency for libtracefs.
> >
> > Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> > [Giulio: fix install on recent Linux versions]
> > Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> > [Andreas: deal with Linux Fixups, musl, SSP]
> > Signed-off-by: Andreas Ziegler <br015@umbiko.net>
> > ---
> [--SNIP--]
> > diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
> > index 451b0eeff5..4df73159be 100644
> > --- a/package/linux-tools/Config.in
> > +++ b/package/linux-tools/Config.in
> > @@ -102,6 +102,16 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
> >
> > endif
> >
> > +config BR2_PACKAGE_LINUX_TOOLS_RTLA
> > + bool "rtla"
> > + select BR2_PACKAGE_LINUX_TOOLS
> > + select BR2_PACKAGE_LIBTRACEFS
> > + help
> > + Linux 5.19 and later has 2 new tracers, osnoise and timerlat.
> > + Linux 6.3 has new tracer hwnoise. These tracers allow performing
I forgot to comment on that line:
$ ./utils/docker-run make check-package
package/linux-tools/Config.in:111: help text: <tab><2 spaces><62 chars> (http://nightly.buildroot.org/#writing-rules-config-in)
Since I rewrote the text, that got (ex,im)plicitly fixed! ;-)
Regards,
Yann E. MORIN.
> > + latency analysis, for which the rtla tool provides wrapper
> > + commands to visualize and extract latency traces and reports.
>
> Re-reading that now, with the feedback from Andreas in my mind, I think
> it is still quite confusing. So I rewrote that help text to make it more
> explicit what happens.
>
> Applied to master, thanks.
>
> Regards,
> Yann E. MORIN.
>
> > config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
> > bool"selftests"
> > depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
> > diff --git a/package/linux-tools/linux-tool-rtla.mk.in b/package/linux-tools/linux-tool-rtla.mk.in
> > new file mode 100644
> > index 0000000000..603d86722d
> > --- /dev/null
> > +++ b/package/linux-tools/linux-tool-rtla.mk.in
> > @@ -0,0 +1,55 @@
> > +################################################################################
> > +#
> > +# rtla
> > +#
> > +################################################################################
> > +
> > +LINUX_TOOLS += rtla
> > +
> > +RTLA_DEPENDENCIES = host-pkgconf libtracefs
> > +RTLA_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
> > + CC=$(TARGET_CC) \
> > + EXTRA_CFLAGS="-D_GNU_SOURCE" \
> > + LDFLAGS="$(TARGET_LDFLAGS)" \
> > + PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
> > +
> > +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
> > +define RTLA_DISABLE_STACK_PROTECTOR
> > + $(SED) 's/-fstack-protector.* //' $(LINUX_DIR)/tools/tracing/rtla/Makefile
> > +endef
> > +endif
> > +
> > +define RTLA_LINUX_CONFIG_FIXUPS
> > + $(call KCONFIG_ENABLE_OPT,CONFIG_FTRACE)
> > + $(call KCONFIG_ENABLE_OPT,CONFIG_TIMERLAT_TRACER)
> > + $(call KCONFIG_ENABLE_OPT,CONFIG_HIST_TRIGGERS)
> > +endef
> > +
> > +define RTLA_BUILD_CMDS
> > + $(Q)if ! grep install $(LINUX_DIR)/tools/tracing/rtla/Makefile >/dev/null 2>&1 ; then \
> > + echo "Your kernel version is too old and does not implement the rtla tool." ; \
> > + echo "At least kernel 5.19 must be used." ; \
> > + exit 1 ; \
> > + fi
> > +
> > + $(RTLA_DISABLE_STACK_PROTECTOR)
> > +
> > + $(TARGET_MAKE_ENV) \
> > + $(MAKE) $(RTLA_MAKE_OPTS) \
> > + -C $(LINUX_DIR)/tools/tracing rtla
> > +endef
> > +
> > +# make rtla_install build and install by default documentation using rst2man
> > +# but it's not available in Buildroot and we don't want manual files in target
> > +# folder so let's simply install the resulting rtla binary and create symlinks
> > +# like Linux does in its tools/tracing/rtla/Makefile
> > +define RTLA_INSTALL_TARGET_CMDS
> > + $(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla $(TARGET_DIR)/usr/bin
> > + ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
> > + ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat
> > +
> > + # Check if hwnoise is provided or not
> > + if grep -q hwnoise $(LINUX_DIR)/tools/tracing/rtla/Makefile; then \
> > + ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise ; \
> > + fi
> > +endef
> > --
> > 2.34.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
> | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v5 4/4] package/trace-cmd: bump to 3.1.7
2023-10-24 14:42 [Buildroot] [PATCH v5 1/4] package/libtraceevent: new package Giulio Benetti
2023-10-24 14:42 ` [Buildroot] [PATCH v5 2/4] package/libtracefs: " Giulio Benetti
2023-10-24 14:42 ` [Buildroot] [PATCH v5 3/4] package/linux-tools: add rtla Giulio Benetti
@ 2023-10-24 14:42 ` Giulio Benetti
2024-01-06 14:08 ` Yann E. MORIN
2024-01-06 14:01 ` [Buildroot] [PATCH v5 1/4] package/libtraceevent: new package Yann E. MORIN
3 siblings, 1 reply; 9+ messages in thread
From: Giulio Benetti @ 2023-10-24 14:42 UTC (permalink / raw)
To: buildroot
Cc: Eric Le Bihan, Yann E . MORIN, Pierre Floury, Giulio Benetti,
Maxime Chevallier, Andreas Ziegler
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
trace-cmd's dependencies 'libtracefs' and 'libtraceevent' were split
into dedicated projects, maintained outside of trace-cmd.
This release, on top of bumping the version, adds this new dependencies.
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
[Giulio: bump to version 3.1.7]
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
package/trace-cmd/Config.in | 2 ++
package/trace-cmd/trace-cmd.hash | 2 +-
package/trace-cmd/trace-cmd.mk | 6 ++++--
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/package/trace-cmd/Config.in b/package/trace-cmd/Config.in
index 2d0accd7ae..00b9ebbd9a 100644
--- a/package/trace-cmd/Config.in
+++ b/package/trace-cmd/Config.in
@@ -4,6 +4,8 @@ config BR2_PACKAGE_TRACE_CMD
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS # dlopen()
+ select BR2_PACKAGE_LIBTRACEEVENT
+ select BR2_PACKAGE_LIBTRACEFS
help
Command line reader for ftrace.
diff --git a/package/trace-cmd/trace-cmd.hash b/package/trace-cmd/trace-cmd.hash
index 4d39e4d5ea..6edcaf0e1c 100644
--- a/package/trace-cmd/trace-cmd.hash
+++ b/package/trace-cmd/trace-cmd.hash
@@ -1,5 +1,5 @@
# Locally computed
-sha256 a74d9ade2633b88d0ad199360d51996427e23f4835594133e456cd6e3bd3a651 trace-cmd-v2.9.7.tar.gz
+sha256 e496d41e599f8ef3c9a74675da05f86be0d8d48d524f0182c73ab98cd16da0b0 trace-cmd-v3.1.7.tar.gz
sha256 b1d04b850c1c7471b0f0896f6c6f0fcfc9f07e2dd183a5f5826af269fe9e88fb COPYING
sha256 70f297763149e72306919c924e164f83041d5e512868d4c8c1826c171b3e49f9 COPYING.LIB
sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0
diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk
index 52bb99036c..3d4d88c964 100644
--- a/package/trace-cmd/trace-cmd.mk
+++ b/package/trace-cmd/trace-cmd.mk
@@ -4,14 +4,14 @@
#
################################################################################
-TRACE_CMD_VERSION = 2.9.7
+TRACE_CMD_VERSION = 3.1.7
TRACE_CMD_SOURCE = trace-cmd-v$(TRACE_CMD_VERSION).tar.gz
TRACE_CMD_SITE = \
https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot
TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1
TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB LICENSES/GPL-2.0 LICENSES/LGPL-2.1
-TRACE_CMD_DEPENDENCIES = host-pkgconf
+TRACE_CMD_DEPENDENCIES = host-pkgconf libtracefs libtraceevent
TRACE_CMD_MAKE_OPTS = prefix=/usr etcdir=/etc
ifeq ($(BR2_PACKAGE_AUDIT),y)
@@ -34,6 +34,8 @@ ifeq ($(BR2_sparc64),y)
TRACE_CMD_CFLAGS += -fPIC
endif
+TRACE_CMD_CFLAGS += $($(HOST_DIR)/bin/pkg-config --cflags libtracefs)
+
# trace-cmd use CPPFLAGS to add some extra flags.
# But like for CFLAGS, $(TARGET_CPPFLAGS) contains _LARGEFILE64_SOURCE
# that causes build problems.
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v5 4/4] package/trace-cmd: bump to 3.1.7
2023-10-24 14:42 ` [Buildroot] [PATCH v5 4/4] package/trace-cmd: bump to 3.1.7 Giulio Benetti
@ 2024-01-06 14:08 ` Yann E. MORIN
0 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2024-01-06 14:08 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Andreas Ziegler,
buildroot
Giulio, All,
On 2023-10-24 16:42 +0200, Giulio Benetti spake thusly:
> From: Maxime Chevallier <maxime.chevallier@bootlin.com>
>
> trace-cmd's dependencies 'libtracefs' and 'libtraceevent' were split
> into dedicated projects, maintained outside of trace-cmd.
>
> This release, on top of bumping the version, adds this new dependencies.
>
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> [Giulio: bump to version 3.1.7]
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
[--SNIP--]
> diff --git a/package/trace-cmd/trace-cmd.mk b/package/trace-cmd/trace-cmd.mk
> index 52bb99036c..3d4d88c964 100644
> --- a/package/trace-cmd/trace-cmd.mk
> +++ b/package/trace-cmd/trace-cmd.mk
> @@ -4,14 +4,14 @@
> #
> ################################################################################
>
> -TRACE_CMD_VERSION = 2.9.7
> +TRACE_CMD_VERSION = 3.1.7
> TRACE_CMD_SOURCE = trace-cmd-v$(TRACE_CMD_VERSION).tar.gz
> TRACE_CMD_SITE = \
> https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot
> TRACE_CMD_LICENSE = GPL-2.0, LGPL-2.1
> TRACE_CMD_LICENSE_FILES = COPYING COPYING.LIB LICENSES/GPL-2.0 LICENSES/LGPL-2.1
>
> -TRACE_CMD_DEPENDENCIES = host-pkgconf
> +TRACE_CMD_DEPENDENCIES = host-pkgconf libtracefs libtraceevent
Alphabetical ordering in dependencies.
Applied to master with the order fixed, thanks.
Regards,
Yann E. MORIN.
> TRACE_CMD_MAKE_OPTS = prefix=/usr etcdir=/etc
>
> ifeq ($(BR2_PACKAGE_AUDIT),y)
> @@ -34,6 +34,8 @@ ifeq ($(BR2_sparc64),y)
> TRACE_CMD_CFLAGS += -fPIC
> endif
>
> +TRACE_CMD_CFLAGS += $($(HOST_DIR)/bin/pkg-config --cflags libtracefs)
> +
> # trace-cmd use CPPFLAGS to add some extra flags.
> # But like for CFLAGS, $(TARGET_CPPFLAGS) contains _LARGEFILE64_SOURCE
> # that causes build problems.
> --
> 2.34.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v5 1/4] package/libtraceevent: new package
2023-10-24 14:42 [Buildroot] [PATCH v5 1/4] package/libtraceevent: new package Giulio Benetti
` (2 preceding siblings ...)
2023-10-24 14:42 ` [Buildroot] [PATCH v5 4/4] package/trace-cmd: bump to 3.1.7 Giulio Benetti
@ 2024-01-06 14:01 ` Yann E. MORIN
3 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2024-01-06 14:01 UTC (permalink / raw)
To: Giulio Benetti
Cc: Eric Le Bihan, Pierre Floury, Maxime Chevallier, Andreas Ziegler,
buildroot
Giulio, All,
On 2023-10-24 16:42 +0200, Giulio Benetti spake thusly:
> From: Maxime Chevallier <maxime.chevallier@bootlin.com>
>
> Introduce the libtraceevent library, that is used to be bundled with the
> trace-cmd tool. This library is now used by several tools and libraries
> such as trace-cmd, libtracefs and rtla.
>
> To build with meson, this package requires to disable documentation
> generation, and since this is not possible add a local patch pending
> upstream that adds -Ddoc=false support to libtraceevent.
That patch was acepted upstream, and then made a new release (well, two
new releases), so I've bumped the version and dropped the patch.
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> [Giulio:
> - bump version to 1.7.3 and add hash file
> - move to meson build system
> ]
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Applied to master with the version bumped, thanks.
Regards,
Yann E. MORIN.
> ---
> V1->V2:
> * bump to version 1.7.3
> * add hash file
> V3->V4:
> * switch to meson build system
> ---
> DEVELOPERS | 4 ++
> package/Config.in | 1 +
> ...-add-option-to-disable-documentation.patch | 51 +++++++++++++++++++
> package/libtraceevent/Config.in | 9 ++++
> package/libtraceevent/libtraceevent.hash | 4 ++
> package/libtraceevent/libtraceevent.mk | 16 ++++++
> 6 files changed, 85 insertions(+)
> create mode 100644 package/libtraceevent/0001-libtraceevent-add-option-to-disable-documentation.patch
> create mode 100644 package/libtraceevent/Config.in
> create mode 100644 package/libtraceevent/libtraceevent.hash
> create mode 100644 package/libtraceevent/libtraceevent.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 382d28fb79..47c054bb56 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1225,6 +1225,7 @@ F: package/libfuse3/
> F: package/libnspr/
> F: package/libnss/
> F: package/libnvme/
> +F: package/libtraceevent/
> F: package/mali-driver/
> F: package/minicom/
> F: package/mmc-utils/
> @@ -2115,6 +2116,9 @@ F: package/postgresql/
> F: package/protozero/
> F: package/timescaledb/
>
> +N: Maxime Chevallier <maxime.chevallier@bootlin.com>
> +F: package/libtraceevent/
> +
> N: Michael Durrant <mdurrant@arcturusnetworks.com>
> F: board/arcturus/
> F: configs/arcturus_ucp1020_defconfig
> diff --git a/package/Config.in b/package/Config.in
> index 319a18c770..15f6bdee16 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -117,6 +117,7 @@ menu "Debugging, profiling and benchmark"
> source "package/kyua/Config.in"
> source "package/latencytop/Config.in"
> source "package/libbpf/Config.in"
> + source "package/libtraceevent/Config.in"
> source "package/lmbench/Config.in"
> source "package/lsof/Config.in"
> source "package/ltp-testsuite/Config.in"
> diff --git a/package/libtraceevent/0001-libtraceevent-add-option-to-disable-documentation.patch b/package/libtraceevent/0001-libtraceevent-add-option-to-disable-documentation.patch
> new file mode 100644
> index 0000000000..ba55315175
> --- /dev/null
> +++ b/package/libtraceevent/0001-libtraceevent-add-option-to-disable-documentation.patch
> @@ -0,0 +1,51 @@
> +From 62740520e25c9afbdfbd8cd8ef2e1c6b02d91915 Mon Sep 17 00:00:00 2001
> +From: Giulio Benetti <giulio.benetti@benettiengineering.com>
> +Date: Sat, 30 Sep 2023 22:40:17 +0200
> +Subject: [PATCH] libtraceevent: add option to disable documentation
> +
> +On some Linux environment builder(i.e. Buildroot) host asciidoc is not
> +provided since by default all man/docs are not installed to target but
> +meson.build at the moment build ascii and html documentation and
> +requires asciidoc making the building to fail. So let's add doc option
> +set to true by default to let the user to override it and not produce
> +the documentation.
> +
> +Upstream: https://patchwork.kernel.org/project/linux-trace-devel/patch/20230930204017.2528627-1-giulio.benetti@benettiengineering.com/
> +
> +Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> +---
> + meson.build | 3 +++
> + meson_options.txt | 2 ++
> + 2 files changed, 5 insertions(+)
> +
> +diff --git a/meson.build b/meson.build
> +index b61c873..9a18e02 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -45,6 +45,8 @@ if cunit_dep.found()
> + subdir('utest')
> + endif
> + subdir('samples')
> ++
> ++if get_option('doc')
> + subdir('Documentation')
> +
> + custom_target(
> +@@ -52,3 +54,4 @@ custom_target(
> + output: 'docs',
> + depends: [html, man],
> + command: ['echo'])
> ++endif
> +diff --git a/meson_options.txt b/meson_options.txt
> +index b2294f6..9a40dad 100644
> +--- a/meson_options.txt
> ++++ b/meson_options.txt
> +@@ -16,3 +16,5 @@ option('man-bold-literal', type : 'boolean', value : false,
> + description : 'enable bold literals')
> + option('docbook-suppress-sp', type : 'boolean', value : false,
> + description : 'docbook suppress sp')
> ++option('doc', type : 'boolean', value: true,
> ++ description : 'produce documentation')
> +--
> +2.34.1
> +
> diff --git a/package/libtraceevent/Config.in b/package/libtraceevent/Config.in
> new file mode 100644
> index 0000000000..d351e3b4de
> --- /dev/null
> +++ b/package/libtraceevent/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_LIBTRACEEVENT
> + bool "libtraceevent"
> + help
> + libtraceevent is a library that interfaces with the ftrace
> + subsystem in the linux kernel.
> + It used to be bundled directly in the trace-cmd
> + tool, but it was eventually extracted so that it can be used
> + by multiple other tools and libraries, such as libtracefs and
> + rtla.
> diff --git a/package/libtraceevent/libtraceevent.hash b/package/libtraceevent/libtraceevent.hash
> new file mode 100644
> index 0000000000..15c4883afd
> --- /dev/null
> +++ b/package/libtraceevent/libtraceevent.hash
> @@ -0,0 +1,4 @@
> +# Locally computed
> +sha256 097b72e0d907f3107825fb2edf0188324bf70dc9da360f6efa68dc484ffde541 libtraceevent-1.7.3.tar.gz
> +sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 GPL-2.0
> +sha256 0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8ca LGPL-2.1
> diff --git a/package/libtraceevent/libtraceevent.mk b/package/libtraceevent/libtraceevent.mk
> new file mode 100644
> index 0000000000..1a3dae463e
> --- /dev/null
> +++ b/package/libtraceevent/libtraceevent.mk
> @@ -0,0 +1,16 @@
> +################################################################################
> +#
> +# libtraceevent
> +#
> +################################################################################
> +
> +LIBTRACEEVENT_VERSION = 1.7.3
> +LIBTRACEEVENT_SITE = https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot
> +LIBTRACEEVENT_INSTALL_STAGING = YES
> +LIBTRACEEVENT_LICENSE = GPL-2.0, LGPL-2.1
> +LIBTRACEEVENT_LICENSE_FILES = LICENSES/GPL-2.0 LICENSES/LGPL-2.1
> +
> +LIBTRACEEVENT_CONF_OPTS = \
> + -Ddoc=false
> +
> +$(eval $(meson-package))
> --
> 2.34.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 9+ messages in thread