From 7e1938d0c3ce43e067fb159150f2e961ec4c2e5d Mon Sep 17 00:00:00 2001 From: Jiri Olsa Date: Wed, 4 Dec 2019 10:15:35 +0100 Subject: [PATCH] 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 --- .gitignore | 2 ++ bcc.spec | 10 ++++++++++ sources | 2 ++ 3 files changed, 14 insertions(+) diff --git a/.gitignore b/.gitignore index 1a5faae..9761938 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/bcc.spec b/bcc.spec index 6e0f4a5..68d2070 100644 --- a/bcc.spec +++ b/bcc.spec @@ -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 - 0.11.0-2 +- Add libbpf support + * Fri Oct 04 2019 Rafael dos Santos - 0.11.0-1 - Rebase to latest upstream version (#1758417) diff --git a/sources b/sources index bd8dc25..622ecb6 100644 --- a/sources +++ b/sources @@ -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