mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-12-16 07:01:08 +00:00
Update done using: ``` git grep -l sys-libs/zlib net-* | xargs sed -i -e s@sys-libs/zlib@virtual/zlib@g git diff --name-only | xargs copybump git diff --name-only | xargs grep -l PYTHON_COMPAT | xargs gpy-impl -@dead pkgcheck scan --commits -c SourcingCheck,VisibilityCheck --exit error ``` Followed by revert in net-misc/turbovnc. Signed-off-by: Michał Górny <mgorny@gentoo.org>
179 lines
4.6 KiB
Bash
179 lines
4.6 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
PYTHON_COMPAT=( python3_{11..13} )
|
|
|
|
inherit cmake fcaps linux-info optfeature python-single-r1 systemd
|
|
|
|
DLIB_VER="19.24.8"
|
|
|
|
if [[ ${PV} == *9999 ]] ; then
|
|
EGIT_REPO_URI="https://github.com/netdata/${PN}.git"
|
|
inherit git-r3
|
|
else
|
|
SRC_URI="
|
|
https://github.com/netdata/netdata/releases/download/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz
|
|
https://github.com/davisking/dlib/archive/v${DLIB_VER}.tar.gz -> dlib-${DLIB_VER}.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="cups +dbengine ipmi jemalloc mongodb mysql nfacct nodejs prometheus +python systemd xen"
|
|
REQUIRED_USE="
|
|
mysql? ( python )
|
|
python? ( ${PYTHON_REQUIRED_USE} )"
|
|
|
|
# most unconditional dependencies are for plugins.d/charts.d.plugin:
|
|
RDEPEND="
|
|
acct-group/netdata
|
|
acct-user/netdata
|
|
app-alternatives/awk
|
|
app-arch/brotli:=
|
|
app-arch/lz4:=
|
|
app-arch/zstd:=
|
|
app-misc/jq
|
|
>=app-shells/bash-4:0
|
|
dev-libs/json-c:=
|
|
dev-libs/libpcre2:=
|
|
dev-libs/libuv:=
|
|
dev-libs/libyaml
|
|
dev-libs/protobuf:=
|
|
|| (
|
|
net-analyzer/openbsd-netcat
|
|
net-analyzer/netcat
|
|
)
|
|
net-libs/libmnl:=
|
|
net-libs/libwebsockets
|
|
net-misc/curl
|
|
net-misc/wget
|
|
sys-apps/util-linux
|
|
sys-libs/libcap
|
|
virtual/zlib:=
|
|
cups? ( net-print/cups )
|
|
dbengine? (
|
|
dev-libs/judy
|
|
dev-libs/openssl:=
|
|
)
|
|
ipmi? ( sys-libs/freeipmi )
|
|
jemalloc? ( dev-libs/jemalloc:= )
|
|
mongodb? ( dev-libs/mongo-c-driver:0 )
|
|
nfacct? (
|
|
net-firewall/nfacct
|
|
net-libs/libmnl:=
|
|
)
|
|
nodejs? ( net-libs/nodejs )
|
|
prometheus? (
|
|
app-arch/snappy:=
|
|
)
|
|
python? (
|
|
${PYTHON_DEPS}
|
|
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
|
|
mysql? ( $(python_gen_cond_dep 'dev-python/mysqlclient[${PYTHON_USEDEP}]') )
|
|
)
|
|
xen? (
|
|
app-emulation/xen-tools
|
|
dev-libs/yajl
|
|
)
|
|
systemd? ( sys-apps/systemd )"
|
|
DEPEND="${RDEPEND}"
|
|
BDEPEND="
|
|
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'
|
|
)
|
|
|
|
pkg_setup() {
|
|
use python && python-single-r1_pkg_setup
|
|
linux-info_pkg_setup
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DNETDATA_DLIB_SOURCE_PATH="${WORKDIR}/dlib-${DLIB_VER}"
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
|
|
-DCMAKE_INSTALL_PREFIX=/
|
|
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
|
|
-DFETCHCONTENT_UPDATES_DISCONNECTED=ON
|
|
-DENABLE_BUNDLED_JSONC=OFF
|
|
-DENABLE_BUNDLED_PROTOBUF=OFF
|
|
-DENABLE_BUNDLED_YAML=OFF
|
|
-DENABLE_DASHBOARD=OFF # uses binary blobs, license issues
|
|
-DENABLE_DBENGINE=$(usex dbengine)
|
|
-DENABLE_EXPORTER_MONGODB=$(usex mongodb)
|
|
-DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=$(usex prometheus)
|
|
-DENABLE_JEMALLOC=$(usex jemalloc)
|
|
-DENABLE_LIBBACKTRACE=OFF
|
|
-DENABLE_MIMALLOC=OFF
|
|
-DENABLE_ML=ON
|
|
-DENABLE_PLUGIN_APPS=ON
|
|
-DENABLE_PLUGIN_CGROUP_NETWORK=ON
|
|
-DENABLE_PLUGIN_CHARTS=ON
|
|
-DENABLE_PLUGIN_CUPS=$(usex cups)
|
|
-DENABLE_PLUGIN_DEBUGFS=ON
|
|
-DENABLE_PLUGIN_EBPF=OFF # bundles libbpf
|
|
-DENABLE_PLUGIN_GO=OFF
|
|
-DENABLE_PLUGIN_FREEIPMI=$(usex ipmi)
|
|
-DENABLE_PLUGIN_NFACCT=$(usex nfacct)
|
|
-DENABLE_PLUGIN_OTEL=OFF
|
|
-DENABLE_PLUGIN_PERF=ON
|
|
-DENABLE_PLUGIN_PYTHON=$(usex python)
|
|
-DENABLE_PLUGIN_SLABINFO=ON
|
|
-DENABLE_PLUGIN_SYSTEMD_JOURNAL=$(usex systemd)
|
|
-DENABLE_PLUGIN_XENSTAT=$(usex xen)
|
|
)
|
|
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
|
|
|
|
# Opt-out anonymous statistics
|
|
touch "${D}/etc/netdata/.opt-out-from-anonymous-statistics"
|
|
}
|
|
|
|
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
|
|
}
|