From 04e87f0360057a7d6abee05494f903ce777a5a2950eb047f3d4c7be8b4cb2b0c Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 18 Jun 2024 07:25:40 +0000 Subject: [PATCH 1/3] Accepting request 1181395 from home:wagi:branches:benchmark Mon 14:22:13 UTC 2024 - Daniel Wagner - Update to v1.8.0 * remove: add-explicit-meson-thread-dependency.patch * tracefs_follow_event_clear() and tracefs_follow_missed_events_clear() API to clean up followers if the tracefs instance is going to be used for other iterations * tracefs_instance_file_write_number() A simple helper function to make it easier to write numbers into the tracefs files. It does the conversion from number to string, as the files expect strings and not numbers. * Add API to work with kbuffer, which gives more control to the application and speeds it up: tracefs_cpu_read_buf() tracefs_cpu_buffered_read_buf() tracefs_cpu_flush_buf() * tracefs_instance_get_buffer_percent() and tracefs_instance_set_buffer_percent() Modify the buffer_percent file that allows readers to block until the buffer is filled to a given percent. This keeps the reader from causing events that will add noise to the trace. * tracefs_instance_clear() Helper to clear the contents of the current trace instance. * tep_get_sub_buffer_data_size() Helper to retrieve the current sub-buffer data size. The Linux kernel tracing ring buffer is broken up into smaller sub-buffers. This returns the size of the data portion of those sub-buffers (does not include the sub-buffer meta data). * tracefs_load_headers() API to just load the information about the sub-buffers and nothing more. * API to extract tracing ring buffer statistics tracefs_instance_get_stat() tracefs_instance_put_stat() tracefs_buffer_stat_entries() tracefs_buffer_stat_overrun() tracefs_buffer_stat_commit_overrun() tracefs_buffer_stat_bytes() tracefs_buffer_stat_event_timestamp() tracefs_buffer_stat_timestamp() tracefs_buffer_stat_dropped_events * tracefs_instance_set_subbuf_size() and tracefs_instance_get_subbuf_size() API to modify the sub-buffers size of the tracing ring buffer. * Added TIMESTAMP_DELTA and TIMESTAMP_DELTA_USECS to tracefs_sql() as a shortcut for (end.TIMESTAMP - start.TIMESTAMP) and (end.TIMESTAMP_USECS - start.TIMESTAMP_USECS) respectively * Add PID filtering API: tracefs_filter_pid_function() tracefs_filter_pid_events() tracefs_filter_pid_function_clear() tracefs_filter_pid_events_clear() * Added tracefs_cpu_snapshot_open() to read the raw data of snapshot buffers * Added snapshot functions: tracefs_snapshot_snap() tracefs_snapshot_clear() tracefs_snapshot_free() * Added ring buffer memory mapping APIs tracefs_cpu_open_mapped() tracefs_cpu_is_mapped() tracefs_mapped_is_supported() tracefs_cpu_map() tracefs_cpu_unmap() * Updates: - Increase pipe max size to max value when using splice. - Clear "max_graph_depth" on tracefs_instance_reset() - Add missing headers to syscall() and SYS_* defines - Add dependency fixes to meson build - Fix some documentation / man page issues - Fix memory leaks - Fix cscope rule - Fix issues in unit tests - Added many more unit tests OBS-URL: https://build.opensuse.org/request/show/1181395 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtracefs?expand=0&rev=33 --- .gitattributes | 23 ++ .gitignore | 1 + ...-meson-build-tracefs-mmap-by-default.patch | 31 ++ add-explicit-meson-thread-dependency.patch | 89 +++++ libtracefs-1.7.0.tar.gz | 3 + libtracefs-1.8.0.tar.gz | 3 + libtracefs.changes | 317 ++++++++++++++++++ libtracefs.spec | 103 ++++++ 8 files changed, 570 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-libtracefs-meson-build-tracefs-mmap-by-default.patch create mode 100644 add-explicit-meson-thread-dependency.patch create mode 100644 libtracefs-1.7.0.tar.gz create mode 100644 libtracefs-1.8.0.tar.gz create mode 100644 libtracefs.changes create mode 100644 libtracefs.spec 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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch b/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch new file mode 100644 index 0000000..876b4c9 --- /dev/null +++ b/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch @@ -0,0 +1,31 @@ +From 7d15d7744d957b1721d8e202bd5095b7c449570f Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 10 Jan 2024 21:39:25 +0100 +Subject: [PATCH] libtracefs meson: build tracefs-mmap by default + +Accordingly to Makefile let's add tracefs-mmap.c to build, this is needed +for linking by other object files. + +Link: https://lore.kernel.org/linux-trace-devel/20240110203925.266999-1-giulio.benetti@benettiengineering.com + +Signed-off-by: Giulio Benetti +Signed-off-by: Steven Rostedt (Google) +--- + src/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/meson.build b/src/meson.build +index 5b7655453f50..f7a98b9ce48e 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -11,6 +11,7 @@ sources= [ + 'tracefs-instance.c', + 'tracefs-kprobes.c', + 'tracefs-marker.c', ++ 'tracefs-mmap.c', + 'tracefs-record.c', + 'tracefs-sqlhist.c', + 'tracefs-tools.c', +-- +2.45.2 + 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.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-1.8.0.tar.gz b/libtracefs-1.8.0.tar.gz new file mode 100644 index 0000000..eb46987 --- /dev/null +++ b/libtracefs-1.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f92475d5c4cb509983697fb359ee615bef4f08ed8bdc9c690f6118ba68886de0 +size 224662 diff --git a/libtracefs.changes b/libtracefs.changes new file mode 100644 index 0000000..b3c4b77 --- /dev/null +++ b/libtracefs.changes @@ -0,0 +1,317 @@ +------------------------------------------------------------------- +Mon 14:22:13 UTC 2024 - Daniel Wagner + +- Update to v1.8.0 + * remove: add-explicit-meson-thread-dependency.patch + * tracefs_follow_event_clear() and tracefs_follow_missed_events_clear() + API to clean up followers if the tracefs instance is going to be used + for other iterations + * tracefs_instance_file_write_number() + A simple helper function to make it easier to write numbers into the + tracefs files. It does the conversion from number to string, as the + files expect strings and not numbers. + * Add API to work with kbuffer, which gives more control to the application + and speeds it up: + tracefs_cpu_read_buf() + tracefs_cpu_buffered_read_buf() + tracefs_cpu_flush_buf() + * tracefs_instance_get_buffer_percent() and tracefs_instance_set_buffer_percent() + Modify the buffer_percent file that allows readers to block until the buffer + is filled to a given percent. This keeps the reader from causing events that + will add noise to the trace. + * tracefs_instance_clear() + Helper to clear the contents of the current trace instance. + * tep_get_sub_buffer_data_size() + Helper to retrieve the current sub-buffer data size. The Linux kernel tracing + ring buffer is broken up into smaller sub-buffers. This returns the size of + the data portion of those sub-buffers (does not include the sub-buffer meta + data). + * tracefs_load_headers() + API to just load the information about the sub-buffers and nothing more. + * API to extract tracing ring buffer statistics + tracefs_instance_get_stat() + tracefs_instance_put_stat() + tracefs_buffer_stat_entries() + tracefs_buffer_stat_overrun() + tracefs_buffer_stat_commit_overrun() + tracefs_buffer_stat_bytes() + tracefs_buffer_stat_event_timestamp() + tracefs_buffer_stat_timestamp() + tracefs_buffer_stat_dropped_events + * tracefs_instance_set_subbuf_size() and tracefs_instance_get_subbuf_size() + API to modify the sub-buffers size of the tracing ring buffer. + * Added TIMESTAMP_DELTA and TIMESTAMP_DELTA_USECS to tracefs_sql() as a shortcut + for (end.TIMESTAMP - start.TIMESTAMP) and (end.TIMESTAMP_USECS - start.TIMESTAMP_USECS) + respectively + * Add PID filtering API: + tracefs_filter_pid_function() + tracefs_filter_pid_events() + tracefs_filter_pid_function_clear() + tracefs_filter_pid_events_clear() + * Added tracefs_cpu_snapshot_open() to read the raw data of snapshot buffers + * Added snapshot functions: + tracefs_snapshot_snap() + tracefs_snapshot_clear() + tracefs_snapshot_free() + * Added ring buffer memory mapping APIs + tracefs_cpu_open_mapped() + tracefs_cpu_is_mapped() + tracefs_mapped_is_supported() + tracefs_cpu_map() + tracefs_cpu_unmap() + * Updates: + - Increase pipe max size to max value when using splice. + - Clear "max_graph_depth" on tracefs_instance_reset() + - Add missing headers to syscall() and SYS_* defines + - Add dependency fixes to meson build + - Fix some documentation / man page issues + - Fix memory leaks + - Fix cscope rule + - Fix issues in unit tests + - Added many more unit tests + +------------------------------------------------------------------- +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 + +- Sync meson build patch with latest upstream version + * Documentation is built via extra build target + +------------------------------------------------------------------- +Wed Jan 18 09:39:05 UTC 2023 - Dirk Müller + +- update to 1.6.4: + * Flush pipe data in tracefs_cpu_flush() + * Add check for duplicate functions in man pages + * Make sure 32 bit works on 64 bit file systems + +------------------------------------------------------------------- +Tue Dec 27 09:22:13 UTC 2022 - Daniel Wagner + +- Use meson to build package + * add 0001-libtracefs-Add-initial-support-for-meson.patch + +------------------------------------------------------------------- +Fri Dec 16 15:06:03 UTC 2022 - Jan Engelhardt + +- Update to release 1.6.3 + * Fix a regression of where tracefs_tracing_dir() did not mount + the tracefs file system if it was not already mounted. + Same for mounting debugfs with tracefs_debug_dir(). + * Have tracefs_tracing_dir() and tracefs_debug_dir() check if the + cached directory still exists and is mounted. + +------------------------------------------------------------------- +Fri Nov 25 00:14:30 UTC 2022 - Jan Engelhardt + +- Update to release 1.6.1 + * Fix tracefs_iterate_raw_events() to handle NULL callback + +------------------------------------------------------------------- +Wed Nov 16 01:32:28 UTC 2022 - Jan Engelhardt + +- Update to release 1.6.0 + * No changelog provided by upstream + * A set of new API functions + +------------------------------------------------------------------- +Mon Aug 29 09:59:28 UTC 2022 - Jan Engelhardt + +- Update to release 1.4.2 + * Build fixes only (parallel build, musl support) + +------------------------------------------------------------------- +Tue Jun 21 11:27:48 UTC 2022 - Jan Engelhardt + +- Force make -j1 during build because of object file corruption. + +------------------------------------------------------------------- +Tue Jun 7 08:34:18 UTC 2022 - Daniel Wagner + +- Update to latest upstream version (1.4.1) + * Raw uprobe API: tracefs_uprobe_alloc(), tracefs_uretprobe_alloc + * Return the debugfs mount point from tracefs_debug_dir() + * sqlhst: Fix labels being ignored for synthetic event field + * sqlhst: Allow same event to be both the start and end event + * sqlhst: Use unique names for labels + * sqlhst: Report errors when executing commands + +------------------------------------------------------------------- +Tue Apr 5 15:46:56 UTC 2022 - Daniel Wagner + +- Update to latest upstream version (1.3.1) + * Optimized string list handling. It was always stated that some string + lists must be freed with tracefs_list_free(), and now it is mandatory, as + metadata is used to store the size, and normal freeing of the list will + cause memory issues. + * More consistency with errno values + * sqlhist is now officially built + * New methods for setting and reading affinity + tracefs_instance_set_affinity_set() + tracefs_instance_set_affinity_raw() + tracefs_instance_set_affinity() + tracefs_instance_get_affinity() + tracefs_instance_get_affinity_raw() + tracefs_instance_get_affinity_set() + * New method to see the system tracers + tracefs_instances() + * New methods to read and clear the error log + tracefs_error_last() + tracefs_error_all() + tracefs_error_clear() + * New methods to modify the string lists + tracefs_list_add() + tracefs_list_size() + * New method to stop the iterator over raw events + tracefs_iterate_stop() + * New methods to make it easier to access event files + tracefs_event_get_file() + tracefs_event_file_read() + tracefs_event_file_write() + tracefs_event_file_append() + tracefs_event_file_clear() + tracefs_event_file_exists() + * New method to get the available filter functions + tracefs_filter_functions() + * New methods to enable or disable tracers + tracefs_tracer_set() + tracefs_tracer_clear() + * New methods for streaming the trace_pipe file + tracefs_trace_pipe_stream() + tracefs_trace_pipe_print() + tracefs_trace_pipe_stop() + * New methods for creating, modifying and destroying dynamic events + tracefs_dynevent_create() + tracefs_dynevent_destroy() + tracefs_dynevent_destroy_all() + tracefs_dynevent_free() + tracefs_dynevent_list_free() + tracefs_dynevent_get_all() + tracefs_dynevent_get() + tracefs_dynevent_info() + tracefs_dynevent_get_event() + * New method to create an event probe (then use dynamic methods above) + tracefs_eprobe_alloc() + * New methods to create kprobes and kretprobes + tracefs_kprobe_alloc() + tracefs_kretprobe_alloc() + tracefs_kprobe_raw() + tracefs_kretprobe_raw() + * New methods for creating, modifying and destroying histograms + tracefs_hist_free() + tracefs_hist_alloc() + tracefs_hist_alloc_2d() + tracefs_hist_alloc_nd() + tracefs_hist_get_name() + tracefs_hist_get_event() + tracefs_hist_get_system() + tracefs_hist_add_key() + tracefs_hist_add_value() + tracefs_hist_add_sort_key() + tracefs_hist_set_sort_key() + tracefs_hist_sort_key_direction() + tracefs_hist_add_name() + tracefs_hist_append_filter() + tracefs_hist_echo_cmd() + tracefs_hist_command() + tracefs_hist_start() + tracefs_hist_pause() + tracefs_hist_continue() + tracefs_hist_reset() + tracefs_hist_destroy() + * New methods for creating, modifying and destroying synthetic events + tracefs_synth_get_name() + tracefs_synth *tracefs_synth_alloc() + tracefs_synth_add_match_field() + tracefs_synth_add_compare_field() + tracefs_synth_add_start_field() + tracefs_synth_add_end_field() + tracefs_synth_append_start_filter() + tracefs_synth_append_end_filter() + tracefs_synth_trace() + tracefs_synth_snapshot() + tracefs_synth_save() + tracefs_synth_complete() + tracefs_synth_get_start_hist() + tracefs_synth_create() + tracefs_synth_destroy() + tracefs_synth_free() + tracefs_synth_echo_cmd() + tracefs_synth_raw_fmt() + tracefs_synth_show_event() + tracefs_synth_show_start_hist() + tracefs_synth_show_end_hist() + tracefs_synth_get_event() + * New methods to modify event filters + tracefs_filter_string_append() + tracefs_filter_string_verify() + tracefs_event_filter_apply() + tracefs_event_filter_clear() + tracefs_event_append_filter() + tracefs_event_verify_filter() + * New method to create a synthetic event via a SQL string + tracefs_sql() + The man page comes with its own program (sqlhist). + +------------------------------------------------------------------- +Tue Feb 22 12:34:56 UTC 2022 - olaf@aepfle.de + +- Force correct pkgconfig_dir location to fix build + +------------------------------------------------------------------- +Wed Jan 19 13:13:55 UTC 2022 - Dario Faggioli + +- Update to latest upstream version (1.2.5) + * No changelog provided again + +------------------------------------------------------------------- +Fri May 14 15:06:28 UTC 2021 - Dario Faggioli + +- Update to new upstream version (1.2.0) + * No changelog was provided by upstream. + * libtracefs: Add tracefs_event_enable/disable() API + +------------------------------------------------------------------- +Mon May 10 08:03:05 UTC 2021 - Dario Faggioli + +- update to new upstream version (1.1.2) +- drop patch 294319.patch (already present upstream) + +------------------------------------------------------------------- +Tue Dec 22 19:28:57 UTC 2020 - Jan Engelhardt + +- Initial package (version 1.0.0) for build.opensuse.org +- Add 294319.patch diff --git a/libtracefs.spec b/libtracefs.spec new file mode 100644 index 0000000..90be9e3 --- /dev/null +++ b/libtracefs.spec @@ -0,0 +1,103 @@ +# +# spec file for package libtracefs +# +# Copyright (c) 2024 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/ +# + + +Name: libtracefs +%define lname libtracefs1 +Version: 1.8.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 +BuildRequires: asciidoc +BuildRequires: bison +BuildRequires: fdupes +BuildRequires: flex +BuildRequires: meson +BuildRequires: pkg-config +BuildRequires: source-highlight +BuildRequires: xmlto +BuildRequires: xz +BuildRequires: pkgconfig(libtraceevent) >= 1.3 +Patch: 0001-libtracefs-meson-build-tracefs-mmap-by-default.patch + +%description +This library provides C APIs to access the kernel trace file system. + +%package -n %lname +Summary: Linux kernel trace file system library +Group: System/Libraries + +%description -n %lname +This library provides C APIs to access the kernel trace file system. + +%package tools +Summary: Tools for libtracefs +Group: Development/Libraries/C and C++ +Requires: %lname = %version + +%description tools +This library provides C APIs to access the kernel trace file system. + +This subpackage contains tools. + +%package devel +Summary: Development files for libtracefs +Group: Development/Libraries/C and C++ +Requires: %lname = %version + +%description devel +This library provides C APIs to access the kernel trace file system. + +This subpackage contains the header files. + +%prep +%autosetup -p1 + +%build +%meson \ + --default-library=shared \ + -Dhtmldir="%_docdir/%name" +%meson_build +%meson_build docs + +%install +%meson_install + +%fdupes %buildroot/%_prefix + +%post -n %lname -p /sbin/ldconfig +%postun -n %lname -p /sbin/ldconfig + +%files -n %lname +%_libdir/libtracefs.so.1* +%license LICENSES/LGPL-2.1 + +%files tools +%_bindir/sqlhist +%_mandir/man1/* + +%files devel +%_includedir/* +%_libdir/libtracefs.so +%_libdir/pkgconfig/*.pc +%_mandir/man3/* +%_docdir/%name/ + +%changelog From 0306c08eaf218cfe283790c1bdac00aa8adb5a179c6ed27d95b66050424c18fc Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 27 Jul 2024 17:53:24 +0000 Subject: [PATCH 2/3] [info=bc289b389809a2c371f4a5f92f585fcde840b47ea1d0eb23b18a621eed33b1ad] OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtracefs?expand=0&rev=34 --- _scmsync.obsinfo | 4 ++++ build.specials.obscpio | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 _scmsync.obsinfo create mode 100644 build.specials.obscpio diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..899b084 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1722102981 +commit: bc289b389809a2c371f4a5f92f585fcde840b47ea1d0eb23b18a621eed33b1ad +url: https://src.opensuse.org/jengelh/libtracefs +revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..dd3f027 --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ec9b69822c7b81088d41933d57231badd8dad0a26d53d8d290081bc8ff9f55f +size 256 From 74613b046cf3e5248b61b934f54520303fb18efbfaf6d65c8f4bb2f7f2c48204 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Sat, 27 Jul 2024 18:05:32 +0000 Subject: [PATCH 3/3] [info=ea04d2f7ecdc5828fc6dd637961df105488bdd118554d2b58ba0bc2a472d6f2c] OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libtracefs?expand=0&rev=35 --- ...-meson-build-tracefs-mmap-by-default.patch | 31 ------------------- _scmsync.obsinfo | 4 +-- build.specials.obscpio | 2 +- libtracefs-1.8.0.tar.gz | 3 -- libtracefs-1.8.1.tar.gz | 3 ++ libtracefs.changes | 8 +++++ libtracefs.spec | 3 +- 7 files changed, 15 insertions(+), 39 deletions(-) delete mode 100644 0001-libtracefs-meson-build-tracefs-mmap-by-default.patch delete mode 100644 libtracefs-1.8.0.tar.gz create mode 100644 libtracefs-1.8.1.tar.gz diff --git a/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch b/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch deleted file mode 100644 index 876b4c9..0000000 --- a/0001-libtracefs-meson-build-tracefs-mmap-by-default.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7d15d7744d957b1721d8e202bd5095b7c449570f Mon Sep 17 00:00:00 2001 -From: Giulio Benetti -Date: Wed, 10 Jan 2024 21:39:25 +0100 -Subject: [PATCH] libtracefs meson: build tracefs-mmap by default - -Accordingly to Makefile let's add tracefs-mmap.c to build, this is needed -for linking by other object files. - -Link: https://lore.kernel.org/linux-trace-devel/20240110203925.266999-1-giulio.benetti@benettiengineering.com - -Signed-off-by: Giulio Benetti -Signed-off-by: Steven Rostedt (Google) ---- - src/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/meson.build b/src/meson.build -index 5b7655453f50..f7a98b9ce48e 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -11,6 +11,7 @@ sources= [ - 'tracefs-instance.c', - 'tracefs-kprobes.c', - 'tracefs-marker.c', -+ 'tracefs-mmap.c', - 'tracefs-record.c', - 'tracefs-sqlhist.c', - 'tracefs-tools.c', --- -2.45.2 - diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo index 899b084..aa93b74 100644 --- a/_scmsync.obsinfo +++ b/_scmsync.obsinfo @@ -1,4 +1,4 @@ -mtime: 1722102981 -commit: bc289b389809a2c371f4a5f92f585fcde840b47ea1d0eb23b18a621eed33b1ad +mtime: 1722103748 +commit: ea04d2f7ecdc5828fc6dd637961df105488bdd118554d2b58ba0bc2a472d6f2c url: https://src.opensuse.org/jengelh/libtracefs revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio index dd3f027..e222eb9 100644 --- a/build.specials.obscpio +++ b/build.specials.obscpio @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ec9b69822c7b81088d41933d57231badd8dad0a26d53d8d290081bc8ff9f55f +oid sha256:ebefc5e0c15819c9f8167ef48cc53ce5dba9d903050a2753d4c282eed23923c9 size 256 diff --git a/libtracefs-1.8.0.tar.gz b/libtracefs-1.8.0.tar.gz deleted file mode 100644 index eb46987..0000000 --- a/libtracefs-1.8.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f92475d5c4cb509983697fb359ee615bef4f08ed8bdc9c690f6118ba68886de0 -size 224662 diff --git a/libtracefs-1.8.1.tar.gz b/libtracefs-1.8.1.tar.gz new file mode 100644 index 0000000..a06e17d --- /dev/null +++ b/libtracefs-1.8.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d295aa20d711c313a9e229dbd15ba14026f0c1a50d57ae8b0823cc561b23745f +size 225995 diff --git a/libtracefs.changes b/libtracefs.changes index b3c4b77..1721abd 100644 --- a/libtracefs.changes +++ b/libtracefs.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sat Jul 27 17:57:36 UTC 2024 - Jan Engelhardt + +- Update to release 1.8.1 + * Plug some memory leaks +- Delete 0001-libtracefs-meson-build-tracefs-mmap-by-default.patch + (merged) + ------------------------------------------------------------------- Mon 14:22:13 UTC 2024 - Daniel Wagner diff --git a/libtracefs.spec b/libtracefs.spec index 90be9e3..c679938 100644 --- a/libtracefs.spec +++ b/libtracefs.spec @@ -18,7 +18,7 @@ Name: libtracefs %define lname libtracefs1 -Version: 1.8.0 +Version: 1.8.1 Release: 0 Summary: Linux kernel trace file system library License: LGPL-2.1-only @@ -35,7 +35,6 @@ BuildRequires: source-highlight BuildRequires: xmlto BuildRequires: xz BuildRequires: pkgconfig(libtraceevent) >= 1.3 -Patch: 0001-libtracefs-meson-build-tracefs-mmap-by-default.patch %description This library provides C APIs to access the kernel trace file system.