- 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
This commit is contained in:
parent
72619e0995
commit
47a11ce76f
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
/v0.2.0.tar.gz
|
/v0.2.0.tar.gz
|
||||||
/v0.3.0.tar.gz
|
/v0.3.0.tar.gz
|
||||||
/bcc-0.3.0.tar.gz
|
/bcc-0.3.0.tar.gz
|
||||||
|
/bcc-0.4.0.tar.gz
|
||||||
|
25
0001-set-SOVERSION-for-bpf-shared.patch
Normal file
25
0001-set-SOVERSION-for-bpf-shared.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 56f7d9aa223d9123174f6eec9683111f063794fc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||||
|
Date: Wed, 1 Nov 2017 08:07:10 +0100
|
||||||
|
Subject: [PATCH] set SOVERSION for bpf-shared
|
||||||
|
|
||||||
|
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||||
|
---
|
||||||
|
src/cc/CMakeLists.txt | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/cc/CMakeLists.txt b/src/cc/CMakeLists.txt
|
||||||
|
index c31936e..b552f45 100644
|
||||||
|
--- a/src/cc/CMakeLists.txt
|
||||||
|
+++ b/src/cc/CMakeLists.txt
|
||||||
|
@@ -25,6 +25,7 @@ include(static_libstdc++)
|
||||||
|
add_library(bpf-static STATIC libbpf.c perf_reader.c)
|
||||||
|
set_target_properties(bpf-static PROPERTIES OUTPUT_NAME bpf)
|
||||||
|
add_library(bpf-shared SHARED libbpf.c perf_reader.c)
|
||||||
|
+set_target_properties(bpf-shared PROPERTIES VERSION ${REVISION_LAST} SOVERSION 0)
|
||||||
|
set_target_properties(bpf-shared PROPERTIES OUTPUT_NAME bpf)
|
||||||
|
|
||||||
|
set(bcc_common_sources bpf_common.cc bpf_module.cc exported_files.cc)
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
71
bcc.spec
71
bcc.spec
@ -1,21 +1,32 @@
|
|||||||
|
# luajit is not available for some architectures
|
||||||
|
%ifarch ppc64 ppc64le
|
||||||
|
%{!?with_lua: %global with_lua 0}
|
||||||
|
%else
|
||||||
|
%{!?with_lua: %global with_lua 1}
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: bcc
|
Name: bcc
|
||||||
Version: 0.3.0
|
Version: 0.4.0
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: BPF Compiler Collection (BCC)
|
Summary: BPF Compiler Collection (BCC)
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
URL: https://github.com/iovisor/bcc
|
URL: https://github.com/iovisor/bcc
|
||||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
# https://github.com/iovisor/bcc/pull/1426
|
||||||
|
Patch0: 0001-set-SOVERSION-for-bpf-shared.patch
|
||||||
|
|
||||||
# Arches will be included as upstream support is added and dependencies are
|
# Arches will be included as upstream support is added and dependencies are
|
||||||
# satisfied in the respective arches
|
# satisfied in the respective arches
|
||||||
ExclusiveArch: x86_64
|
ExclusiveArch: x86_64 ppc64 ppc64le
|
||||||
|
|
||||||
BuildRequires: bison, cmake >= 2.8.7, flex, libxml2-devel
|
BuildRequires: bison, cmake >= 2.8.7, flex, libxml2-devel
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: elfutils-libelf-devel-static
|
BuildRequires: elfutils-libelf-devel
|
||||||
BuildRequires: llvm-devel llvm-static clang-devel
|
BuildRequires: llvm-devel llvm-static clang-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
|
%if %{with_lua}
|
||||||
BuildRequires: pkgconfig(luajit)
|
BuildRequires: pkgconfig(luajit)
|
||||||
|
%endif
|
||||||
|
|
||||||
Requires: %{name}-tools = %{version}-%{release}
|
Requires: %{name}-tools = %{version}-%{release}
|
||||||
|
|
||||||
@ -57,18 +68,21 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
|||||||
Python3 bindings for BPF Compiler Collection (BCC)
|
Python3 bindings for BPF Compiler Collection (BCC)
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with_lua}
|
||||||
%package lua
|
%package lua
|
||||||
Summary: Standalone tool to run BCC tracers written in Lua
|
Summary: Standalone tool to run BCC tracers written in Lua
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description lua
|
%description lua
|
||||||
Standalone tool to run BCC tracers written in Lua
|
Standalone tool to run BCC tracers written in Lua
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%package tools
|
%package tools
|
||||||
Summary: Command line tools for BPF Compiler Collection (BCC)
|
Summary: Command line tools for BPF Compiler Collection (BCC)
|
||||||
Requires: python3-%{name} = %{version}-%{release}
|
Requires: python3-%{name} = %{version}-%{release}
|
||||||
Requires: python3-netaddr
|
Requires: python3-netaddr
|
||||||
|
Requires: kernel-devel
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description tools
|
%description tools
|
||||||
@ -80,9 +94,9 @@ Command line tools for BPF Compiler Collection (BCC)
|
|||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake . -DREVISION_LAST=%{version} -DREVISION=%{version} -DPYTHON_CMD=python3 \
|
%cmake . \
|
||||||
-DLUAJIT_INCLUDE_DIR=`pkg-config --variable=includedir luajit` \
|
-DCMAKE_BUILD_TYPE=RElWithDebInfo \
|
||||||
-DLUAJIT_LIBRARIES=`pkg-config --variable=libdir luajit`/lib`pkg-config --variable=libname luajit`.so
|
-DREVISION_LAST=%{version} -DREVISION=%{version} -DPYTHON_CMD=python3
|
||||||
%make_build
|
%make_build
|
||||||
|
|
||||||
|
|
||||||
@ -91,21 +105,19 @@ Command line tools for BPF Compiler Collection (BCC)
|
|||||||
|
|
||||||
# Fix python shebangs
|
# Fix python shebangs
|
||||||
for i in `find %{buildroot}/usr/share/%{name}/tools/ -type f`; do
|
for i in `find %{buildroot}/usr/share/%{name}/tools/ -type f`; do
|
||||||
sed -i 's/\/usr\/bin\/env python\>/\/usr\/bin\/python3/' $i
|
sed -i '1s=^#!/usr/bin/\(python\|env python\)[0-9.]*=#!%{__python3}=' $i
|
||||||
sed -i 's/\/usr\/bin\/python\>/&3/' $i
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Examples in /usr/share shouldn't contain binaries according to FHS
|
|
||||||
rm -rf %{buildroot}/usr/share/%{name}/examples/cpp
|
|
||||||
for i in `find %{buildroot}/usr/share/%{name}/examples/ -type f`; do
|
for i in `find %{buildroot}/usr/share/%{name}/examples/ -type f`; do
|
||||||
sed -i 's/\/usr\/bin\/env python\>/\/usr\/bin\/python3/' $i
|
sed -i '1s=^#!/usr/bin/\(python\|env python\)[0-9.]*=#!%{__python3}=' $i
|
||||||
sed -i 's/\/usr\/bin\/python\>/&3/' $i
|
sed -i '1s=^#!/usr/bin/env bcc-lua.*=#!/usr/bin/bcc-lua=' $i
|
||||||
sed -i 's/\/usr\/bin\/env bcc-lua\>/\/usr\/bin\/bcc-lua/' $i
|
|
||||||
chmod -x $i
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Compress man pages
|
# Move man pages to the right location
|
||||||
find %{buildroot}/usr/share/%{name}/man/man8/ -name "*.8" -exec gzip {} \;
|
mkdir -p %{buildroot}/%{_mandir}
|
||||||
|
mv %{buildroot}/usr/share/%{name}/man/* %{buildroot}/%{_mandir}/
|
||||||
|
mkdir -p %{buildroot}/%{_docdir}/%{name}
|
||||||
|
mv %{buildroot}/usr/share/%{name}/examples %{buildroot}/%{_docdir}/%{name}/
|
||||||
|
|
||||||
# We cannot run the test suit since it requires root and it makes changes to
|
# We cannot run the test suit since it requires root and it makes changes to
|
||||||
# the machine (e.g, IP address)
|
# the machine (e.g, IP address)
|
||||||
@ -120,9 +132,11 @@ find %{buildroot}/usr/share/%{name}/man/man8/ -name "*.8" -exec gzip {} \;
|
|||||||
%doc README.md
|
%doc README.md
|
||||||
%license LICENSE.txt COPYRIGHT.txt
|
%license LICENSE.txt COPYRIGHT.txt
|
||||||
%{_libdir}/lib%{name}.so.*
|
%{_libdir}/lib%{name}.so.*
|
||||||
|
%{_libdir}/libbpf.so.*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_libdir}/lib%{name}.so
|
%{_libdir}/lib%{name}.so
|
||||||
|
%{_libdir}/libbpf.so
|
||||||
%{_libdir}/pkgconfig/lib%{name}.pc
|
%{_libdir}/pkgconfig/lib%{name}.pc
|
||||||
%{_includedir}/%{name}/
|
%{_includedir}/%{name}/
|
||||||
|
|
||||||
@ -130,28 +144,31 @@ find %{buildroot}/usr/share/%{name}/man/man8/ -name "*.8" -exec gzip {} \;
|
|||||||
%{python3_sitelib}/%{name}*
|
%{python3_sitelib}/%{name}*
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%dir %{_datadir}/%{name}
|
%dir %{_docdir}/%{name}
|
||||||
%doc %{_datadir}/%{name}/examples/
|
%doc %{_docdir}/%{name}/examples/
|
||||||
%exclude %{_datadir}/%{name}/examples/*.pyc
|
|
||||||
%exclude %{_datadir}/%{name}/examples/*.pyo
|
|
||||||
%exclude %{_datadir}/%{name}/examples/*/*.pyc
|
|
||||||
%exclude %{_datadir}/%{name}/examples/*/*.pyo
|
|
||||||
%exclude %{_datadir}/%{name}/examples/*/*/*.pyc
|
|
||||||
%exclude %{_datadir}/%{name}/examples/*/*/*.pyo
|
|
||||||
|
|
||||||
%files tools
|
%files tools
|
||||||
%dir %{_datadir}/%{name}
|
%dir %{_datadir}/%{name}
|
||||||
%dir %{_datadir}/%{name}/tools
|
%dir %{_datadir}/%{name}/tools
|
||||||
%{_datadir}/%{name}/tools/*
|
%{_datadir}/%{name}/tools/*
|
||||||
%exclude %{_datadir}/%{name}/tools/old/
|
%exclude %{_datadir}/%{name}/tools/old/
|
||||||
%dir %{_datadir}/%{name}/man
|
%{_mandir}/man8/*
|
||||||
%{_datadir}/%{name}/man/*
|
|
||||||
|
|
||||||
|
%if %{with_lua}
|
||||||
%files lua
|
%files lua
|
||||||
%{_bindir}/bcc-lua
|
%{_bindir}/bcc-lua
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
* 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
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (bcc-0.3.0.tar.gz) = e5a0f9ad1b0ba865b5644a5a4a0ad130708aac882239ed545bcfd74a5d80328361bc92287bad5569710849682501841e89279089efc71a97da4e02bfc709b916
|
SHA512 (bcc-0.4.0.tar.gz) = d4bca6ab30ed2d398685a5e142bc55ebd70d29b494ce9fa28d85aceb1843111de8f1c61049712d8be9ab827b65866db07b6be27e82bd243e182b7bbe6fb2014f
|
||||||
|
Loading…
Reference in New Issue
Block a user