[net-analyzer/netdata] sync, not tested yet
This commit is contained in:
161
net-analyzer/netdata/netdata-1.47.1.ebuild
Normal file
161
net-analyzer/netdata/netdata-1.47.1.ebuild
Normal file
@@ -0,0 +1,161 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python{3_9,3_10,3_11,3_12} )
|
||||
|
||||
inherit cmake fcaps linux-info optfeature python-single-r1 systemd
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/netdata/${PN}.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/netdata/${PN}/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-v${PV}"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Linux real time system monitoring, done right!"
|
||||
HOMEPAGE="https://github.com/netdata/netdata https://my-netdata.io/"
|
||||
|
||||
LICENSE="GPL-3+ MIT BSD"
|
||||
SLOT="0"
|
||||
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} )
|
||||
tor? ( python )"
|
||||
|
||||
# most unconditional dependencies are for plugins.d/charts.d.plugin:
|
||||
RDEPEND="
|
||||
acct-group/netdata
|
||||
acct-user/netdata
|
||||
app-misc/jq
|
||||
>=app-shells/bash-4:0
|
||||
|| (
|
||||
net-analyzer/openbsd-netcat
|
||||
net-analyzer/netcat
|
||||
)
|
||||
net-libs/libwebsockets
|
||||
net-misc/curl
|
||||
net-misc/wget
|
||||
sys-apps/util-linux
|
||||
app-alternatives/awk
|
||||
sys-libs/libcap
|
||||
cups? ( net-print/cups )
|
||||
app-arch/lz4:=
|
||||
app-arch/zstd:=
|
||||
app-arch/brotli:=
|
||||
dbengine? (
|
||||
dev-libs/judy
|
||||
dev-libs/openssl:=
|
||||
)
|
||||
dev-libs/libpcre2:=
|
||||
dev-libs/libuv:=
|
||||
dev-libs/libyaml
|
||||
dev-libs/protobuf:=
|
||||
bpf? ( virtual/libelf:= )
|
||||
sys-libs/zlib
|
||||
ipmi? ( sys-libs/freeipmi )
|
||||
dev-libs/json-c:=
|
||||
mongodb? ( dev-libs/mongo-c-driver )
|
||||
nfacct? (
|
||||
net-firewall/nfacct
|
||||
net-libs/libmnl:=
|
||||
)
|
||||
nodejs? ( net-libs/nodejs )
|
||||
prometheus? (
|
||||
app-arch/snappy:=
|
||||
dev-libs/protobuf:=
|
||||
)
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
|
||||
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
|
||||
postgres? ( $(python_gen_cond_dep 'dev-python/psycopg:2[${PYTHON_USEDEP}]') )
|
||||
tor? ( $(python_gen_cond_dep 'net-libs/stem[${PYTHON_USEDEP}]') )
|
||||
)
|
||||
xen? (
|
||||
app-emulation/xen-tools
|
||||
dev-libs/yajl
|
||||
)
|
||||
systemd? ( sys-apps/systemd )"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
FILECAPS=(
|
||||
'cap_dac_read_search,cap_sys_ptrace+ep'
|
||||
'usr/libexec/netdata/plugins.d/apps.plugin'
|
||||
'usr/libexec/netdata/plugins.d/debugfs.plugin' --
|
||||
'cap_setuid=ep'
|
||||
'usr/libexec/netdata/plugins.d/slabinfo.plugin' --
|
||||
'cap_setuid=ep'
|
||||
'usr/libexec/netdata/plugins.d/cgroup-network' --
|
||||
'cap_perfmon=ep'
|
||||
'usr/libexec/netdata/plugins.d/perf.plugin'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
linux-info_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
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() {
|
||||
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
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fcaps_pkg_postinst
|
||||
|
||||
if use nfacct ; then
|
||||
fcaps 'cap_net_admin' 'usr/libexec/netdata/plugins.d/nfacct.plugin'
|
||||
fi
|
||||
|
||||
if use xen ; then
|
||||
fcaps 'cap_dac_override' 'usr/libexec/netdata/plugins.d/xenstat.plugin'
|
||||
fi
|
||||
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user