Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
devel:tools
bpftrace
bpftrace.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bpftrace.spec of Package bpftrace
# # spec file for package bpftrace # # 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/ # # Use default LLVM on openSUSE unless it is not yet supported %if 0%{?suse_version} >= 1600 || 0%{?is_opensuse} %if 0%{?product_libs_llvm_ver} > 18 %define llvm_major_version 18 %else %define llvm_major_version %{nil} %endif %else # Hard-code latest LLVM for SLES, the default version is too old %if 0%{?sle_version} == 150600 %define llvm_major_version 17 %else %if 0%{?sle_version} == 150500 %define llvm_major_version 15 %else %if 0%{?sle_version} == 150400 %define llvm_major_version 11 %endif %endif %endif %endif Name: bpftrace Version: 0.21.2 Release: 0 Summary: High-level tracing language for Linux eBPF License: Apache-2.0 Group: Development/Tools/Debuggers URL: https://github.com/iovisor/bpftrace Source: https://github.com/iovisor/bpftrace/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: binutils BuildRequires: binutils-devel BuildRequires: bison BuildRequires: clang%{llvm_major_version} BuildRequires: clang%{llvm_major_version}-devel BuildRequires: cmake BuildRequires: flex BuildRequires: libbpf-devel BuildRequires: libxml2-devel BuildRequires: lldb%{llvm_major_version}-devel BuildRequires: llvm%{llvm_major_version}-devel BuildRequires: pkgconfig BuildRequires: readline-devel BuildRequires: cmake(cereal) BuildRequires: pkgconfig(libbcc) >= 0.11 BuildRequires: pkgconfig(libelf) BuildRequires: pkgconfig(zlib) BuildRequires: rubygem(asciidoctor) ExcludeArch: %arm %ix86 %description High-level tracing language for Linux, allowing for instrumentation of in-kernel and userspace state. It makes use of only upstream features such as eBPF tracing (which builds on kprobes, uprobes, and a variety of other kernel technologies). BPFtrace's language is inspired by awk and C, as well as other tracers such as DTrace and SystemTap. %package tools Summary: Example bpftrace scripts and other useful snippets Group: Development/Tools/Debuggers Requires: %{name} = %{version} BuildArch: noarch %description tools Collection of tools for quick instrumentation and inspection of a running system. These are all BPFtrace scripts within %{_datadir}/bpftrace, and can be easily modified to allow for different types of debugging. %prep %setup -q %autopatch -p1 # Correct the #!-line to avoid rpmlint warnings. find tools -name '*.bt' -type f \ -exec sed -i '1s|^#!%{_bindir}/env bpftrace|#!%{_bindir}/bpftrace|' '{}' ';' %build # We need to build with clang, enable LTO via CMake instead. %define _lto_cflags %{nil} export CC="clang" export CXX="clang++" %cmake \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=TRUE \ -DLLVM_REQUESTED_VERSION="${LLVM_VERSION}" \ -DLIBBFD_LIBRARIES="${LIBBFD}" \ -DLIBOPCODES_LIBRARIES="${LIBOPCODES}" \ -DUSE_SYSTEM_BPF_BCC:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DBUILD_STATIC_LIBS:BOOL=ON \ -DBUILD_TESTING:BOOL=OFF %cmake_build %install %cmake_install # Set executable bit for tools. chmod +x %{buildroot}%{_datadir}/bpftrace/tools/*.bt chmod +x %{buildroot}%{_datadir}/bpftrace/tools/old/*.bt %files %{_bindir}/bpftrace %{_bindir}/bpftrace-aotrt %{_mandir}/man8/bpftrace.8%{?ext_man} %doc README.md docs/ %license LICENSE %files tools %dir %{_datadir}/bpftrace/ %dir %{_datadir}/bpftrace/tools %{_datadir}/bpftrace/tools/*.bt %dir %{_datadir}/bpftrace/tools/old %{_datadir}/bpftrace/tools/old/*.bt %dir %{_datadir}/bpftrace/tools/doc %{_datadir}/bpftrace/tools/doc/*_example.txt %{_mandir}/man8/*.8%{?ext_man} %exclude %{_mandir}/man8/bpftrace.8%{ext_man} %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor