Build bcc with libbpf package

Now when we have libbpf packaged we want it to be used to build bcc,
instead of libbpf Github repo, which is downloaded during the build.

The bcc still produces libbcc.so/libbcc.a with libbpf code inside,
so nothing changes there.. apart from that they are built from libbpf
package now instead of libbpf Github repo

The addition is libbcc-no-libbpf.so library, which will be used in
applications like bpftrace which needs to link libbpf.so by itself
for other features.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
This commit is contained in:
Jiri Olsa 2019-12-04 10:15:35 +01:00
parent 5b61c2fecc
commit 7e1938d0c3
3 changed files with 14 additions and 0 deletions

2
.gitignore vendored
View File

@ -10,3 +10,5 @@
/bcc-0.9.0.tar.gz
/bcc-0.10.0.tar.gz
/bcc-0.11.0.tar.gz
/0001-Add-libbcc-no-libbpf.so-library.patch
/0002-Use-libbpf-static-instead-of-libbpf-debugsource-for-.patch

View File

@ -23,6 +23,8 @@ URL: https://github.com/iovisor/bcc
# tar zcvf bcc-0.11.0.tar.gz bcc-0.11.0/
#Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Source0: %{name}-%{version}.tar.gz
Patch0: 0001-Add-libbcc-no-libbpf.so-library.patch
Patch1: 0002-Use-libbpf-static-instead-of-libbpf-debugsource-for-.patch
# Arches will be included as upstream support is added and dependencies are
# satisfied in the respective arches
@ -43,8 +45,10 @@ BuildRequires: ncurses-devel
%if %{with lua}
BuildRequires: pkgconfig(luajit)
%endif
BuildRequires: libbpf-devel >= 0.0.5-3, libbpf-static >= 0.0.5-3
Requires: %{name}-tools = %{version}-%{release}
Requires: libbpf >= 0.0.5-3
%description
BCC is a toolkit for creating efficient kernel tracing and manipulation
@ -113,6 +117,7 @@ Command line tools for BPF Compiler Collection (BCC)
%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
@ -152,10 +157,12 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tools/old/
%license LICENSE.txt
%{_libdir}/lib%{name}.so.*
%{_libdir}/libbcc_bpf.so.*
%{_libdir}/libbcc-no-libbpf.so.*
%files devel
%{_libdir}/lib%{name}.so
%{_libdir}/libbcc_bpf.so
%{_libdir}/libbcc-no-libbpf.so
%{_libdir}/pkgconfig/lib%{name}.pc
%{_includedir}/%{name}/
@ -179,6 +186,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tools/old/
%changelog
* Thu Dec 05 2019 Jiri Olsa <jolsa@redhat.com> - 0.11.0-2
- Add libbpf support
* Fri Oct 04 2019 Rafael dos Santos <rdossant@redhat.com> - 0.11.0-1
- Rebase to latest upstream version (#1758417)

View File

@ -1 +1,3 @@
SHA512 (bcc-0.11.0.tar.gz) = 7d6ae598c6ed79eb8ad2d9607f4d20632e7c0d229f1fd33f0503f4e9a1af3db9b63697a1b8e0d1f3d82b0bbe3050bdc09e27dca9106b4527e6844b2b4189a693
SHA512 (0001-Add-libbcc-no-libbpf.so-library.patch) = 5ac372edeb790c28cbee7067998f238573b3525d85366f941b2c9aa12885c13154d5d3f0af3657b0fc9c54ee7dd64d62a14f8869860bcd8c1005d1b5338a48e2
SHA512 (0002-Use-libbpf-static-instead-of-libbpf-debugsource-for-.patch) = 8924d39e3b5ef691bbb11e2146097f1b3e68dfe8a2c7116dd6f4d7782861b7758e54843a99576f0821382173b6e3f726e98dab0920ab4726e3bc2abf901553a9