[net-analyzer/netdata] sync, not tested yet

This commit is contained in:
2024-09-14 17:59:19 +02:00
parent ef4ecb830f
commit d311f6a293
4 changed files with 91 additions and 116 deletions

View File

@@ -1,10 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python{3_10,3_11} )
PYTHON_COMPAT=( python{3_9,3_10,3_11,3_12} )
inherit autotools fcaps flag-o-matic linux-info python-single-r1 systemd toolchain-funcs
inherit cmake fcaps linux-info optfeature python-single-r1 systemd
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/netdata/${PN}.git"
@@ -20,7 +20,7 @@ HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
LICENSE="GPL-3+ MIT BSD"
SLOT="0"
IUSE="caps cloud +compression cpu_flags_x86_sse2 cups +dbengine ipmi +jsonc +lto mongodb mysql nfacct nodejs postgres prometheus +python tor xen"
IUSE="aclk bpf cloud cups +dbengine ipmi mongodb mysql nfacct nodejs postgres prometheus +python systemd tor xen"
REQUIRED_USE="
mysql? ( python )
python? ( ${PYTHON_REQUIRED_USE} )
@@ -32,29 +32,32 @@ RDEPEND="
acct-user/netdata
app-misc/jq
>=app-shells/bash-4:0
dev-libs/libpcre2:=
|| (
net-analyzer/openbsd-netcat
net-analyzer/netcat
)
net-libs/libwebsockets
net-misc/curl
net-misc/wget
sys-apps/util-linux
app-alternatives/awk
caps? ( sys-libs/libcap )
sys-libs/libcap
cups? ( net-print/cups )
app-arch/lz4:=
app-arch/zstd:=
app-arch/brotli:=
dbengine? (
app-arch/brotli:=
app-arch/lz4:=
app-arch/zstd:=
dev-libs/judy
dev-libs/openssl:=
)
dev-libs/libpcre2:=
dev-libs/libuv:=
dev-libs/libyaml
cloud? ( dev-libs/protobuf:= )
dev-libs/protobuf:=
bpf? ( virtual/libelf:= )
sys-libs/zlib
ipmi? ( sys-libs/freeipmi )
jsonc? ( dev-libs/json-c:= )
dev-libs/json-c:=
mongodb? ( dev-libs/mongo-c-driver )
nfacct? (
net-firewall/nfacct
@@ -75,7 +78,8 @@ RDEPEND="
xen? (
app-emulation/xen-tools
dev-libs/yajl
)"
)
systemd? ( sys-apps/systemd )"
DEPEND="${RDEPEND}
virtual/pkgconfig"
@@ -96,63 +100,44 @@ pkg_setup() {
linux-info_pkg_setup
}
src_prepare() {
default
eautoreconf
}
src_configure() {
if use ppc64; then
# bundled dlib does not support vsx on big-endian
# https://github.com/davisking/dlib/issues/397
[[ $(tc-endian) == big ]] && append-flags -mno-vsx
fi
econf \
--localstatedir="${EPREFIX}"/var \
--with-user=netdata \
--without-bundled-protobuf \
$(use_enable cloud) \
$(use_enable jsonc) \
$(use_enable cups plugin-cups) \
$(use_enable dbengine) \
$(use_enable nfacct plugin-nfacct) \
$(use_enable ipmi plugin-freeipmi) \
--disable-exporting-kinesis \
$(use_enable lto lto) \
$(use_enable mongodb exporting-mongodb) \
$(use_enable prometheus exporting-prometheus-remote-write) \
$(use_enable xen plugin-xenstat) \
$(use_enable cpu_flags_x86_sse2 x86-sse)
}
src_compile() {
emake clean
default
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE
-DCMAKE_INSTALL_PREFIX=/
-DENABLE_ACLK=$(usex aclk)
-DENABLE_CLOUD=$(usex cloud)
-DENABLE_DBENGINE=$(usex dbengine)
-DENABLE_PLUGIN_CUPS=$(usex cups)
-DENABLE_PLUGIN_NFACCT=$(usex nfacct)
-DENABLE_PLUGIN_FREEIPMI=$(usex ipmi)
-DENABLE_EXPORTER_MONGODB=$(usex mongodb)
-DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=$(usex prometheus)
-DENABLE_PLUGIN_XENSTAT=$(usex xen)
-DENABLE_PLUGIN_EBPF=$(usex bpf)
-DENABLE_PLUGIN_GO=FALSE
-DENABLE_PLUGIN_SYSTEMD_JOURNAL=$(usex systemd)
)
cmake_src_configure
}
src_install() {
default
cmake_src_install
rm -rf "${D}/var/cache" || die
rm -rf "${D}/var/run" || die
keepdir /var/log/netdata
fowners -Rc netdata:netdata /var/log/netdata
keepdir /var/lib/netdata
keepdir /var/lib/netdata/registry
keepdir /var/lib/netdata/cloud.d
fowners -Rc netdata:netdata /var/lib/netdata
fowners -Rc root:netdata /usr/share/${PN}
fowners -Rc root:netdata /usr/libexec/netdata/plugins.d
fperms 4750 /usr/libexec/netdata/plugins.d/{cgroup-network,ioping.plugin,perf.plugin,slabinfo.plugin}
newinitd system/openrc/init.d/netdata ${PN}
newconfd system/openrc/conf.d/netdata ${PN}
systemd_dounit system/systemd/netdata.service
systemd_dounit system/systemd/netdata-updater.service
systemd_dounit system/systemd/netdata-updater.timer
newinitd "${D}/usr/lib/netdata/system/openrc/init.d/netdata" "${PN}"
newconfd "${D}/usr/lib/netdata/system/openrc/conf.d/netdata" "${PN}"
systemd_newunit "${D}/usr/lib/netdata/system/systemd/netdata.service.v235" netdata.service
systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.service"
systemd_dounit "${D}/usr/lib/netdata/system/systemd/netdata-updater.timer"
insinto /etc/netdata
doins system/netdata.conf
}
@@ -171,4 +156,6 @@ pkg_postinst() {
if use ipmi ; then
fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/freeipmi.plugin'
fi
optfeature "go.d external plugin" net-analyzer/netdata-go-plugin
}