diff options
| author | Adam Jensen <acjensen@gmail.com> | 2019-08-05 21:31:45 -0400 |
|---|---|---|
| committer | Leo <thinkabit.ukim@gmail.com> | 2019-08-31 14:07:43 -0300 |
| commit | b6f3c52f889edebea15fed5b33bd8fed624a7795 (patch) | |
| tree | 830135975ab379fb63f7175cdd82597c9d5d1320 /community/bcc | |
| parent | deda17acda291fdd792e5f5af15c633750dc365e (diff) | |
| download | aports-b6f3c52f889edebea15fed5b33bd8fed624a7795.tar.bz2 aports-b6f3c52f889edebea15fed5b33bd8fed624a7795.tar.xz | |
community/bcc: move from testing
Diffstat (limited to 'community/bcc')
| -rw-r--r-- | community/bcc/10-use-system-libbpf.patch | 132 | ||||
| -rw-r--r-- | community/bcc/APKBUILD | 72 |
2 files changed, 204 insertions, 0 deletions
diff --git a/community/bcc/10-use-system-libbpf.patch b/community/bcc/10-use-system-libbpf.patch new file mode 100644 index 0000000000..2d9160fd17 --- /dev/null +++ b/community/bcc/10-use-system-libbpf.patch @@ -0,0 +1,132 @@ +diff --git a/introspection/CMakeLists.txt b/introspection/CMakeLists.txt +index 88df6e84..4ee79d46 100644 +--- a/introspection/CMakeLists.txt ++++ b/introspection/CMakeLists.txt +@@ -3,11 +3,11 @@ + + include_directories(${CMAKE_SOURCE_DIR}/src/cc) + include_directories(${CMAKE_SOURCE_DIR}/src/cc/api) +-include_directories(${CMAKE_SOURCE_DIR}/src/cc/libbpf/include/uapi) ++include_directories(/usr/include/uapi) + + option(INSTALL_INTROSPECTION "Install BPF introspection tools" ON) + + add_executable(bps bps.c) +-target_link_libraries(bps bpf-static) ++target_link_libraries(bps bccbpf-static) + + install (TARGETS bps DESTINATION share/bcc/introspection) +diff --git a/introspection/bps.c b/introspection/bps.c +index 5ac80999..f3680251 100644 +--- a/introspection/bps.c ++++ b/introspection/bps.c +@@ -8,6 +8,7 @@ + #include <unistd.h> + #include <ctype.h> + #include <sysexits.h> ++#include <linux/bpf.h> + + #include "libbpf.h" + +diff --git a/src/cc/CMakeLists.txt b/src/cc/CMakeLists.txt +index bd34fd48..af781a33 100644 +--- a/src/cc/CMakeLists.txt ++++ b/src/cc/CMakeLists.txt +@@ -10,8 +10,8 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/frontends/clang) + include_directories(${LLVM_INCLUDE_DIRS}) + include_directories(${LIBELF_INCLUDE_DIRS}) + # todo: if check for kernel version +-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libbpf/include) +-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libbpf/include/uapi) ++include_directories(/usr/include) ++include_directories(/usr/include/uapi) + add_definitions(${LLVM_DEFINITIONS}) + configure_file(libbcc.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libbcc.pc @ONLY) + +@@ -28,12 +28,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLLVM_MAJOR_VERSION=${CMAKE_MATCH_1}") + + include(static_libstdc++) + +-file(GLOB libbpf_sources "libbpf/src/*.c") +-add_library(bpf-static STATIC libbpf.c perf_reader.c ${libbpf_sources}) +-set_target_properties(bpf-static PROPERTIES OUTPUT_NAME bcc_bpf) +-add_library(bpf-shared SHARED libbpf.c perf_reader.c ${libbpf_sources}) +-set_target_properties(bpf-shared PROPERTIES VERSION ${REVISION_LAST} SOVERSION 0) +-set_target_properties(bpf-shared PROPERTIES OUTPUT_NAME bcc_bpf) ++add_library(bccbpf-static STATIC libbpf.c perf_reader.c) ++set_target_properties(bccbpf-static PROPERTIES OUTPUT_NAME bccbpf) ++target_link_libraries(bccbpf-static bpf) ++add_library(bccbpf-shared SHARED libbpf.c perf_reader.c) ++set_target_properties(bccbpf-shared PROPERTIES VERSION ${REVISION_LAST} SOVERSION 0) ++set_target_properties(bccbpf-shared PROPERTIES OUTPUT_NAME bccbpf) ++target_link_libraries(bccbpf-shared bpf) + + set(bcc_common_sources bcc_common.cc bpf_module.cc bcc_btf.cc exported_files.cc) + if (${LLVM_PACKAGE_VERSION} VERSION_EQUAL 6 OR ${LLVM_PACKAGE_VERSION} VERSION_GREATER 6) +@@ -79,11 +80,11 @@ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${llvm_lib_exclude_f + + # bcc_common_libs_for_a for archive libraries + # bcc_common_libs_for_s for shared libraries +-set(bcc_common_libs_for_a b_frontend clang_frontend bpf-static ++set(bcc_common_libs_for_a b_frontend clang_frontend bccbpf-static bpf + -Wl,--whole-archive ${clang_libs} ${llvm_libs} -Wl,--no-whole-archive + ${LIBELF_LIBRARIES}) + set(bcc_common_libs_for_s ${bcc_common_libs_for_a}) +-set(bcc_common_libs_for_lua b_frontend clang_frontend bpf-static ++set(bcc_common_libs_for_lua b_frontend clang_frontend bccbpf-static bpf + ${clang_libs} ${llvm_libs} ${LIBELF_LIBRARIES}) + + if(ENABLE_CPP_API) +@@ -115,4 +116,4 @@ install(DIRECTORY libbpf/include/uapi/linux/ DESTINATION include/bcc/compat/linu + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libbcc.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif(ENABLE_CLANG_JIT) + install(FILES ${bcc_common_headers} DESTINATION include/bcc) +-install(TARGETS bpf-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS bccbpf-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/src/cc/bcc_btf.cc b/src/cc/bcc_btf.cc +index 12816757..bd26f69f 100644 +--- a/src/cc/bcc_btf.cc ++++ b/src/cc/bcc_btf.cc +@@ -17,10 +17,12 @@ + #include "bcc_btf.h" + #include <stdarg.h> + #include <string.h> ++ ++#include <linux/bpf.h> + #include "linux/btf.h" + #include "libbpf.h" +-#include "libbpf/src/libbpf.h" +-#include "libbpf/src/btf.h" ++#include "bpf/libbpf.h" ++#include "bpf/btf.h" + #include <vector> + + #define BCC_MAX_ERRNO 4095 +diff --git a/src/cc/bpf_module.cc b/src/cc/bpf_module.cc +index 836c458f..7100e35d 100644 +--- a/src/cc/bpf_module.cc ++++ b/src/cc/bpf_module.cc +@@ -43,7 +43,7 @@ + #include "exported_files.h" + #include "libbpf.h" + #include "bcc_btf.h" +-#include "libbpf/src/bpf.h" ++#include "bpf/bpf.h" + + namespace ebpf { + +diff --git a/src/cc/libbpf.c b/src/cc/libbpf.c +index 63f4894e..53d37f8e 100644 +--- a/src/cc/libbpf.c ++++ b/src/cc/libbpf.c +@@ -52,8 +52,8 @@ + // TODO: Remove this when CentOS 6 support is not needed anymore + #include "setns.h" + +-#include "libbpf/src/bpf.h" +-#include "libbpf/src/libbpf.h" ++#include "bpf/bpf.h" ++#include "bpf/libbpf.h" + + // TODO: remove these defines when linux-libc-dev exports them properly + diff --git a/community/bcc/APKBUILD b/community/bcc/APKBUILD new file mode 100644 index 0000000000..52e1507d61 --- /dev/null +++ b/community/bcc/APKBUILD @@ -0,0 +1,72 @@ +# Maintainer: Adam Jensen <acjensen@gmail.com> +pkgname=bcc +pkgver=0.10.0 +pkgrel=2 +pkgdesc="A toolkit for creating efficient kernel tracing and manipulation programs" +url="https://github.com/iovisor/bcc/" +arch="aarch64 x86 x86_64" +license="Apache-2.0" +# bcc's test suite requires privileged access to run BPF programs +options="!check" +subpackages="$pkgname-dev $pkgname-doc:_doc $pkgname-tools:_tools $pkgname-lua:_lua py-$pkgname:_py" +_llvmver=8 +makedepends="tar git llvm$_llvmver-dev llvm$_llvmver-static clang-dev clang-static cmake python + flex-dev bison luajit-dev build-base iperf linux-headers elfutils-dev zlib-dev + libbpf-dev" +source="$pkgname-$pkgver.tar.gz::https://github.com/iovisor/bcc/archive/v$pkgver.tar.gz + 10-use-system-libbpf.patch" + +prepare() { + rm -rf tests/* && touch tests/CMakeLists.txt + rm -rf examples/* && touch examples/CMakeLists.txt + + default_prepare +} + +build() { + mkdir -p "$builddir/build" + cd "$builddir/build" + cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib .. + make +} + +package() { + cd "$builddir/build" + make install DESTDIR="$pkgdir" +} + +_doc() { + pkgdesc="$pkgdesc (documentation)" + + mkdir -p "$subpkgdir"/usr/share/bcc/tools + mv "$pkgdir"/usr/share/bcc/man "$subpkgdir"/usr/share/bcc + mv "$pkgdir"/usr/share/bcc/tools/doc "$subpkgdir"/usr/share/bcc/tools +} + +_tools() { + depends="$pkgname py-$pkgname" + pkgdesc="$pkgdesc (tools)" + + mkdir -p "$subpkgdir"/usr/share/bcc + mv "$pkgdir"/usr/share/bcc/tools "$subpkgdir"/usr/share/bcc + mv "$pkgdir"/usr/share/bcc/introspection "$subpkgdir"/usr/share/bcc +} + +_py() { + depends="$pkgname python" + pkgdesc="$pkgdesc (python bindings)" + + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/python2.7 "$subpkgdir"/usr/lib/python2.7 +} + +_lua() { + depends="$pkgname" + pkgdesc="$pkgdesc (lua bindings)" + + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/bcc-lua "$subpkgdir"/usr/bin +} + +sha512sums="92ba0f57d22af610ac81661526fed8bec80d502bcbc8aa5048ba7c50911247c020832db23afdcf9b555b142cd387c228cf7baa0ddc94067165403e362227f235 bcc-0.10.0.tar.gz +e2f0cc063a13e2d5ad57db364e29c064f2c351b82bbd4013d613614adab3b9f4aa555ac71e06189807d32211fdef5c9520b4bc5df2db5de3db02123503d242a8 10-use-system-libbpf.patch" |
