summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb')
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb95
1 files changed, 95 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb b/meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb
new file mode 100644
index 0000000000..6d754b9bd0
--- /dev/null
+++ b/meta-oe/recipes-extended/sysdig/sysdig_0.39.0.bb
@@ -0,0 +1,95 @@
1SUMMARY = "A New System Troubleshooting Tool Built for the Way You Work"
2DESCRIPTION = "Sysdig is open source, system-level exploration: capture \
3system state and activity from a running Linux instance, then save, \
4filter and analyze."
5HOMEPAGE = "http://www.sysdig.org/"
6LICENSE = "Apache-2.0 & (MIT | GPL-2.0-only)"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f8fee3d59797546cffab04f3b88b2d44"
8
9inherit cmake pkgconfig
10
11#OECMAKE_GENERATOR = "Unix Makefiles"
12JIT ?= "jit"
13JIT:mipsarchn32 = ""
14JIT:mipsarchn64 = ""
15JIT:riscv64 = ""
16JIT:riscv32 = ""
17JIT:powerpc = ""
18JIT:powerpc64le = ""
19JIT:powerpc64 = ""
20
21DEPENDS += "libb64 lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp \
22 tbb jq openssl elfutils protobuf protobuf-native jq-native valijson \
23 uthash libbpf clang-native bpftool-native yaml-cpp nlohmann-json"
24RDEPENDS:${PN} = "bash"
25
26SRC_URI = "git://github.com/draios/sysdig.git;branch=dev;protocol=https;name=sysdig \
27 git://github.com/falcosecurity/libs;protocol=https;branch=release/0.18.x;name=falco;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/falcosecurity-libs \
28 git://github.com/falcosecurity/libs;protocol=https;branch=release/0.18.x;name=driver;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/driver \
29 file://0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch \
30 file://0001-Avoid-duplicate-operations-of-add_library.patch;patchdir=./falcosecurity-libs \
31 "
32SRCREV_sysdig = "6ef29110cf1add746e10ab5b38957e22730b7349"
33SRCREV_falco = "e1999d079880d10800c57e004fca794a03cd060a"
34SRCREV_driver = "d4efc80ece48174a71c1a420cb52d233fa94f946"
35
36SRCREV_FORMAT = "sysdig_falco"
37
38#Add this function to generate driver_config.h
39do_configure:prepend() {
40 mkdir -p ${WORKDIR}/driver_Make
41 cd ${WORKDIR}/driver_Make
42 cmake ${S}/driver -DMINIMAL_BUILD=ON -DCREATE_TEST_TARGETS=OFF
43 cd -
44}
45do_configure[cleandirs] = "${WORKDIR}/driver_Make"
46
47EXTRA_OECMAKE = "\
48 -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
49 -DBUILD_DRIVER=OFF \
50 -DMINIMAL_BUILD=ON \
51 -DUSE_BUNDLED_DEPS=OFF \
52 -DCREATE_TEST_TARGETS=OFF \
53 -DDIR_ETC=${sysconfdir} \
54 -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \
55 -DFALCOSECURITY_LIBS_SOURCE_DIR=${S}/falcosecurity-libs \
56 -DDRIVER_SOURCE_DIR=${S}/driver \
57 -DVALIJSON_INCLUDE=${STAGING_INCDIR}/valijson \
58 -DUSE_BUNDLED_RE2=OFF \
59 -DUSE_BUNDLED_TBB=OFF \
60 -DUSE_BUNDLED_JSONCPP=OFF \
61 -DBUILD_SYSDIG_MODERN_BPF=OFF \
62 -DCREATE_TEST_TARGETS=OFF \
63"
64
65#Add include dir to find driver_config.h
66CXXFLAGS:append = " -I${WORKDIR}/driver_Make/driver/src"
67CFLAGS:append = " -I${WORKDIR}/driver_Make/driver/src"
68
69#To fix do_package QA Issue
70do_compile:append() {
71 sed -i -e "s,${WORKDIR},,g" ${B}/libsinsp/libsinsp.pc
72 sed -i -e "s,${WORKDIR},,g" ${B}/driver/libscap/libscap.pc
73 mkdir -p ${B}/driver/libsinsp
74 cp ${B}/libsinsp/libsinsp.pc ${B}/driver/libsinsp/
75}
76do_compile[cleandirs] = "${B}/driver/libsinsp"
77
78#CMAKE_VERBOSE = "VERBOSE=1"
79
80
81FILES:${PN} += " \
82 ${DIR_ETC}/* \
83 ${datadir}/zsh/* \
84 ${prefix}/src/* \
85"
86# Use getaddrinfo_a is a GNU extension in libsinsp
87# It should be fixed in sysdig, until then disable
88# on musl
89# Something like this https://code.videolan.org/ePirat/vlc/-/commit/01fd9fe4c7f6c5558f7345f38abf0152e17853ab is needed to fix it
90COMPATIBLE_HOST:libc-musl = "null"
91COMPATIBLE_HOST:mips = "null"
92COMPATIBLE_HOST:riscv64 = "null"
93COMPATIBLE_HOST:riscv32 = "null"
94COMPATIBLE_HOST:powerpc = "null"
95COMPATIBLE_HOST:powerpc64le = "null"