diff mbox series

[v4,1/4] package/libtraceevent: new package

Message ID 20231014215741.716289-1-giulio.benetti@benettiengineering.com
State Superseded
Headers show
Series [v4,1/4] package/libtraceevent: new package | expand

Commit Message

Giulio Benetti Oct. 14, 2023, 9:57 p.m. UTC
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.

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>
---
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 mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 06583c3c0a..5506082545 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1221,6 +1221,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/
@@ -2111,6 +2112,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 f4399a6021..2b3d3e612f 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))