generic "add LLVM_COMPAT 20 everywhere", untested
This commit is contained in:
parent
94cdac5f27
commit
2a34c396c2
917 changed files with 85031 additions and 1065 deletions
4
dev-debug/sysdig/Manifest
Normal file
4
dev-debug/sysdig/Manifest
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
DIST falcosecurity-libs-0.17.3.tar.gz 4425090 BLAKE2B 3d6300bba2303715581d9b35f63e453f85a3889fa93233d3b1ca69f6ba92b33e0a7d90bbd160b765487b44771a1d94f5a1fb380cf4e5130506a885471dddb7e7 SHA512 05707c404bdd45c2e944b903dbbc1e5e0e5991a3d4cbe9ea357efb35b5ad0c4ede7cdd7b056a7dde2543cc2c0b8d5d3b42606202128b7287a80a1da686de169e
|
||||
DIST falcosecurity-libs-0.19.0.tar.gz 4499949 BLAKE2B 4d165f3b023183abf527a2243f601ca7e6929e882ab854901ff98c3441b6bee61f9bb5d3af8974953423fa46d3968872b7f9dbfb1d81d6ad78202442e5f8d9b7 SHA512 5b011c804b07bf2f3eb6a6d7e8c9ef4e54bcc8d74116020e887465aba3dec737bdf8fc854778a8230f7e23e87da29423c6320a8054873eb5c9c957ce40ef3825
|
||||
DIST sysdig-0.38.1.tar.gz 67528905 BLAKE2B 9b0e0f337bf64df200b44f7e23c64d00477d6ebfb2bc995dcb04951c8e25fb9274431022b8fa54f54851436f063b79d1268045ba686e97fb0195922bc8dfcf28 SHA512 17275c029368b203ec590cf448a33275bd6c20b81be77edcd393f1a3c04e6c4714c7286b6268823bb0c629d52a88cd97f7b3ef588bd10a000b65de23eb5b5a45
|
||||
DIST sysdig-0.39.0.tar.gz 85742724 BLAKE2B 7e6414b3b87bd4cc43ede8c28f99ebd385a63b0efd711d6648b832d64d518bbfe7ddb2bff469232933413a2807d4df66775c8d57072d9e80aeffb5b2dd5690fd SHA512 d43c816d4c29cc283d3247ac0ac3591b8adea7a08194a80b4e530f0c45730a824d16eda7b07bb70e4658cbae0f851fbb67ec880eedf33477bf5bfc911d8a7936
|
||||
21
dev-debug/sysdig/files/0.38.1-libs-no-libanl.patch
Normal file
21
dev-debug/sysdig/files/0.38.1-libs-no-libanl.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
Do not attempt to link against libanl on musl.
|
||||
|
||||
Bug: https://bugs.gentoo.org/929907
|
||||
Bug: https://github.com/falcosecurity/libs/issues/1948
|
||||
|
||||
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
|
||||
|
||||
--- libs-0.17.2/userspace/libsinsp/CMakeLists.txt~ 2024-06-14 11:38:50.000000000 +0200
|
||||
+++ libs-0.17.2/userspace/libsinsp/CMakeLists.txt 2024-07-05 00:18:03.326406540 +0200
|
||||
@@ -258,8 +258,8 @@ if(NOT WIN32)
|
||||
)
|
||||
|
||||
if(NOT MUSL_OPTIMIZED_BUILD)
|
||||
- target_link_libraries(sinsp INTERFACE rt anl)
|
||||
- list(APPEND SINSP_PKGCONFIG_LIBRARIES rt anl)
|
||||
+ target_link_libraries(sinsp INTERFACE rt)
|
||||
+ list(APPEND SINSP_PKGCONFIG_LIBRARIES rt)
|
||||
endif()
|
||||
|
||||
else()
|
||||
32
dev-debug/sysdig/files/0.38.1-scap-loader.patch
Normal file
32
dev-debug/sysdig/files/0.38.1-scap-loader.patch
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
|
||||
Sanitize the scap loader script to not attempt driver downloads or compilation
|
||||
by default, which would not work anyway as sysdig does not host prebuilt modules
|
||||
for Gentoo.
|
||||
|
||||
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
|
||||
|
||||
--- sysdig-0.38.0/scripts/scap-driver-loader.in~ 2024-06-17 11:14:55.000000000 +0200
|
||||
+++ sysdig-0.38.0/scripts/scap-driver-loader.in 2024-06-17 11:14:55.000000000 +0200
|
||||
@@ -662,8 +662,8 @@ print_usage() {
|
||||
echo "Options:"
|
||||
echo " --help show brief help"
|
||||
echo " --clean try to remove an already present driver installation"
|
||||
- echo " --compile try to compile the driver locally (default true)"
|
||||
- echo " --download try to download a prebuilt driver (default true)"
|
||||
+ echo " --compile try to compile the driver locally (default false)"
|
||||
+ echo " --download try to download a prebuilt driver (default false)"
|
||||
echo " --source-only skip execution and allow sourcing in another script"
|
||||
echo ""
|
||||
echo "Environment variables:"
|
||||
@@ -770,11 +770,6 @@ while test $# -gt 0; do
|
||||
esac
|
||||
done
|
||||
|
||||
-if [ -z "$has_opts" ]; then
|
||||
- ENABLE_COMPILE="yes"
|
||||
- ENABLE_DOWNLOAD="yes"
|
||||
-fi
|
||||
-
|
||||
if [ -z "$source_only" ]; then
|
||||
echo "* Running scap-driver-loader for: driver version=${DRIVER_VERSION}, arch=${ARCH}, kernel release=${KERNEL_RELEASE}, kernel version=${KERNEL_VERSION}"
|
||||
|
||||
22
dev-debug/sysdig/metadata.xml
Normal file
22
dev-debug/sysdig/metadata.xml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>holger@applied-asynchrony.com</email>
|
||||
<name>Holger Hoffstätte</name>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="bpf">Enable the BPF probe as alternative event source
|
||||
to <pkg>dev-debug/scap-driver</pkg>.</flag>
|
||||
<flag name="modules">Build kernel modules needed for tracing local
|
||||
events. Disable this only if you intend to use sysdig purely
|
||||
to work with dumpfiles.</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">draios/sysdig</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
131
dev-debug/sysdig/sysdig-0.38.1-r1.ebuild
Normal file
131
dev-debug/sysdig/sysdig-0.38.1-r1.ebuild
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
LUA_COMPAT=( luajit )
|
||||
|
||||
inherit bash-completion-r1 cmake flag-o-matic lua-single
|
||||
|
||||
DESCRIPTION="A system exploration and troubleshooting tool"
|
||||
HOMEPAGE="https://sysdig.com/"
|
||||
|
||||
# The version of falcosecurity-libs required by sysdig as source tree
|
||||
LIBS_VERSION="0.17.3"
|
||||
SRC_URI="https://github.com/draios/sysdig/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/falcosecurity/libs/archive/${LIBS_VERSION}.tar.gz -> falcosecurity-libs-${LIBS_VERSION}.tar.gz"
|
||||
|
||||
# The driver version as found in cmake/modules/driver.cmake
|
||||
DRIVER_VERSION="7.2.0+driver"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~x86"
|
||||
IUSE="+modules"
|
||||
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${LUA_DEPS}
|
||||
dev-cpp/abseil-cpp:=
|
||||
dev-cpp/tbb:=
|
||||
dev-cpp/yaml-cpp:=
|
||||
dev-libs/jsoncpp:=
|
||||
dev-libs/libb64:=
|
||||
dev-libs/protobuf:=
|
||||
dev-libs/re2:=
|
||||
dev-libs/uthash
|
||||
net-libs/grpc:=
|
||||
net-misc/curl
|
||||
sys-libs/ncurses:=
|
||||
sys-libs/zlib:=
|
||||
virtual/libelf:="
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-cpp/nlohmann_json
|
||||
dev-cpp/valijson
|
||||
virtual/os-headers"
|
||||
|
||||
# pin the driver to the falcosecurity-libs version
|
||||
PDEPEND="modules? ( =dev-debug/scap-driver-${LIBS_VERSION}* )"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PV}-scap-loader.patch" )
|
||||
|
||||
src_prepare() {
|
||||
# manually apply patches to falcosecurity-libs dependency
|
||||
pushd "${WORKDIR}/libs-${LIBS_VERSION}"
|
||||
# musl has no libanl (#929227)
|
||||
if [ ${ELIBC} == "musl" ] ; then
|
||||
eapply "${FILESDIR}/${PV}-libs-no-libanl.patch" || die
|
||||
fi
|
||||
popd
|
||||
|
||||
# do not build with debugging info
|
||||
sed -i -e 's/-ggdb//g' CMakeLists.txt "${WORKDIR}"/libs-${LIBS_VERSION}/cmake/modules/CompilerFlags.cmake || die
|
||||
|
||||
# fix the driver version
|
||||
sed -i -e 's/0.0.0-local/${DRIVER_VERSION}/g' cmake/modules/driver.cmake || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# known problems with strict aliasing:
|
||||
# https://github.com/falcosecurity/libs/issues/1964
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
local mycmakeargs=(
|
||||
# do not build the kernel driver
|
||||
-DBUILD_DRIVER=OFF
|
||||
|
||||
# libscap examples are not installed or really useful
|
||||
-DBUILD_LIBSCAP_EXAMPLES=OFF
|
||||
|
||||
# do not build internal libs as shared
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
|
||||
# do not build eBPF driver for now
|
||||
-DBUILD_SYSDIG_MODERN_BPF=OFF
|
||||
|
||||
# set driver version to prevent downloading (don't ask..)
|
||||
-DDRIVER_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}/driver
|
||||
-DDRIVER_VERSION=${DRIVER_VERSION}
|
||||
|
||||
# point sysdig to the libs tree
|
||||
-DFALCOSECURITY_LIBS_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}
|
||||
|
||||
# explicitly set sysdig version - required for some reason
|
||||
-DSYSDIG_VERSION=${PV}
|
||||
|
||||
# do not use bundled dependencies for sysdig
|
||||
-DUSE_BUNDLED_DEPS=OFF
|
||||
|
||||
# do not use bundled dependencies for falcosecurity-libs
|
||||
-DUSE_BUNDLED_B64=OFF
|
||||
-DUSE_BUNDLED_JSONCPP=OFF
|
||||
-DUSE_BUNDLED_RE2=OFF
|
||||
-DUSE_BUNDLED_TBB=OFF
|
||||
-DUSE_BUNDLED_VALIJSON=OFF
|
||||
|
||||
# set valijson include path to prevent downloading
|
||||
-DVALIJSON_INCLUDE="${ESYSROOT}"/usr/include
|
||||
|
||||
# enable chisels
|
||||
-DWITH_CHISEL=ON
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# remove driver headers
|
||||
rm -r "${ED}"/usr/src || die
|
||||
|
||||
# remove libscap/libsinsp headers & libs (see #938187)
|
||||
rm -r "${ED}"/usr/include/sysdig || die
|
||||
rm -r "${ED}"/usr/$(get_libdir) || die
|
||||
|
||||
# move bashcomp to the proper location
|
||||
dobashcomp "${ED}"/usr/etc/bash_completion.d/sysdig || die
|
||||
rm -r "${ED}"/usr/etc || die
|
||||
}
|
||||
169
dev-debug/sysdig/sysdig-0.39.0-r1.ebuild
Normal file
169
dev-debug/sysdig/sysdig-0.39.0-r1.ebuild
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
LLVM_COMPAT=( 20 )
|
||||
LLVM_OPTIONAL=1
|
||||
|
||||
LUA_COMPAT=( luajit )
|
||||
|
||||
inherit bash-completion-r1 cmake flag-o-matic linux-info llvm-r1 lua-single
|
||||
|
||||
DESCRIPTION="A system exploration and troubleshooting tool"
|
||||
HOMEPAGE="https://sysdig.com/"
|
||||
|
||||
# The version of falcosecurity-libs required by sysdig as source tree
|
||||
LIBS_VERSION="0.19.0"
|
||||
LIBS="falcosecurity-libs-${LIBS_VERSION}"
|
||||
|
||||
SRC_URI="https://github.com/draios/sysdig/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/falcosecurity/libs/archive/${LIBS_VERSION}.tar.gz -> ${LIBS}.tar.gz"
|
||||
|
||||
# The driver version as found in cmake/modules/driver.cmake or alternatively
|
||||
# as git tag on the $LIBS_VERSION of falcosecurity-libs.
|
||||
DRIVER_VERSION="7.3.0+driver"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~x86"
|
||||
IUSE="bpf +modules"
|
||||
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${LUA_DEPS}
|
||||
dev-cpp/abseil-cpp:=
|
||||
dev-cpp/tbb:=
|
||||
dev-cpp/yaml-cpp:=
|
||||
dev-libs/jsoncpp:=
|
||||
dev-libs/libb64:=
|
||||
bpf? ( >=dev-libs/libbpf-1.1:= )
|
||||
dev-libs/protobuf:=
|
||||
dev-libs/re2:=
|
||||
dev-libs/uthash
|
||||
net-libs/grpc:=
|
||||
net-misc/curl
|
||||
sys-libs/ncurses:=
|
||||
sys-libs/zlib:=
|
||||
virtual/libelf:="
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-cpp/nlohmann_json
|
||||
dev-cpp/valijson
|
||||
bpf? ( $(llvm_gen_dep '
|
||||
llvm-core/clang:${LLVM_SLOT}=
|
||||
llvm-core/llvm:${LLVM_SLOT}=[llvm_targets_BPF(+)]
|
||||
')
|
||||
)
|
||||
virtual/os-headers"
|
||||
|
||||
BDEPEND="bpf? ( dev-util/bpftool )"
|
||||
|
||||
# pin the driver to the falcosecurity-libs version
|
||||
PDEPEND="modules? ( =dev-debug/scap-driver-${LIBS_VERSION}* )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/0.38.1-scap-loader.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if use bpf; then
|
||||
local CONFIG_CHECK="
|
||||
~BPF
|
||||
~BPF_EVENTS
|
||||
~BPF_JIT
|
||||
~BPF_SYSCALL
|
||||
~FTRACE_SYSCALLS
|
||||
~HAVE_EBPF_JIT
|
||||
"
|
||||
check_extra_config
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use bpf && llvm-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# do not build with debugging info
|
||||
sed -i -e 's/-ggdb//g' CMakeLists.txt "${WORKDIR}"/libs-${LIBS_VERSION}/cmake/modules/CompilerFlags.cmake || die
|
||||
|
||||
# fix the driver version
|
||||
sed -i -e 's/0.0.0-local/${DRIVER_VERSION}/g' cmake/modules/driver.cmake || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# known problems with strict aliasing:
|
||||
# https://github.com/falcosecurity/libs/issues/1964
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
local mycmakeargs=(
|
||||
# do not build the kernel driver
|
||||
-DBUILD_DRIVER=OFF
|
||||
|
||||
# libscap examples are not installed or really useful
|
||||
-DBUILD_LIBSCAP_EXAMPLES=OFF
|
||||
|
||||
# do not build internal libs as shared
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
|
||||
# build BPF probe depending on USE
|
||||
-DBUILD_SYSDIG_MODERN_BPF:BOOL=$(usex bpf)
|
||||
|
||||
# set driver version to prevent downloading (don't ask..)
|
||||
-DDRIVER_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}/driver
|
||||
-DDRIVER_VERSION=${DRIVER_VERSION}
|
||||
|
||||
# point sysdig to the libs tree
|
||||
-DFALCOSECURITY_LIBS_SOURCE_DIR="${WORKDIR}"/libs-${LIBS_VERSION}
|
||||
|
||||
# explicitly set sysdig version - required for some reason
|
||||
-DSYSDIG_VERSION=${PV}
|
||||
|
||||
# do not use bundled dependencies for sysdig
|
||||
-DUSE_BUNDLED_DEPS=OFF
|
||||
|
||||
# do not use bundled dependencies for falcosecurity-libs
|
||||
-DUSE_BUNDLED_B64=OFF
|
||||
-DUSE_BUNDLED_JSONCPP=OFF
|
||||
-DUSE_BUNDLED_RE2=OFF
|
||||
-DUSE_BUNDLED_TBB=OFF
|
||||
-DUSE_BUNDLED_VALIJSON=OFF
|
||||
|
||||
# set valijson include path to prevent downloading
|
||||
-DVALIJSON_INCLUDE="${ESYSROOT}"/usr/include
|
||||
|
||||
# enable chisels
|
||||
-DWITH_CHISEL=ON
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# remove driver headers
|
||||
rm -r "${ED}"/usr/src || die
|
||||
|
||||
# remove libscap/libsinsp headers & libs (see #938187)
|
||||
rm -r "${ED}"/usr/include/sysdig || die
|
||||
rm -r "${ED}"/usr/$(get_libdir) || die
|
||||
|
||||
# move bashcomp to the proper location
|
||||
dobashcomp "${ED}"/usr/etc/bash_completion.d/sysdig || die
|
||||
rm -r "${ED}"/usr/etc || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use bpf; then
|
||||
elog
|
||||
elog "You have enabled the 'modern BPF' probe."
|
||||
elog "This eBPF-based event source is an alternative to the traditional"
|
||||
elog "scap kernel module."
|
||||
elog
|
||||
elog "To use it, start sysdig/csysdig with '--modern-bpf'."
|
||||
elog
|
||||
fi
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue