SHA256
1
0
forked from pool/libtracefs
libtracefs/libtracefs.spec

104 lines
2.7 KiB
RPMSpec
Raw Normal View History

Accepting request 1181395 from home:wagi:branches:benchmark Mon 14:22:13 UTC 2024 - Daniel Wagner <daniel.wagner@suse.com> - 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
2024-06-18 09:25:40 +02:00
#
# 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