Blame SPECS/bpftrace.spec

3dd3a7
Name:           bpftrace
61bae3
Version:        0.16.0
61bae3
Release:        2%{?dist}
3dd3a7
Summary:        High-level tracing language for Linux eBPF
3dd3a7
License:        ASL 2.0
3dd3a7
61bae3
%define cereal_version 1.3.2
61bae3
3dd3a7
URL:            https://github.com/iovisor/bpftrace
3dd3a7
Source0:        %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
61bae3
# Cereal is a header-only serialization library which is not packaged into
61bae3
# RHEL9, so we download it manually. This is ok to do as it is only necessary
61bae3
# for build.
61bae3
Source1:        https://github.com/USCiLab/cereal/archive/v%{cereal_version}/cereal-%{cereal_version}.tar.gz
61bae3
61bae3
Patch0:         %{name}-%{version}-IR-builder-get-rid-of-getPointerElementType-calls.patch
61bae3
Patch1:         %{name}-%{version}-tcpdrop-Fix-ERROR-Error-attaching-probe-kprobe-tcp_d.patch
3dd3a7
50b5d1
Patch10:        %{name}-%{version}-RHEL-aarch64-fixes-statsnoop-and-opensnoop.patch
3dd3a7
3dd3a7
# Arches will be included as upstream support is added and dependencies are
3dd3a7
# satisfied in the respective arches
3dd3a7
ExclusiveArch:  x86_64 %{power64} aarch64 s390x
3dd3a7
3dd3a7
BuildRequires:  gcc-c++
3dd3a7
BuildRequires:  bison
3dd3a7
BuildRequires:  flex
3dd3a7
BuildRequires:  cmake
3dd3a7
BuildRequires:  elfutils-libelf-devel
3dd3a7
BuildRequires:  zlib-devel
3dd3a7
BuildRequires:  llvm-devel
3dd3a7
BuildRequires:  clang-devel
3dd3a7
BuildRequires:  bcc-devel >= 0.19.0-8
3dd3a7
BuildRequires:  libbpf-devel
3dd3a7
BuildRequires:  libbpf-static
3dd3a7
BuildRequires:  binutils-devel
3dd3a7
3dd3a7
3dd3a7
%description
3dd3a7
BPFtrace is a high-level tracing language for Linux enhanced Berkeley Packet
3dd3a7
Filter (eBPF) available in recent Linux kernels (4.x). BPFtrace uses LLVM as a
3dd3a7
backend to compile scripts to BPF-bytecode and makes use of BCC for
3dd3a7
interacting with the Linux BPF system, as well as existing Linux tracing
3dd3a7
capabilities: kernel dynamic tracing (kprobes), user-level dynamic tracing
3dd3a7
(uprobes), and tracepoints. The BPFtrace language is inspired by awk and C,
3dd3a7
and predecessor tracers such as DTrace and SystemTap
3dd3a7
3dd3a7
3dd3a7
%prep
61bae3
%autosetup -N -a 1
3dd3a7
%autopatch -p1 -M 9
3dd3a7
3dd3a7
%ifarch aarch64
3dd3a7
%patch10 -p1
3dd3a7
%endif
3dd3a7
3dd3a7
%build
61bae3
# Set CPATH so that CMake finds the cereal headers
61bae3
CPATH=$PWD/cereal-%{cereal_version}/include:$CPATH
61bae3
export CPATH
3dd3a7
%cmake . \
3dd3a7
        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
3dd3a7
        -DBUILD_TESTING:BOOL=OFF \
3dd3a7
        -DBUILD_SHARED_LIBS:BOOL=OFF
3dd3a7
%cmake_build
3dd3a7
3dd3a7
3dd3a7
%install
3dd3a7
# The post hooks strip the binary which removes
3dd3a7
# the BEGIN_trigger and END_trigger functions
3dd3a7
# which are needed for the BEGIN and END probes
3dd3a7
%global __os_install_post %{nil}
3dd3a7
%global _find_debuginfo_opts -g
3dd3a7
3dd3a7
%cmake_install
3dd3a7
3dd3a7
# Fix shebangs (https://fedoraproject.org/wiki/Packaging:Guidelines#Shebang_lines)
3dd3a7
find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \
3dd3a7
  sed -i -e '1s=^#!/usr/bin/env %{name}\([0-9.]\+\)\?$=#!%{_bindir}/%{name}=' {} \;
