libtracefs/libtracefs.spec
Jan Engelhardt 04e87f0360 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 07:25:40 +00:00

104 lines
2.7 KiB
RPMSpec

#
# 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