import bcc-0.16.0-2.el8
This commit is contained in:
commit
e84e0b70f8
1
.bcc.metadata
Normal file
1
.bcc.metadata
Normal file
@ -0,0 +1 @@
|
||||
ae5102ef4109f8af03c7282c1f9f2c3201c3a400 SOURCES/bcc-src-with-submodule.tar.gz
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/bcc-src-with-submodule.tar.gz
|
1342
SOURCES/bcc-0.16.0-Manpages-remove-unstable-statement.patch
Normal file
1342
SOURCES/bcc-0.16.0-Manpages-remove-unstable-statement.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,46 @@
|
||||
From 52c4e8cec4dd560503ff011f8fe7eec5f67b33c9 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Marchand <jmarchan@redhat.com>
|
||||
Date: Thu, 17 Sep 2020 10:37:02 +0200
|
||||
Subject: [PATCH 2/2] tools: tcptracer: fix alignement in tcp_ipv6_event_t
|
||||
|
||||
On IPv6, tcptracer ports always appears as zeros:
|
||||
|
||||
Tracing TCP established connections. Ctrl-C to end.
|
||||
T PID COMM IP SADDR DADDR SPORT DPORT
|
||||
X 7055 nc 4 127.0.0.1 127.0.0.1 49476 9999
|
||||
C 7074 nc 4 127.0.0.1 127.0.0.1 49478 9999
|
||||
X 7074 nc 4 127.0.0.1 127.0.0.1 49478 9999
|
||||
C 7085 nc 6 [::] [0:0:0:1::] 0 0
|
||||
X 7085 nc 6 [::] [0:0:0:1::] 0 0
|
||||
C 7086 nc 6 [::] [0:0:0:1::] 0 0
|
||||
|
||||
This seems related to alignment issue wrt to the __int128 type in
|
||||
tcp_ipv6_event_t structure. Moving the u8 field ip to the end of the
|
||||
structure fixes the issue.
|
||||
|
||||
Fixes #2781
|
||||
---
|
||||
tools/tcptracer.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/tcptracer.py b/tools/tcptracer.py
|
||||
index 2e486b15..3220105e 100755
|
||||
--- a/tools/tcptracer.py
|
||||
+++ b/tools/tcptracer.py
|
||||
@@ -73,12 +73,12 @@ struct tcp_ipv6_event_t {
|
||||
u32 type;
|
||||
u32 pid;
|
||||
char comm[TASK_COMM_LEN];
|
||||
- u8 ip;
|
||||
unsigned __int128 saddr;
|
||||
unsigned __int128 daddr;
|
||||
u16 sport;
|
||||
u16 dport;
|
||||
u32 netns;
|
||||
+ u8 ip;
|
||||
};
|
||||
BPF_PERF_OUTPUT(tcp_ipv6_event);
|
||||
|
||||
--
|
||||
2.25.4
|
||||
|
372
SPECS/bcc.spec
Normal file
372
SPECS/bcc.spec
Normal file
@ -0,0 +1,372 @@
|
||||
# luajit is not available RHEL 8
|
||||
%bcond_with lua
|
||||
|
||||
%bcond_with llvm_static
|
||||
|
||||
%if %{without llvm_static}
|
||||
%global with_llvm_shared 1
|
||||
%endif
|
||||
|
||||
Name: bcc
|
||||
Version: 0.16.0
|
||||
Release: 2%{?dist}
|
||||
Summary: BPF Compiler Collection (BCC)
|
||||
License: ASL 2.0
|
||||
URL: https://github.com/iovisor/bcc
|
||||
# Upstream now provides a release with the git submodule embedded in it
|
||||
Source0: %{url}/releases/download/v%{version}/%{name}-src-with-submodule.tar.gz
|
||||
#Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
Patch0: %{name}-%{version}-Manpages-remove-unstable-statement.patch
|
||||
Patch1: %{name}-%{version}-tools-tcptracer-fix-alignement-in-tcp_ipv6_event_t.patch
|
||||
|
||||
# Arches will be included as upstream support is added and dependencies are
|
||||
# satisfied in the respective arches
|
||||
ExcludeArch: i686
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: cmake >= 2.8.7
|
||||
BuildRequires: flex
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
BuildRequires: llvm-devel
|
||||
BuildRequires: clang-devel
|
||||
%if %{with llvm_static}
|
||||
BuildRequires: llvm-static
|
||||
%endif
|
||||
BuildRequires: ncurses-devel
|
||||
%if %{with lua}
|
||||
BuildRequires: pkgconfig(luajit)
|
||||
%endif
|
||||
BuildRequires: libbpf-devel >= 0.0.9, libbpf-static >= 0.0.9
|
||||
|
||||
Requires: %{name}-tools = %{version}-%{release}
|
||||
Requires: libbpf >= 0.0.9
|
||||
|
||||
%description
|
||||
BCC is a toolkit for creating efficient kernel tracing and manipulation
|
||||
programs, and includes several useful tools and examples. It makes use of
|
||||
extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature
|
||||
that was first added to Linux 3.15. BCC makes BPF programs easier to write,
|
||||
with kernel instrumentation in C (and includes a C wrapper around LLVM), and
|
||||
front-ends in Python and lua. It is suited for many tasks, including
|
||||
performance analysis and network traffic control.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Shared library for BPF Compiler Collection (BCC)
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for developing
|
||||
application that use BPF Compiler Collection (BCC).
|
||||
|
||||
|
||||
%package doc
|
||||
Summary: Examples for BPF Compiler Collection (BCC)
|
||||
Recommends: python3-%{name} = %{version}-%{release}
|
||||
%if %{with lua}
|
||||
Recommends: %{name}-lua = %{version}-%{release}
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
Examples for BPF Compiler Collection (BCC)
|
||||
|
||||
|
||||
%package -n python3-%{name}
|
||||
Summary: Python3 bindings for BPF Compiler Collection (BCC)
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-%{name}}
|
||||
|
||||
%description -n python3-%{name}
|
||||
Python3 bindings for BPF Compiler Collection (BCC)
|
||||
|
||||
|
||||
%if %{with lua}
|
||||
%package lua
|
||||
Summary: Standalone tool to run BCC tracers written in Lua
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description lua
|
||||
Standalone tool to run BCC tracers written in Lua
|
||||
%endif
|
||||
|
||||
|
||||
%package tools
|
||||
Summary: Command line tools for BPF Compiler Collection (BCC)
|
||||
Requires: python3-%{name} = %{version}-%{release}
|
||||
Requires: python3-netaddr
|
||||
Requires: kernel-devel
|
||||
|
||||
%description tools
|
||||
Command line tools for BPF Compiler Collection (BCC)
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}
|
||||
|
||||
%build
|
||||
%cmake . \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DREVISION_LAST=%{version} -DREVISION=%{version} -DPYTHON_CMD=python3 \
|
||||
-DCMAKE_USE_LIBBPF_PACKAGE:BOOL=TRUE \
|
||||
%{?with_llvm_shared:-DENABLE_LLVM_SHARED=1}
|
||||
%make_build
|
||||
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
# Fix python shebangs
|
||||
# This messes the timestamp and rpmdiff complains about it
|
||||
# Let's set the all thing according to a reference file
|
||||
touch -r %{buildroot}%{_datadir}/%{name}/examples/hello_world.py %{_tmppath}/timestamp
|
||||
|
||||
find %{buildroot}%{_datadir}/%{name}/{tools,examples} -type f -exec \
|
||||
sed -i -e '1s=^#!/usr/bin/python\([0-9.]\+\)\?$=#!%{__python3}=' \
|
||||
-e '1s=^#!/usr/bin/env python\([0-9.]\+\)\?$=#!%{__python3}=' \
|
||||
-e '1s=^#!/usr/bin/env bcc-lua$=#!/usr/bin/bcc-lua=' {} \;
|
||||
|
||||
for i in `find %{buildroot}%{_datadir}/%{name}/examples/` ; do
|
||||
touch -h -r %{_tmppath}/timestamp $i
|
||||
done
|
||||
|
||||
# Move man pages to the right location
|
||||
mkdir -p %{buildroot}%{_mandir}
|
||||
mv %{buildroot}%{_datadir}/%{name}/man/* %{buildroot}%{_mandir}/
|
||||
# Avoid conflict with other manpages
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1517408
|
||||
for i in `find %{buildroot}%{_mandir} -name "*.gz"`; do
|
||||
tname=$(basename $i)
|
||||
rename $tname %{name}-$tname $i
|
||||
done
|
||||
# Fix the symlink too
|
||||
for i in `find %{buildroot}%{_mandir} -lname \*.gz` ; do
|
||||
target=`readlink $i`;
|
||||
ln -sf bcc-$target $i;
|
||||
done
|
||||
|
||||
# We cannot run the test suit since it requires root and it makes changes to
|
||||
# the machine (e.g, IP address)
|
||||
#%check
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE.txt
|
||||
%{_libdir}/lib%{name}.so.*
|
||||
%{_libdir}/libbcc_bpf.so.*
|
||||
%{_libdir}/libbcc-no-libbpf.so.*
|
||||
|
||||
%files devel
|
||||
%exclude %{_libdir}/lib%{name}*.a
|
||||
%exclude %{_libdir}/lib%{name}*.la
|
||||
%{_libdir}/lib%{name}.so
|
||||
%{_libdir}/libbcc_bpf.so
|
||||
%{_libdir}/libbcc-no-libbpf.so
|
||||
%{_libdir}/pkgconfig/lib%{name}.pc
|
||||
%{_includedir}/%{name}/
|
||||
|
||||
%files -n python3-%{name}
|
||||
%{python3_sitelib}/%{name}*
|
||||
|
||||
%files doc
|
||||
# % dir % {_docdir}/% {name}
|
||||
%doc %{_datadir}/%{name}/examples/
|
||||
%if %{without lua}
|
||||
%exclude %{_datadir}/%{name}/examples/lua
|
||||
%endif
|
||||
|
||||
%files tools
|
||||
%dir %{_datadir}/%{name}
|
||||
%dir %{_datadir}/%{name}/tools
|
||||
%dir %{_datadir}/%{name}/introspection
|
||||
%{_datadir}/%{name}/tools/*
|
||||
%{_datadir}/%{name}/introspection/*
|
||||
%exclude %{_datadir}/%{name}/tools/old/
|
||||
# inject relies on BPF_KPROBE_OVERRIDE which is not set on RHEL 8
|
||||
%exclude %{_datadir}/%{name}/tools/inject
|
||||
%exclude %{_datadir}/%{name}/tools/doc/inject_example.txt
|
||||
%exclude %{_mandir}/man8/bcc-inject.8.gz
|
||||
# Neither btrfs nor zfs are available on RHEL8
|
||||
%exclude %{_datadir}/%{name}/tools/btrfs*
|
||||
%exclude %{_datadir}/%{name}/tools/doc/btrfs*
|
||||
%exclude %{_mandir}/man8/bcc-btrfs*
|
||||
%exclude %{_datadir}/%{name}/tools/zfs*
|
||||
%exclude %{_datadir}/%{name}/tools/doc/zfs*
|
||||
%exclude %{_mandir}/man8/bcc-zfs*
|
||||
# criticalstat relies on CONFIG_PREEMPTIRQ_EVENTS which is disabled on RHEL 8
|
||||
%exclude %{_datadir}/%{name}/tools/criticalstat
|
||||
%exclude %{_datadir}/%{name}/tools/doc/criticalstat_example.txt
|
||||
%exclude %{_mandir}/man8/bcc-criticalstat.8.gz
|
||||
# compactsnoop is only supported on x86_64
|
||||
%ifnarch x86_64
|
||||
%exclude %{_datadir}/%{name}/tools/compactsnoop
|
||||
%exclude %{_datadir}/%{name}/tools/doc/compactsnoop_example.txt
|
||||
%exclude %{_mandir}/man8/bcc-compactsnoop.8.gz
|
||||
%endif
|
||||
%{_mandir}/man8/*
|
||||
|
||||
%if %{with lua}
|
||||
%files lua
|
||||
%{_bindir}/bcc-lua
|
||||
%endif
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jan 22 2021 Jerome Marchand <jmarchan@redhat.com> - 0.16.0-2
|
||||
- Build with libbpf package
|
||||
- spec file cleanups
|
||||
|
||||
* Mon Oct 26 2020 Jerome Marchand <jmarchan@redhat.com> - 0.16.0-1
|
||||
- Rebase on bcc-0.16.0
|
||||
- Fix IPv6 ports
|
||||
|
||||
* Wed Sep 02 2020 Jerome Marchand <jmarchan@redhat.com> - 0.14.0-4
|
||||
- Fix KFUNC_PROBE return value
|
||||
- Forbid trampolines on unsupported arches
|
||||
|
||||
* Tue Jul 21 2020 Jerome Marchand <jmarchan@redhat.com> - 0.14.0-3
|
||||
- Add KBUILD_MODNAME flag to default cflags
|
||||
|
||||
* Thu Jun 11 2020 Jerome Marchand <jmarchan@redhat.com> - 0.14.0-2
|
||||
- Remove criticalstat manpage
|
||||
- Remove compactsnoop on non x86_64
|
||||
- Suggest to use --binary in deadlock
|
||||
- Remove non-existent argument from tcpconnect man page
|
||||
- Suggest to install the proper kernel-devel version
|
||||
- Fix dbstat and dbslower
|
||||
|
||||
* Wed Apr 22 2020 Jerome Marchand <jmarchan@redhat.com> - 0.14.0-1
|
||||
- Rebase on bcc-0.14.0
|
||||
|
||||
* Wed Dec 04 2019 Jerome Marchand <jmarchan@redhat.com> - 0.11.0-2
|
||||
- Add -c option ton the synopsis of tcpretrans manpage
|
||||
|
||||
* Tue Nov 26 2019 Jerome Marchand <jmarchan@redhat.com> - 0.11.0-1
|
||||
- Rebase to bcc-0.11.0
|
||||
- Reinstate the unstable comment patch that has been removed by mistake
|
||||
|
||||
* Thu Oct 17 2019 Jerome Marchand <jmarchan@redhat.com> - 0.10.0-1
|
||||
- Rebase to bcc-0.10.0
|
||||
- Drop criticalstat
|
||||
- Fix regression on vfscount and runqslower
|
||||
- Rebuild on LLVM 9
|
||||
|
||||
* Tue Aug 06 2019 Jerome Marchand <jmarchan@redhat.com> - 0.8.0-4
|
||||
- remove unstable statement from the man pages
|
||||
|
||||
* Wed Jul 03 2019 Jerome Marchand <jmarchan@redhat.com> - 0.8.0-3
|
||||
- fix b.support_raw_tracepoint
|
||||
- fix runqslower warning
|
||||
|
||||
* Wed May 15 2019 Jerome Marchand <jmarchan@redhat.com> - 0.8.0-2
|
||||
- Rebuild for llvm 8
|
||||
|
||||
* Thu Apr 11 2019 Jerome Marchand <jmarchan@redhat.com> - 0.8.0-1
|
||||
- Rebase on bcc-8.0.0
|
||||
- Replace the temporary s390x workaround by a proper fix
|
||||
- Remove the doc of excluded tool from the package
|
||||
- Fix print_log2_hist
|
||||
- Fix yet a few other python3 bytes vs strings issues
|
||||
|
||||
* Mon Mar 25 2019 Jerome Marchand <jmarchan@redhat.com> - 0.7.0-6
|
||||
- Add CI gating
|
||||
|
||||
* Thu Dec 13 2018 Jerome Marchand <jmarchan@redhat.com> - 0.7.0-5
|
||||
- Fix biolatency -D
|
||||
- Fix biotop manpage
|
||||
- Rebuild for LLVM 7.0.1 (from Tom Stellard)
|
||||
|
||||
* Mon Dec 10 2018 Jerome Marchand <jmarchan@redhat.com> - 0.7.0-4
|
||||
- Fix bio* tools
|
||||
|
||||
* Mon Nov 05 2018 Jerome Marchand <jmarchan@redhat.com> - 0.7.0-3
|
||||
- Fix multiple bytes/string encoding issues
|
||||
- Fix misc covscan warning
|
||||
|
||||
* Mon Oct 15 2018 Tom Stellard <tstellar@redhat.com> - 0.7.0-2
|
||||
- Drop explicit dependency on clang-libs
|
||||
|
||||
* Fri Oct 12 2018 Jerome Marchand <jmarchan@redhat.com> - 0.7.0-1
|
||||
- Rebase on bcc-7.0.0
|
||||
- Remove useless tools (zfs*, btrfs* and inject)
|
||||
|
||||
* Thu Sep 20 2018 Jerome Marchand <jmarchan@redhat.com> - 0.6.1-1
|
||||
- Rebase on bcc-0.6.1
|
||||
|
||||
* Thu Sep 20 2018 Jerome Marchand <jmarchan@redhat.com> - 0.6.0-6
|
||||
- llcstat: print a nicer error message on virtual machine
|
||||
- Add NSS support to sslsniff
|
||||
- Fixes miscellaneous error uncovered by covscan
|
||||
|
||||
* Wed Aug 08 2018 Tom Stellard <tstellar@redhat.com> - 0.6.0-5
|
||||
- Use llvm-toolset-6.0 prefix for clang-libs dependency
|
||||
|
||||
* Fri Aug 03 2018 Tom Stellard <tstellar@redhat.com> - 0.6.0-4
|
||||
- Rebuld for llvm-toolset-6.0
|
||||
|
||||
* Wed Jul 18 2018 Jerome Marchand <jmarchan@redhat.com> - 0.6.0-3
|
||||
- Disable lua on all arches
|
||||
|
||||
* Tue Jun 26 2018 Jerome Marchand <jmarchan@redhat.com> - 0.6.0-2
|
||||
- Add clang-libs requirement
|
||||
- Fix manpages symlinks
|
||||
|
||||
* Tue Jun 19 2018 Jerome Marchand <jmarchan@redhat.com> - 0.6.0-1
|
||||
- Rebase on bcc-0.6.0
|
||||
|
||||
* Thu May 24 2018 Jerome Marchand <jmarchan@redhat.com> - 0.5.0-5
|
||||
- Enables build on ppc64(le) and s390x arches
|
||||
|
||||
* Thu Apr 05 2018 Rafael Santos <rdossant@redhat.com> - 0.5.0-4
|
||||
- Resolves #1555627 - fix compilation error with latest llvm/clang
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.5.0-2
|
||||
- Switch to %%ldconfig_scriptlets
|
||||
|
||||
* Wed Jan 03 2018 Rafael Santos <rdossant@redhat.com> - 0.5.0-1
|
||||
- Rebase to new released version
|
||||
|
||||
* Thu Nov 16 2017 Rafael Santos <rdossant@redhat.com> - 0.4.0-4
|
||||
- Resolves #1517408 - avoid conflict with other manpages
|
||||
|
||||
* Thu Nov 02 2017 Rafael Santos <rdossant@redhat.com> - 0.4.0-3
|
||||
- Use weak deps to not require lua subpkg on ppc64(le)
|
||||
|
||||
* Wed Nov 01 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.4.0-2
|
||||
- Rebuild for LLVM5
|
||||
|
||||
* Wed Nov 01 2017 Rafael Fonseca <rdossant@redhat.com> - 0.4.0-1
|
||||
- Resolves #1460482 - rebase to new release
|
||||
- Resolves #1505506 - add support for LLVM 5.0
|
||||
- Resolves #1460482 - BPF module compilation issue
|
||||
- Partially address #1479990 - location of man pages
|
||||
- Enable ppc64(le) support without lua
|
||||
- Soname versioning for libbpf by ignatenkobrain
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Mar 30 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.3.0-2
|
||||
- Rebuild for LLVM4
|
||||
- Trivial fixes in spec
|
||||
|
||||
* Fri Mar 10 2017 Rafael Fonseca <rdossant@redhat.com> - 0.3.0-1
|
||||
- Rebase to new release.
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Jan 10 2017 Rafael Fonseca <rdossant@redhat.com> - 0.2.0-2
|
||||
- Fix typo
|
||||
|
||||
* Tue Nov 29 2016 Rafael Fonseca <rdossant@redhat.com> - 0.2.0-1
|
||||
- Initial import
|
Loading…
Reference in New Issue
Block a user