commit 1875f5fea823ad4f68fa5dd24da1269e7ae004ac577ccc1c2a9ef25ba3a3205b Author: Adrian Schröter Date: Wed May 17 14:54:57 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 libtraceevent revision d91ad0c220308628b72034ac11600545 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-libtraceevent-Add-initial-support-for-meson.patch b/0001-libtraceevent-Add-initial-support-for-meson.patch new file mode 100644 index 0000000..86318aa --- /dev/null +++ b/0001-libtraceevent-Add-initial-support-for-meson.patch @@ -0,0 +1,562 @@ +From d5546a791bd0fdde30c8fb6e58fc614a056c038e Mon Sep 17 00:00:00 2001 +From: Daniel Wagner +Date: Thu, 7 Jul 2022 13:11:59 +0200 +Subject: [PATCH v7] libtraceevent: Add initial support for meson + +Introduce Meson as build framework for building libtraceevent. + +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/libtraceevent-doc + - 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 + +v4: + - install man pages to correct section, in this case 3 + - run check-doc when building the docs + +v3: + - build documentation + - build samples + - changed default install to /usr/local + +v2: + - changed include path exported in pkg-config + exports the same paths as per Makefile + +v1: + - initial version + + Documentation/install-docs.sh.in | 20 ++++ + Documentation/meson.build | 196 +++++++++++++++++++++++++++++++ + include/traceevent/meson.build | 14 +++ + meson.build | 54 +++++++++ + meson_options.txt | 18 +++ + plugins/dynamic_list.sh | 11 ++ + plugins/meson.build | 44 +++++++ + samples/meson.build | 9 ++ + src/meson.build | 35 ++++++ + utest/meson.build | 16 +++ + 10 files changed, 417 insertions(+) + create mode 100644 Documentation/install-docs.sh.in + create mode 100644 Documentation/meson.build + create mode 100644 include/traceevent/meson.build + create mode 100644 meson.build + create mode 100644 meson_options.txt + create mode 100755 plugins/dynamic_list.sh + create mode 100644 plugins/meson.build + 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 100644 +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..b0d3a88d66c9 +--- /dev/null ++++ b/Documentation/meson.build +@@ -0,0 +1,196 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++# input text file: man page section ++sources = { ++ 'libtraceevent.txt': '3', ++ 'libtraceevent-func_apis.txt': '3', ++ 'libtraceevent-commands.txt': '3', ++ 'libtraceevent-cpus.txt': '3', ++ 'libtraceevent-debug.txt': '3', ++ 'libtraceevent-endian_read.txt': '3', ++ 'libtraceevent-event_find.txt': '3', ++ 'libtraceevent-event_get.txt': '3', ++ 'libtraceevent-event_list.txt': '3', ++ 'libtraceevent-event_print.txt': '3', ++ 'libtraceevent-field_find.txt': '3', ++ 'libtraceevent-field_get_val.txt': '3', ++ 'libtraceevent-field_print.txt': '3', ++ 'libtraceevent-field_read.txt': '3', ++ 'libtraceevent-fields.txt': '3', ++ 'libtraceevent-file_endian.txt': '3', ++ 'libtraceevent-filter.txt': '3', ++ 'libtraceevent-func_find.txt': '3', ++ 'libtraceevent-handle.txt': '3', ++ 'libtraceevent-header_page.txt': '3', ++ 'libtraceevent-host_endian.txt': '3', ++ 'libtraceevent-kbuffer-create.txt': '3', ++ 'libtraceevent-kbuffer-read.txt': '3', ++ 'libtraceevent-kbuffer-timestamp.txt': '3', ++ 'libtraceevent-kvm-plugin.txt': '3', ++ 'libtraceevent-log.txt': '3', ++ 'libtraceevent-long_size.txt': '3', ++ 'libtraceevent-page_size.txt': '3', ++ 'libtraceevent-parse_event.txt': '3', ++ 'libtraceevent-parse-files.txt': '3', ++ 'libtraceevent-parse_head.txt': '3', ++ 'libtraceevent-plugins.txt': '3', ++ 'libtraceevent-record_parse.txt': '3', ++ 'libtraceevent-reg_event_handler.txt': '3', ++ 'libtraceevent-reg_print_func.txt': '3', ++ 'libtraceevent-set_flag.txt': '3', ++ 'libtraceevent-strerror.txt': '3', ++ 'libtraceevent-tseq.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/traceevent/meson.build b/include/traceevent/meson.build +new file mode 100644 +index 000000000000..d3512cafbe38 +--- /dev/null ++++ b/include/traceevent/meson.build +@@ -0,0 +1,14 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++headers = [ ++ 'event-parse.h', ++ 'event-utils.h', ++ 'kbuffer.h', ++ 'trace-seq.h', ++] ++ ++foreach h : headers ++ install_headers(h, subdir : 'traceevent') ++endforeach +diff --git a/meson.build b/meson.build +new file mode 100644 +index 000000000000..86907b23f0d9 +--- /dev/null ++++ b/meson.build +@@ -0,0 +1,54 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++project( ++ 'libtraceevent', ['c'], ++ meson_version: '>= 0.50.0', ++ license: 'LGPL-2.1', ++ version: '1.7.0', ++ default_options: [ ++ 'c_std=gnu99', ++ 'buildtype=debug', ++ 'default_library=both', ++ 'prefix=/usr/local', ++ 'warning_level=1', ++ ]) ++ ++library_version = meson.project_version() ++ ++cunit_dep = dependency('cunit', required : false) ++ ++prefixdir = get_option('prefix') ++mandir = join_paths(prefixdir, get_option('mandir')) ++htmldir = join_paths(prefixdir, get_option('htmldir')) ++libdir = join_paths(prefixdir, get_option('libdir')) ++plugindir = get_option('plugindir') ++if plugindir == '' ++ plugindir = join_paths(libdir, 'libtraceevent/plugins') ++endif ++ ++add_project_arguments( ++ [ ++ '-D_GNU_SOURCE', ++ '-DPLUGIN_DIR="@0@"'.format(plugindir), ++ ], ++ language : 'c', ++) ++ ++incdir = include_directories(['include', 'include/traceevent']) ++ ++subdir('src') ++subdir('include/traceevent') ++subdir('plugins') ++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..b2294f6f3b05 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,18 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++option('plugindir', type : 'string', ++ description : 'set the plugin dir') ++option('htmldir', type : 'string', value : 'share/doc/libtraceevent-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/plugins/dynamic_list.sh b/plugins/dynamic_list.sh +new file mode 100755 +index 000000000000..66bb0fadfdef +--- /dev/null ++++ b/plugins/dynamic_list.sh +@@ -0,0 +1,11 @@ ++#!/bin/sh ++# SPDX-License-Identifier: LGPL-2.1 ++ ++symbol_type=$(nm -u -D $@ | awk 'NF>1 {print $1}' | xargs echo "U w W" | ++ tr 'w ' 'W\n' | sort -u | xargs echo) ++ ++if [ "$symbol_type" = "U W" ]; then ++ echo '{' ++ nm -u -D $@ | awk 'NF>1 {sub("@.*", "", $2); print "\t"$2";"}' | sort -u ++ echo '};' ++fi +diff --git a/plugins/meson.build b/plugins/meson.build +new file mode 100644 +index 000000000000..74ad664e4b4b +--- /dev/null ++++ b/plugins/meson.build +@@ -0,0 +1,44 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++plugins = [ ++ 'plugin_cfg80211.c', ++ 'plugin_function.c', ++ 'plugin_futex.c', ++ 'plugin_hrtimer.c', ++ 'plugin_jbd2.c', ++ 'plugin_kmem.c', ++ 'plugin_kvm.c', ++ 'plugin_mac80211.c', ++ 'plugin_sched_switch.c', ++ 'plugin_scsi.c', ++ 'plugin_tlb.c', ++ 'plugin_xen.c', ++] ++ ++pdeps = [] ++foreach plugin : plugins ++ pdeps += library( ++ plugin.replace('.c', ''), ++ plugin, ++ name_prefix: '', ++ version: library_version, ++ dependencies: [libtraceevent_dep], ++ include_directories: [incdir], ++ install: true, ++ install_dir: plugindir) ++endforeach ++ ++# perf needs the exported symbol list ++dynamic_list_file = find_program('dynamic_list.sh') ++custom_target( ++ 'dynamic_list', ++ depends: pdeps, ++ input: pdeps, ++ output: 'libtraceevent-dynamic-list', ++ command: [dynamic_list_file, '@INPUT@'], ++ capture: true, ++ build_by_default: true, ++ install: true, ++ install_dir: plugindir) +diff --git a/samples/meson.build b/samples/meson.build +new file mode 100644 +index 000000000000..e62ff83d087d +--- /dev/null ++++ b/samples/meson.build +@@ -0,0 +1,9 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++executable( ++ 'test-event', ++ ['test-event.c'], ++ dependencies: libtraceevent_dep, ++ include_directories: [incdir]) +diff --git a/src/meson.build b/src/meson.build +new file mode 100644 +index 000000000000..20b1b7bb95d9 +--- /dev/null ++++ b/src/meson.build +@@ -0,0 +1,35 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++sources= [ ++ 'event-parse-api.c', ++ 'event-parse.c', ++ 'event-plugin.c', ++ 'kbuffer-parse.c', ++ 'parse-filter.c', ++ 'parse-utils.c', ++ 'tep_strerror.c', ++ 'trace-seq.c', ++] ++ ++libtraceevent = library( ++ 'traceevent', ++ sources, ++ version: library_version, ++ include_directories: [incdir], ++ install: true) ++ ++pkg = import('pkgconfig') ++pkg.generate( ++ libtraceevent, ++ subdirs: 'traceevent', ++ filebase: meson.project_name(), ++ name: meson.project_name(), ++ version: meson.project_version(), ++ description: 'Manage trace event', ++ url: 'https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/') ++ ++libtraceevent_dep = declare_dependency( ++ include_directories: ['.'], ++ link_with: libtraceevent) +diff --git a/utest/meson.build b/utest/meson.build +new file mode 100644 +index 000000000000..d819a6c798b5 +--- /dev/null ++++ b/utest/meson.build +@@ -0,0 +1,16 @@ ++# SPDX-License-Identifier: LGPL-2.1 ++# ++# Copyright (c) 2023 Daniel Wagner, SUSE LLC ++ ++source = [ ++ 'trace-utest.c', ++ 'traceevent-utest.c', ++] ++ ++e = executable( ++ 'trace-utest', ++ source, ++ include_directories: [incdir], ++ dependencies: [libtraceevent_dep, cunit_dep]) ++ ++test('trace-utest', e) +-- +2.39.0 + diff --git a/libtraceevent-1.7.2.tar.gz b/libtraceevent-1.7.2.tar.gz new file mode 100644 index 0000000..6e17c66 --- /dev/null +++ b/libtraceevent-1.7.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8b4bf8f05c06d1d6405f6d0038467a87e7ab218f0d8b0608d08bca5d1fc112a +size 148242 diff --git a/libtraceevent-rpmlintrc b/libtraceevent-rpmlintrc new file mode 100644 index 0000000..b0f924a --- /dev/null +++ b/libtraceevent-rpmlintrc @@ -0,0 +1 @@ +addFilter("E: shared-library-without-dependency-information /usr/lib64/traceevent1/plugins/.*") diff --git a/libtraceevent.changes b/libtraceevent.changes new file mode 100644 index 0000000..3e3570c --- /dev/null +++ b/libtraceevent.changes @@ -0,0 +1,138 @@ +------------------------------------------------------------------- +Thu Apr 27 22:15:58 UTC 2023 - Dirk Müller + +- update to 1.7.2: + * Fix some missing commas in big endian blocks + * Rename "ok" to "token_has_paren" in process_sizeof() + * No need for testing ok in else if (!ok) in process_sizeof() + * Fix double free in parsing sizeof() + +------------------------------------------------------------------- +Sat Feb 11 09:53:05 UTC 2023 - Hans-Peter Jansen + +- Let's build this package in %build, not %prep, as usual +- Link explicitly with -ldl allows building with older toolchains + +------------------------------------------------------------------- +Tue Feb 7 13:05:10 UTC 2023 - Daniel Wagner + +- Sync meson build patch with latest upstream version + * Documentation is build via extra build target + +------------------------------------------------------------------- +Wed Jan 18 13:43:29 UTC 2023 - Dirk Müller + +- update to 1.7.1: + * Make sure 32 bit work on 64 bit file systems + * Fix string parsing + * Remove tep_find_function{address}() from libtraceevent + * Fix output of raw prints + * Show migrate-disabled field + +------------------------------------------------------------------- +Sat Dec 24 10:41:38 UTC 2022 - Daniel Wagner + +- Update to release 1.7.0 + - New APIs: + tep_find_function_info() - Returns not only the name of a function from its + address, but also where the function starts and + its size. + tep_kbuffer() - Returns the kbuffer parser for a tep handle. + - Now handles cpumask() macro parsing. + - Add SAME_AS_HOST for endian and long size to kbuffer_alloc() + - Handle dynamic fields that are not arrays. + - Allow function parameters to have operators. + - sizeof() parsing for some basic types. + - Added man pages for the kbuffer API. + - print_field_raw() terminates with '\0' + - Fix uninitialized variables + - Fix a "check after derer" coverity flaw + - Fix testing the dereference pointer instead of the pointer for NULL. + - Fix double free +- Build project with Meson + * add 0001-libtraceevent-Add-initial-support-for-meson.patch + +------------------------------------------------------------------- +Mon Aug 29 09:56:33 UTC 2022 - Jan Engelhardt + +- Update to release 1.6.2 + * Add API tep_get_function_count() + * Reset right arg when copying TEP_PRINT_OP + * Reset field properly in event_read_fields() + * Fix memleak in make_bprint_args() + * Add processing of __get_sockaddr() and __get_sockaddr_rel() + +------------------------------------------------------------------- +Tue Apr 5 15:44:56 UTC 2022 - Daniel Wagner + +- Update to latest upstream version (1.5.3) + Most notable changes are all bugfixes, e.g.: + * Optimize constant logic in print format processing + * Better parsing of fields with typecasts + * Fix backward compatibility with tep_print_arg_string + * Log printing updates + * Fix man pages + * Sample program to simplify testing of event format parsing + * Better message of expected tokens + * Fix parsing print fmts with new lines + For details, see: + * https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/tag/?h=libtraceevent-1.5.3 + * https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/tag/?h=libtraceevent-1.5.2 + * https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/tag/?h=libtraceevent-1.5.1 + +------------------------------------------------------------------- +Thu Feb 24 10:23:14 UTC 2022 - Andreas Schwab + +- Use %{optflags} +- Makefile is not parallel-safe + +------------------------------------------------------------------- +Tue Feb 22 12:34:56 UTC 2022 - olaf@aepfle.de + +- Force correct pkgconfig_dir location to fix build + +------------------------------------------------------------------- +Wed Jan 19 13:04:19 UTC 2022 - Dario Faggioli + +- Update to latest upstream version (1.5.0) +- Update romlintrc (again) to silence complains about plugins + +------------------------------------------------------------------- +Fri May 14 18:23:17 UTC 2021 - Tony Jones + +- Update rpmlintrc to suppress warnings about plugins + +------------------------------------------------------------------- +Fri May 14 14:48:42 UTC 2021 - Dario Faggioli + +- Update to latest upstream version (1.3.0) + +------------------------------------------------------------------- +Wed May 12 16:39:50 UTC 2021 - Tony Jones + +- Make package compliant with SLPP. + Package plugins into so-ver specific directory. + +------------------------------------------------------------------- +Fri May 7 17:25:48 UTC 2021 - Dario Faggioli + +- Update to latest upstream version (1.2.1) +- Fix one rpmlint warning + +------------------------------------------------------------------- +Tue Dec 22 19:35:04 UTC 2020 - Jan Engelhardt + +- Rectify License: fields to mirror the SPDX lines found in source + and the object builds. +- Rectify Group: fields. +- Fix duplicate manpages. +- Rename rpmlintrc according to policy. +- Update to release 1.1.1 + * trace-cmd libtraceevent: Fix bprint '#' parsing + * Man page for tep_add_plugin_path() API + * Man page for libtraceevent debug APIs + +------------------------------------------------------------------- +Tue Oct 20 15:05:45 UTC 2020 - Tony Jones + +- Initial checkin of libtraceevent. diff --git a/libtraceevent.spec b/libtraceevent.spec new file mode 100644 index 0000000..4176c66 --- /dev/null +++ b/libtraceevent.spec @@ -0,0 +1,110 @@ +# +# spec file for package libtraceevent +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define sonum 1 +%define dname traceevent +%define soname %{name}%{sonum} +%define sodname %{dname}%{sonum} + +Name: libtraceevent +Version: 1.7.2 +Release: 0 +Summary: Linux kernel trace event library +License: GPL-2.0-only AND LGPL-2.1-only +Group: Development/Libraries/C and C++ +URL: https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ +Source: https://git.kernel.org/pub/scm/libs/libtrace/%{name}.git/snapshot/%{name}-%{version}.tar.gz +Source9: %name-rpmlintrc +Patch1: 0001-libtraceevent-Add-initial-support-for-meson.patch +BuildRequires: asciidoc +BuildRequires: fdupes +BuildRequires: glibc-devel +BuildRequires: meson +BuildRequires: source-highlight +BuildRequires: xmlto + +%description +Linux kernel trace event library. This was once embedded in trace-cmd, but now it is its own standalone library. + +%package -n %{soname} +Summary: Linux kernel trace event library +License: GPL-2.0-only +Group: System/Libraries + +%description -n %{soname} +The libtraceevent library provides APIs to access kernel tracepoint events located in the tracefs file system under the events directory. + +%package -n %{soname}-plugins +Summary: Plugins for the Linux kernel trace event library +License: GPL-2.0-only AND LGPL-2.1-only +Group: System/Libraries +Requires: %{soname} = %{version} + +%description -n %{soname}-plugins +This package provides plugins for the libtraceevent library. + +%package devel +Summary: Header files for %{name} +License: GPL-2.0-only AND LGPL-2.1-only +Group: Development/Libraries/C and C++ +Requires: %{soname} = %{version} + +%description -n %{name}-devel +The package provides header and other needed development files for the library %{name} + +%prep +%autosetup -p1 + +%build +export LDFLAGS="-ldl" + +%meson \ + --default-library=shared \ + -Dhtmldir=%{_docdir}/%{name} \ + -Dplugindir=%{_libdir}/%{sodname}/plugins +%meson_build +%meson_build docs + +%install +%meson_install + +%fdupes %buildroot/%_prefix + +ls -lR %{buildroot}/%{_libdir} + +%post -n %{soname} -p /sbin/ldconfig +%postun -n %{soname} -p /sbin/ldconfig + +%files -n %{soname} +%{_libdir}/%{name}.so.* + +%files -n %{soname}-plugins +%dir %{_libdir}/%{sodname} +%dir %{_libdir}/%{sodname}/plugins +%{_libdir}/%{sodname}/plugins/*.so* +%{_libdir}/%{sodname}/plugins/libtraceevent-dynamic-list + +%files devel +%dir %{_includedir}/%{dname} +%{_includedir}/%{dname}/*.h +%{_libdir}/%{name}.so +%{_libdir}/pkgconfig/%{name}.pc +%{_mandir}/man3/* +%{_docdir}/%{name}/ + +%changelog