3dd3a7
3dd3a7
3dd3a7
%files
3dd3a7
%doc README.md CONTRIBUTING-TOOLS.md
3dd3a7
%doc docs/reference_guide.md docs/tutorial_one_liners.md
3dd3a7
%license LICENSE
3dd3a7
%dir %{_datadir}/%{name}
3dd3a7
%dir %{_datadir}/%{name}/tools
3dd3a7
%dir %{_datadir}/%{name}/tools/doc
3dd3a7
%{_bindir}/%{name}
61bae3
%{_bindir}/%{name}-aotrt
3dd3a7
%{_mandir}/man8/*
3dd3a7
%attr(0755,-,-) %{_datadir}/%{name}/tools/*.bt
3dd3a7
%{_datadir}/%{name}/tools/doc/*.txt
61bae3
# Do not include old versions of tools, they do not work on RHEL 9
61bae3
%exclude %{_datadir}/%{name}/tools/old
3dd3a7
3dd3a7
%changelog
61bae3
* Tue Jan 03 2023 Viktor Malik <vmalik@redhat.com> - 0.16.0-2
61bae3
- Fix missing kprobe attachpoints for bio* tools (s390x, ppc64le)
61bae3
- Rebuild for libbpf 1.0.0
61bae3
- Resolves: rhbz#2157829
61bae3
- Related: rhbz#2157592
61bae3
61bae3
* Fri Dec 16 2022 Viktor Malik <vmalik@redhat.com> - 0.16.0-1
61bae3
- Rebase on bpftrace 0.16.0 (rhbz#2121920)
61bae3
- Rebuild for LLVM 15 (rhbz#2118995)
61bae3
- Download the cereal library (not packaged into RHEL9)
61bae3
- Fixed several tools (rhbz#1975148, rhbz#2088577, rhbz#2128208, rhbz#2073675,
61bae3
  rhbz#2073770)
61bae3
- Resolve conflicts between bpftrace and bcc manpages (rhbz#2075076)
61bae3
50b5d1
* Mon May 16 2022 Jerome Marchand <jmarchan@redhat.com> - 0.13.1-1
50b5d1
- Rebase to bpftrace 0.13.1
50b5d1
- Rebuild for LLVM14
50b5d1
3dd3a7
* Mon Feb 21 2022 Viktor Malik <vmalik@redhat.com> - 0.12.1-8
3dd3a7
- Fix wildcard listing bug
3dd3a7
- Fix bio* tools
3dd3a7
3dd3a7
* Thu Dec 02 2021 Jerome Marchand <jmarchan@redhat.com> - 0.12.1.7
3dd3a7
- Bump up required bcc version.
3dd3a7
3dd3a7
* Thu Dec 02 2021 Jerome Marchand <jmarchan@redhat.com> - 0.12.1.6
3dd3a7
- Rebuild on LLVM13
3dd3a7
3dd3a7
* Mon Oct 18 2021 Jerome Marchand <jmarchan@redhat.com> - 0.12.1.5
3dd3a7
- threadsnoop: probe libpthread.so.0
3dd3a7
- Fix aarch64 failures
3dd3a7
3dd3a7
* Mon Oct 18 2021 Jerome Marchand <jmarchan@redhat.com> - 0.12.1.4
3dd3a7
- Fix gating
3dd3a7
3dd3a7
* Fri Oct 15 2021 Jerome Marchand <jmarchan@redhat.com> - 0.12.1-3
3dd3a7
- Fix mdflush (rhbz#1967567)
3dd3a7
3dd3a7
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.12.1-2
3dd3a7
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
3dd3a7
  Related: rhbz#1991688
3dd3a7
3dd3a7
* Thu May 27 2021 Jerome Marchand <jmarchan@redhat.com> - 0.12.0-1
3dd3a7
- Rebase to bpftrace 0.12.1
3dd3a7
3dd3a7
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 0.11.0-10
3dd3a7
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
3dd3a7
3dd3a7
* Fri Feb 12 2021 Jerome Marchand <jmarchan@redhat.com> - 0.11.0-9
3dd3a7
- Last build failed: rebuild.
3dd3a7
3dd3a7
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.0-8
3dd3a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
3dd3a7
3dd3a7
* Fri Jan 22 2021 Tom Stellard <tstellar@redhat.com> - 0.11.0-7
3dd3a7
- Rebuild for clang-11.1.0
3dd3a7
3dd3a7
* Fri Dec 04 2020 Jeff Law <law@redhat.com> - 0.11.0-6
3dd3a7
- Fix missing #include for gcc-11
3dd3a7
3dd3a7
* Fri Nov 13 2020 Jerome Marchand <jmarchan@redhat.com> - 0.11.0-5
3dd3a7
- Rebuilt for LLVM 11
3dd3a7
3dd3a7
* Tue Aug 04 2020 Augusto Caringi <acaringi@redhat.com> - 0.11.0-4
3dd3a7
- Fix FTBFS due to cmake wide changes #1863295
3dd3a7
- Fix 'bpftrace symbols are stripped' #1865787
3dd3a7
3dd3a7
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.0-3
3dd3a7
- Second attempt - Rebuilt for
3dd3a7
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
3dd3a7
3dd3a7
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.0-2
3dd3a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
3dd3a7
3dd3a7
* Thu Jul 16 2020 Augusto Caringi <acaringi@redhat.com> - 0.11.0-1
3dd3a7
* Rebased to version 0.11.0
3dd3a7
3dd3a7
* Tue May 19 2020 Augusto Caringi <acaringi@redhat.com> - 0.10.0-2
3dd3a7
- Rebuilt for new bcc/libbpf versions
3dd3a7
3dd3a7
* Tue Apr 14 2020 Augusto Caringi <acaringi@redhat.com> - 0.10.0-1
3dd3a7
- Rebased to version 0.10.0
3dd3a7
- Dropped support for s390x temporaly due to build error
3dd3a7
3dd3a7
* Thu Feb 06 2020 Augusto Caringi <acaringi@redhat.com> - 0.9.4-1
3dd3a7
- Rebased to version 0.9.4
3dd3a7
3dd3a7
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-2
3dd3a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
3dd3a7
3dd3a7
* Thu Nov 21 2019 Augusto Caringi <acaringi@redhat.com> - 0.9.3-1
3dd3a7
- Rebased to version 0.9.3
3dd3a7
3dd3a7
* Thu Aug 01 2019 Augusto Caringi <acaringi@redhat.com> - 0.9.2-1
3dd3a7
- Rebased to version 0.9.2
3dd3a7
3dd3a7
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-2
3dd3a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
3dd3a7
3dd3a7
* Wed Jun 26 2019 Augusto Caringi <acaringi@redhat.com> - 0.9.1-1
3dd3a7
- Rebased to version 0.9.1
3dd3a7
3dd3a7
* Thu Apr 25 2019 Augusto Caringi <acaringi@redhat.com> - 0.9-3
3dd3a7
- Rebuilt for bcc 0.9.0
3dd3a7
3dd3a7
* Mon Apr 22 2019 Neal Gompa <ngompa@datto.com> - 0.9-2
3dd3a7
- Fix Source0 reference
3dd3a7
- Use make_build macro for calling make
3dd3a7
3dd3a7
* Mon Apr  1 2019 Peter Robinson <pbrobinson@fedoraproject.org> 0.9-1
3dd3a7
- Build on aarch64 and s390x
3dd3a7
3dd3a7
* Mon Mar 25 2019 Augusto Caringi <acaringi@redhat.com> - 0.9-0
3dd3a7
- Updated to version 0.9
3dd3a7
3dd3a7
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0-2.20181210gitc49b333
3dd3a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
3dd3a7
3dd3a7
* Mon Dec 10 2018 Augusto Caringi <acaringi@redhat.com> - 0.0-1.20181210gitc49b333
3dd3a7
- Updated to latest upstream (c49b333c034a6d29a7ce90f565e27da1061af971)
3dd3a7
3dd3a7
* Wed Nov 07 2018 Augusto Caringi <acaringi@redhat.com> - 0.0-1.20181107git029717b
3dd3a7
- Initial import