From 19fc3df9c53f9e27239c7ee228dca42a57d6f6db066f6451534e445908a08b21 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 17 Jun 2023 11:52:46 +0000 Subject: [PATCH] Accepting request 1093516 from home:jones_tony:trace-cmd - Add explicit thread dependency for older versions of meson (i.e SLE-15-SP5) New patch: add-explicit-meson-thread-dependency.patch - Update to version 1.7.0 * Add initial support for meson * Add tracefs_kprobe_destroy() to index man page * State that tracefs_dynevent_create() is needed for tracefs_kprobe_alloc() * Add missing prototypes in top level man page * Add tracefs_kprobe_destory() API * Add helper function to destroy dynamic event * Add tracefs_time_conversion() API * Add tracefs_find_cid_pid() API * Fix crashing of synth test when synths exist * Do not use synth for test_synth element * Clarify the tracefs_synth_create() man page * Do not allow tracefs_synth_set_instance() on created synth * Documentation for tracefs_synth_set_instance * New API to set synthetic event instance * Do not segfault in tests if synthetic events are not configured * Add tracefs_instance_tracers() API * Do not use hwlat tracer and fdb_delete event for test * Add stacktrace to tracefs_sql() * Unit test for tracefs_instance_reset() * Documentation for tracefs_instance_reset() * New API to reset ftrace instance - Drop patch 0001-libtracefs-Add-initial-support-for-meson.patch (upstream) OBS-URL: https://build.opensuse.org/request/show/1093516 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtracefs?expand=0&rev=31 --- ...racefs-Add-initial-support-for-meson.patch | 560 ------------------ add-explicit-meson-thread-dependency.patch | 89 +++ libtracefs-1.6.4.tar.gz | 3 - libtracefs-1.7.0.tar.gz | 3 + libtracefs.changes | 34 ++ libtracefs.spec | 4 +- 6 files changed, 128 insertions(+), 565 deletions(-) delete mode 100644 0001-libtracefs-Add-initial-support-for-meson.patch create mode 100644 add-explicit-meson-thread-dependency.patch delete mode 100644 libtracefs-1.6.4.tar.gz create mode 100644 libtracefs-1.7.0.tar.gz diff --git a/0001-libtracefs-Add-initial-support-for-meson.patch b/0001-libtracefs-Add-initial-support-for-meson.patch deleted file mode 100644 index da8c1e2..0000000 --- a/0001-libtracefs-Add-initial-support-for-meson.patch +++ /dev/null @@ -1,560 +0,0 @@ -From de739be1299aaa30469fc90ddc0f97ea915c784e Mon Sep 17 00:00:00 2001 -From: Daniel Wagner -Date: Thu, 7 Jul 2022 14:05:49 +0200 -Subject: [PATCH v7] libtracefs: Add initial support for meson - -Introduce Meson as build framework for building libtracefs. - -The build steps are: - - # configure using .build as build directory and install destination - # /tmp/test - meson setup --prefix=/tmp/libtraceevent .build - - # trigger the build - meson compile -C .build - - # In case you want to build the documentation, trigger the - # build via the 'docs' target: - meson compile -C build docs - - # install the library (and documentation) - meson install -C .build - -Signed-off-by: Daniel Wagner ---- - v7: - - set default html doc path to share/doc/libtracefs-doc - - list libtraceevent in Required pkg-config section. - - install (any) man5 pages (keep it in sync with other projects) - -v6: - - changed project defaults to --default-library=both - - code style consistency updates - - hardening doc install script (shellcheck) - - renamed install-man.sh.in to install-docs.sh.in - - install-docs.sh.in installs html pages too - - introduces docs target - - updated copyright year - - streamlined documentation meson build file - -v5: - - build unit test only if cunit is found - - default build target is debug - - do not install man pages into subdirs - - install sqlhist (because we install the man page too, so why not the tool?) - -v4: - - add subdir include path to cflags in pkgconfg file - - refactoring build instruction for section 1 and section 3 documentation - into one loop (reduce code duplication) - -v3: - - build documetation - - build samples - - set default location to /usr/local - -v2: - - updated commit message - - dropped the include path patch, the pkg-config - from libtraceevent is including them - -v1: - - initial version - - Documentation/install-docs.sh.in | 20 ++++ - Documentation/meson.build | 197 +++++++++++++++++++++++++++++++ - include/meson.build | 11 ++ - meson.build | 47 ++++++++ - meson_options.txt | 16 +++ - samples/extract-example.sh | 3 + - samples/meson.build | 45 +++++++ - src/meson.build | 63 ++++++++++ - utest/meson.build | 17 +++ - 9 files changed, 419 insertions(+) - create mode 100755 Documentation/install-docs.sh.in - create mode 100644 Documentation/meson.build - create mode 100644 include/meson.build - create mode 100644 meson.build - create mode 100644 meson_options.txt - create mode 100644 samples/extract-example.sh - create mode 100644 samples/meson.build - create mode 100644 src/meson.build - create mode 100644 utest/meson.build - -diff --git a/Documentation/install-docs.sh.in b/Documentation/install-docs.sh.in -new file mode 100755 -index 000000000000..eca9b1f42dcc ---- /dev/null -+++ b/Documentation/install-docs.sh.in -@@ -0,0 +1,20 @@ -+#!/bin/bash -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+for section in 1 3 5; do -+ while IFS= read -r -d '' man; do -+ [ ! -d "${DESTDIR}@MANDIR@/man${section}" ] && install -d "${DESTDIR}@MANDIR@/man${section}" -+ -+ echo Installing "${man}" to "${DESTDIR}@MANDIR@/man${section}" -+ install -m 0644 "${man}" "${DESTDIR}@MANDIR@/man${section}/" -+ done< <(find "@SRCDIR@" -name "*\.${section}" -type f -print0) -+done -+ -+while IFS= read -r -d '' html; do -+ [ ! -d "${DESTDIR}@HTMLDIR@" ] && install -d "${DESTDIR}@HTMLDIR@" -+ -+ echo Installing "${html}" to "${DESTDIR}@HTMLDIR@" -+ install -m 0644 "${html}" "${DESTDIR}@HTMLDIR@" -+done< <(find "@SRCDIR@" -name "*\.html" -type f -print0) -diff --git a/Documentation/meson.build b/Documentation/meson.build -new file mode 100644 -index 000000000000..efb78b602965 ---- /dev/null -+++ b/Documentation/meson.build -@@ -0,0 +1,197 @@ -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+# input text file: man page section -+ -+sources = { -+ 'libtracefs-sqlhist.txt.1': '1', -+ 'libtracefs-cpu-open.txt': '3', -+ 'libtracefs-cpu.txt': '3', -+ 'libtracefs-dynevents.txt': '3', -+ 'libtracefs-eprobes.txt': '3', -+ 'libtracefs-error.txt': '3', -+ 'libtracefs-events-file.txt': '3', -+ 'libtracefs-events-tep.txt': '3', -+ 'libtracefs-events.txt': '3', -+ 'libtracefs-files.txt': '3', -+ 'libtracefs-filter.txt': '3', -+ 'libtracefs-function-filter.txt': '3', -+ 'libtracefs-hist-cont.txt': '3', -+ 'libtracefs-hist-mod.txt': '3', -+ 'libtracefs-hist.txt': '3', -+ 'libtracefs-instances-affinity.txt': '3', -+ 'libtracefs-instances-file-manip.txt': '3', -+ 'libtracefs-instances-files.txt': '3', -+ 'libtracefs-instances-manage.txt': '3', -+ 'libtracefs-instances-utils.txt': '3', -+ 'libtracefs-iterator.txt': '3', -+ 'libtracefs-kprobes.txt': '3', -+ 'libtracefs-log.txt': '3', -+ 'libtracefs-marker_raw.txt': '3', -+ 'libtracefs-marker.txt': '3', -+ 'libtracefs-option-get.txt': '3', -+ 'libtracefs-option-misc.txt': '3', -+ 'libtracefs-options.txt': '3', -+ 'libtracefs-sql.txt': '3', -+ 'libtracefs-stream.txt': '3', -+ 'libtracefs-synth2.txt': '3', -+ 'libtracefs-synth-info.txt': '3', -+ 'libtracefs-synth.txt': '3', -+ 'libtracefs-traceon.txt': '3', -+ 'libtracefs-tracer.txt': '3', -+ 'libtracefs.txt': '3', -+ 'libtracefs-uprobes.txt': '3', -+ 'libtracefs-utils.txt': '3', -+} -+ -+conf_dir = meson.current_source_dir() + '/' -+top_source_dir = meson.current_source_dir() + '/../' -+ -+## -+# For asciidoc ... -+# -7.1.2, no extra settings are needed. -+# 8.0-, set ASCIIDOC8. -+# -+ -+# -+# For docbook-xsl ... -+# -1.68.1, set ASCIIDOC_NO_ROFF? (based on changelog from 1.73.0) -+# 1.69.0, no extra settings are needed? -+# 1.69.1-1.71.0, set DOCBOOK_SUPPRESS_SP? -+# 1.71.1, no extra settings are needed? -+# 1.72.0, set DOCBOOK_XSL_172. -+# 1.73.0-, set ASCIIDOC_NO_ROFF -+# -+ -+# -+# If you had been using DOCBOOK_XSL_172 in an attempt to get rid -+# of 'the ".ft C" problem' in your generated manpages, and you -+# instead ended up with weird characters around callouts, try -+# using ASCIIDOC_NO_ROFF instead (it works fine with ASCIIDOC8). -+# -+ -+if get_option('asciidoctor') -+ asciidoc = find_program('asciidoctor') -+ asciidoc_extra = ['-a', 'compat-mode'] -+ asciidoc_extra += ['-I.'] -+ asciidoc_extra += ['-r', 'asciidoctor-extensions'] -+ asciidoc_extra += ['-a', 'mansource=libtraceevent'] -+ asciidoc_extra += ['-a', 'manmanual="libtraceevent Manual"'] -+ asciidoc_html = 'xhtml5' -+else -+ asciidoc = find_program('asciidoc') -+ asciidoc_extra = ['--unsafe'] -+ asciidoc_extra += ['-f', conf_dir + 'asciidoc.conf'] -+ asciidoc_html = 'xhtml11' -+ -+ r = run_command(asciidoc, '--version', check: true) -+ v = r.stdout().strip() -+ if v.version_compare('>=8.0') -+ asciidoc_extra += ['-a', 'asciidoc7compatible'] -+ endif -+endif -+ -+manpage_xsl = conf_dir + 'manpage-normal.xsl' -+ -+if get_option('docbook-xls-172') -+ asciidoc_extra += ['-a', 'libtraceevent-asciidoc-no-roff'] -+ manpage_xsl = conf_dir + 'manpage-1.72.xsl' -+elif get_option('asciidoc-no-roff') -+ # docbook-xsl after 1.72 needs the regular XSL, but will not -+ # pass-thru raw roff codes from asciidoc.conf, so turn them off. -+ asciidoc_extra += ['-a', 'libtraceevent-asciidoc-no-roff'] -+endif -+ -+xmlto = find_program('xmlto') -+xmlto_extra = [] -+ -+if get_option('man-bold-literal') -+ xmlto_extra += ['-m ', conf_dir + 'manpage-bold-literal.xsl'] -+endif -+ -+if get_option('docbook-suppress-sp') -+ xmlto_extra += ['-m ', conf_dir + 'manpage-suppress-sp.xsl'] -+endif -+ -+check_doc = custom_target( -+ 'check-doc', -+ output: 'dummy', -+ command : [ -+ top_source_dir + 'check-manpages.sh', -+ meson.current_source_dir()]) -+ -+gen = generator( -+ asciidoc, -+ output: '@BASENAME@.xml', -+ arguments: [ -+ '-b', 'docbook', -+ '-d', 'manpage', -+ '-a', 'libtraceevent_version=' + meson.project_version(), -+ '-o', '@OUTPUT@'] -+ + asciidoc_extra -+ + ['@INPUT@']) -+ -+man = [] -+html = [] -+foreach txt, section : sources -+ # build man page(s) -+ xml = gen.process(txt) -+ man += custom_target( -+ txt.underscorify() + '_man', -+ input: xml, -+ output: '@BASENAME@.' + section, -+ depends: check_doc, -+ command: [ -+ xmlto, -+ '-m', manpage_xsl, -+ 'man', -+ '-o', '@OUTPUT@'] -+ + xmlto_extra -+ + ['@INPUT@']) -+ -+ # build html pages -+ html += custom_target( -+ txt.underscorify() + '_html', -+ input: txt, -+ output: '@BASENAME@.html', -+ depends: check_doc, -+ command: [ -+ asciidoc, -+ '-b', asciidoc_html, -+ '-d', 'manpage', -+ '-a', 'libtraceevent_version=' + meson.project_version(), -+ '-o', '@OUTPUT@'] -+ + asciidoc_extra -+ + ['@INPUT@']) -+endforeach -+ -+# Install path workaround because: -+# -+# - xmlto might generate more than one file and we would to tell meson -+# about those output files. We could figure out which files are generated -+# (see sed match in check-manpages.sh). -+# -+# - The man page generation puts all the generated files under sub dirs -+# and it's not obvious how to tell Meson it should not do this without -+# causing the install step to fail (confusion where the generated files -+# are stored) -+# -+# - The documentation build is not part of the 'build' target. The user -+# has explicitly to trigger the doc build. Hence the documentation is -+# not added to the 'install' target. -+# -+# Thus just use a plain old shell script to move the generated files to the -+# right location. -+ -+conf = configuration_data() -+conf.set('SRCDIR', meson.current_build_dir()) -+conf.set('MANDIR', mandir) -+conf.set('HTMLDIR', htmldir) -+configure_file( -+ input: 'install-docs.sh.in', -+ output: 'install-docs.sh', -+ configuration: conf) -+ -+meson.add_install_script( -+ join_paths(meson.current_build_dir(), 'install-docs.sh')) -diff --git a/include/meson.build b/include/meson.build -new file mode 100644 -index 000000000000..52db432c8275 ---- /dev/null -+++ b/include/meson.build -@@ -0,0 +1,11 @@ -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+headers = [ -+ 'tracefs.h', -+] -+ -+foreach h : headers -+ install_headers(h, subdir : 'libtracefs') -+endforeach -diff --git a/meson.build b/meson.build -new file mode 100644 -index 000000000000..e793cfc16e14 ---- /dev/null -+++ b/meson.build -@@ -0,0 +1,47 @@ -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+project( -+ 'libtracefs', ['c'], -+ meson_version: '>= 0.50.0', -+ license: 'LGPL-2.1', -+ version: '1.6.3', -+ default_options: [ -+ 'c_std=gnu99', -+ 'buildtype=debug', -+ 'default_library=both', -+ 'prefix=/usr/local', -+ 'warning_level=1']) -+ -+library_version = meson.project_version() -+ -+libtraceevent_dep = dependency('libtraceevent', version: '>= 1.7.0', required: true) -+cunit_dep = dependency('cunit', required : false) -+ -+prefixdir = get_option('prefix') -+bindir = join_paths(prefixdir, get_option('bindir')) -+mandir = join_paths(prefixdir, get_option('mandir')) -+htmldir = join_paths(prefixdir, get_option('htmldir')) -+ -+add_project_arguments( -+ [ -+ '-D_GNU_SOURCE', -+ ], -+ language : 'c') -+ -+incdir = include_directories(['include']) -+ -+subdir('src') -+subdir('include') -+if cunit_dep.found() -+ subdir('utest') -+endif -+subdir('samples') -+subdir('Documentation') -+ -+custom_target( -+ 'docs', -+ output: 'docs', -+ depends: [html, man], -+ command: ['echo']) -diff --git a/meson_options.txt b/meson_options.txt -new file mode 100644 -index 000000000000..1d92c28d5935 ---- /dev/null -+++ b/meson_options.txt -@@ -0,0 +1,16 @@ -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+option('htmldir', type : 'string', value : 'share/doc/libtracefs-doc', -+ description : 'directory for HTML documentation') -+option('asciidoctor', type : 'boolean', value: false, -+ description : 'use asciidoctor instead of asciidoc') -+option('docbook-xls-172', type : 'boolean', value : false, -+ description : 'enable docbook XLS 172 workaround') -+option('asciidoc-no-roff', type : 'boolean', value : false, -+ description : 'enable no roff workaround') -+option('man-bold-literal', type : 'boolean', value : false, -+ description : 'enable bold literals') -+option('docbook-suppress-sp', type : 'boolean', value : false, -+ description : 'docbook suppress sp') -diff --git a/samples/extract-example.sh b/samples/extract-example.sh -new file mode 100644 -index 000000000000..c5c0f702e7f0 ---- /dev/null -+++ b/samples/extract-example.sh -@@ -0,0 +1,3 @@ -+#!/bin/bash -+ -+cat $1 | sed -ne '/^EXAMPLE/,/FILES/ { /EXAMPLE/,+2d ; /^FILES/d ; /^--/d ; p}' > $2 -diff --git a/samples/meson.build b/samples/meson.build -new file mode 100644 -index 000000000000..5e8ad270f812 ---- /dev/null -+++ b/samples/meson.build -@@ -0,0 +1,45 @@ -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+examples = [ -+ 'dynevents', -+ 'kprobes', -+ 'eprobes', -+ 'uprobes', -+ 'synth', -+ 'error', -+ 'filter', -+ 'function-filter', -+ 'hist', -+ 'hist-cont', -+ 'tracer', -+ 'stream', -+ 'instances-affinity', -+ 'cpu', -+] -+ -+extract_examples = find_program('extract-example.sh') -+gen = generator( -+ extract_examples, -+ output: '@BASENAME@.c', -+ arguments: ['@INPUT@', '@OUTPUT@']) -+ -+foreach ex : examples -+ src = gen.process(meson.current_source_dir() + '/../Documentation/libtracefs-@0@.txt'.format(ex)) -+ executable( -+ ex.underscorify(), -+ src, -+ dependencies: [libtracefs_dep, libtraceevent_dep], -+ include_directories: [incdir]) -+endforeach -+ -+# sqlhist is unique and stands on its own -+src = gen.process(meson.current_source_dir() + '/../Documentation/libtracefs-sql.txt') -+executable( -+ 'sqlhist', -+ src, -+ dependencies: [libtracefs_dep, libtraceevent_dep], -+ include_directories: [incdir], -+ install: true, -+ install_dir: bindir) -diff --git a/src/meson.build b/src/meson.build -new file mode 100644 -index 000000000000..56087e2301bf ---- /dev/null -+++ b/src/meson.build -@@ -0,0 +1,63 @@ -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+sources= [ -+ 'tracefs-dynevents.c', -+ 'tracefs-eprobes.c', -+ 'tracefs-events.c', -+ 'tracefs-filter.c', -+ 'tracefs-hist.c', -+ 'tracefs-instance.c', -+ 'tracefs-kprobes.c', -+ 'tracefs-marker.c', -+ 'tracefs-record.c', -+ 'tracefs-sqlhist.c', -+ 'tracefs-tools.c', -+ 'tracefs-uprobes.c', -+ 'tracefs-utils.c', -+] -+ -+flex = find_program('flex', required: true) -+bison = find_program('bison', required: true) -+ -+lgen = generator(flex, -+output : '@PLAINNAME@.yy.c', -+arguments : ['-o', '@OUTPUT@', '@INPUT@']) -+ -+pgen = generator(bison, -+output : ['@BASENAME@.tab.c', '@BASENAME@.tab.h'], -+arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@']) -+ -+lfiles = lgen.process('sqlhist.l') -+pfiles = pgen.process('sqlhist.y') -+ -+libtracefs = library( -+ 'tracefs', -+ sources, lfiles, pfiles, -+ version: library_version, -+ dependencies: [libtraceevent_dep], -+ include_directories: [incdir], -+ install: true) -+ -+libtracefs_static = static_library( -+ 'tracefs_static', -+ sources, lfiles, pfiles, -+ dependencies: [libtraceevent_dep], -+ include_directories: [incdir], -+ install: false) -+ -+pkg = import('pkgconfig') -+pkg.generate( -+ libtracefs, -+ libraries: [libtraceevent_dep], -+ subdirs: 'libtracefs', -+ filebase: meson.project_name(), -+ name: meson.project_name(), -+ version: meson.project_version(), -+ description: 'Manage trace fs', -+ url: 'https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/') -+ -+libtracefs_dep = declare_dependency( -+ include_directories: ['.'], -+ link_with: libtracefs) -diff --git a/utest/meson.build b/utest/meson.build -new file mode 100644 -index 000000000000..91a526fca2bf ---- /dev/null -+++ b/utest/meson.build -@@ -0,0 +1,17 @@ -+# SPDX-License-Identifier: LGPL-2.1 -+# -+# Copyright (c) 2023 Daniel Wagner, SUSE LLC -+ -+source = [ -+ 'trace-utest.c', -+ 'tracefs-utest.c', -+] -+ -+e = executable( -+ 'trace-utest', -+ source, -+ include_directories: [incdir], -+ dependencies: [libtraceevent_dep, cunit_dep], -+ link_with: libtracefs_static) -+ -+test('trace-utest', e) --- -2.39.0 - diff --git a/add-explicit-meson-thread-dependency.patch b/add-explicit-meson-thread-dependency.patch new file mode 100644 index 0000000..e3cd7d7 --- /dev/null +++ b/add-explicit-meson-thread-dependency.patch @@ -0,0 +1,89 @@ +From: Daniel Wagner +Date: Thu Jun 15 11:48:53 AM PDT 2023 +Subject: Add explicit meson thread dependency +Patch-mainline: mailed to mailing list +References: none +Signed-off-by: Tony Jones + +Older version of meson do not add automatically the pthread dependency. +Thus add it explicitly to the build. + +Signed-off-by: Daniel Wagner +--- + meson.build | 1 + + samples/meson.build | 4 ++-- + src/meson.build | 4 ++-- + utest/meson.build | 2 +- + 4 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/meson.build b/meson.build +index d0f0e2dafc8a..9d42d78ad957 100644 +--- a/meson.build ++++ b/meson.build +@@ -17,6 +17,7 @@ project( + library_version = meson.project_version() + + libtraceevent_dep = dependency('libtraceevent', version: '>= 1.7.0', required: true) ++threads_dep = dependency('threads', required: true) + cunit_dep = dependency('cunit', required : false) + + prefixdir = get_option('prefix') +diff --git a/samples/meson.build b/samples/meson.build +index 5e8ad270f812..112b12217a04 100644 +--- a/samples/meson.build ++++ b/samples/meson.build +@@ -30,7 +30,7 @@ foreach ex : examples + executable( + ex.underscorify(), + src, +- dependencies: [libtracefs_dep, libtraceevent_dep], ++ dependencies: [libtracefs_dep, libtraceevent_dep, threads_dep], + include_directories: [incdir]) + endforeach + +@@ -39,7 +39,7 @@ src = gen.process(meson.current_source_dir() + '/../Documentation/libtracefs-sql + executable( + 'sqlhist', + src, +- dependencies: [libtracefs_dep, libtraceevent_dep], ++ dependencies: [libtracefs_dep, libtraceevent_dep, threads_dep], + include_directories: [incdir], + install: true, + install_dir: bindir) +diff --git a/src/meson.build b/src/meson.build +index 56087e2301bf..5b7655453f50 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -36,14 +36,14 @@ libtracefs = library( + 'tracefs', + sources, lfiles, pfiles, + version: library_version, +- dependencies: [libtraceevent_dep], ++ dependencies: [libtraceevent_dep, threads_dep], + include_directories: [incdir], + install: true) + + libtracefs_static = static_library( + 'tracefs_static', + sources, lfiles, pfiles, +- dependencies: [libtraceevent_dep], ++ dependencies: [libtraceevent_dep, threads_dep], + include_directories: [incdir], + install: false) + +diff --git a/utest/meson.build b/utest/meson.build +index 91a526fca2bf..c79313c7c1fb 100644 +--- a/utest/meson.build ++++ b/utest/meson.build +@@ -11,7 +11,7 @@ e = executable( + 'trace-utest', + source, + include_directories: [incdir], +- dependencies: [libtraceevent_dep, cunit_dep], ++ dependencies: [libtraceevent_dep, threads_dep, cunit_dep], + link_with: libtracefs_static) + + test('trace-utest', e) +-- +2.40.1 + diff --git a/libtracefs-1.6.4.tar.gz b/libtracefs-1.6.4.tar.gz deleted file mode 100644 index 8968daf..0000000 --- a/libtracefs-1.6.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:52ce793dbb35a3e59bddce31de09a5d92cedd4d0702e64d0916f1ccdb00526c9 -size 193967 diff --git a/libtracefs-1.7.0.tar.gz b/libtracefs-1.7.0.tar.gz new file mode 100644 index 0000000..02fb9c6 --- /dev/null +++ b/libtracefs-1.7.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:411fcbf3434ecbaefa6c2b1bf092266293a672e2d7ee46fdd6b402753cb8bd16 +size 205716 diff --git a/libtracefs.changes b/libtracefs.changes index 199f9f9..297de05 100644 --- a/libtracefs.changes +++ b/libtracefs.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Thu Jun 15 18:50:11 UTC 2023 - Tony Jones + +- Add explicit thread dependency for older versions of meson (i.e SLE-15-SP5) + New patch: add-explicit-meson-thread-dependency.patch + +------------------------------------------------------------------- +Thu Jun 15 18:40:11 UTC 2023 - Tony Jones + +- Update to version 1.7.0 + * Add initial support for meson + * Add tracefs_kprobe_destroy() to index man page + * State that tracefs_dynevent_create() is needed for tracefs_kprobe_alloc() + * Add missing prototypes in top level man page + * Add tracefs_kprobe_destory() API + * Add helper function to destroy dynamic event + * Add tracefs_time_conversion() API + * Add tracefs_find_cid_pid() API + * Fix crashing of synth test when synths exist + * Do not use synth for test_synth element + * Clarify the tracefs_synth_create() man page + * Do not allow tracefs_synth_set_instance() on created synth + * Documentation for tracefs_synth_set_instance + * New API to set synthetic event instance + * Do not segfault in tests if synthetic events are not configured + * Add tracefs_instance_tracers() API + * Do not use hwlat tracer and fdb_delete event for test + * Add stacktrace to tracefs_sql() + * Unit test for tracefs_instance_reset() + * Documentation for tracefs_instance_reset() + * New API to reset ftrace instance + +- Drop patch 0001-libtracefs-Add-initial-support-for-meson.patch (upstream) + ------------------------------------------------------------------- Tue Feb 7 13:23:20 UTC 2023 - Daniel Wagner diff --git a/libtracefs.spec b/libtracefs.spec index 20c515a..9474380 100644 --- a/libtracefs.spec +++ b/libtracefs.spec @@ -18,14 +18,13 @@ Name: libtracefs %define lname libtracefs1 -Version: 1.6.4 +Version: 1.7.0 Release: 0 Summary: Linux kernel trace file system library License: LGPL-2.1-only Group: Development/Libraries/C and C++ URL: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/ Source: https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/%name-%version.tar.gz -Patch1: 0001-libtracefs-Add-initial-support-for-meson.patch BuildRequires: asciidoc BuildRequires: bison BuildRequires: fdupes @@ -36,6 +35,7 @@ BuildRequires: source-highlight BuildRequires: xmlto BuildRequires: xz BuildRequires: pkgconfig(libtraceevent) >= 1.3 +Patch1: add-explicit-meson-thread-dependency.patch %description This library provides C APIs to access the kernel trace file system.