[net-analyzer/netdata] tree version, but more filecaps. ugh.
This commit is contained in:
parent
b5fe56f50b
commit
3f8369fbed
26
net-analyzer/netdata/metadata.xml
Normal file
26
net-analyzer/netdata/metadata.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>candrews@gentoo.org</email>
|
||||
<name>Craig Andrews</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="cloud">Enable Netdata Cloud support</flag>
|
||||
<flag name="compression">Enable compression via zlib</flag>
|
||||
<flag name="dbengine">Enable the Netdata database engine</flag>
|
||||
<flag name="ipmi">Install <pkg>sys-apps/ipmitool</pkg> required for monitoring IPMI sensors.</flag>
|
||||
<flag name="jsonc">Enable optimization of JSON using <pkg>dev-libs/json-c</pkg></flag>
|
||||
<flag name="kinesis">Enable support for Amazon Kenesis as a backend</flag>
|
||||
<flag name="lto">Build with Link Time Optimization (LTO)</flag>
|
||||
<flag name="mongodb">Enable support for the mongodb backend</flag>
|
||||
<flag name="nfacct">Enable the nfacct plugin</flag>
|
||||
<flag name="nodejs">Enable use of nodejs (which some plugins use)</flag>
|
||||
<flag name="prometheus">Enable support for the Prometheus remote write backend</flag>
|
||||
<flag name="tor">Enable monitoring of tor</flag>
|
||||
<flag name="xen">Enable monitoring of xen</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">netdata/netdata</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
164
net-analyzer/netdata/netdata-9999.ebuild
Normal file
164
net-analyzer/netdata/netdata-9999.ebuild
Normal file
@ -0,0 +1,164 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python{3_8,3_9,3_10} )
|
||||
|
||||
inherit autotools fcaps linux-info python-single-r1 systemd toolchain-funcs
|
||||
|
||||
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/${PV}/${PN}-${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${PV}"
|
||||
KEYWORDS="~amd64 ~ppc64 ~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="caps cloud +compression cpu_flags_x86_sse2 cups +dbengine ipmi +jsonc kinesis +lto mongodb mysql nfacct nodejs postgres prometheus +python 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
|
||||
virtual/awk
|
||||
caps? ( sys-libs/libcap )
|
||||
cups? ( net-print/cups )
|
||||
dbengine? (
|
||||
app-arch/lz4
|
||||
dev-libs/judy
|
||||
dev-libs/openssl:=
|
||||
)
|
||||
dev-libs/libuv
|
||||
cloud? ( dev-libs/protobuf:= )
|
||||
compression? ( sys-libs/zlib )
|
||||
ipmi? ( sys-libs/freeipmi )
|
||||
jsonc? ( dev-libs/json-c:= )
|
||||
kinesis? ( dev-libs/aws-sdk-cpp[kinesis] )
|
||||
mongodb? ( dev-libs/mongo-c-driver )
|
||||
nfacct? (
|
||||
net-firewall/nfacct
|
||||
net-libs/libmnl
|
||||
)
|
||||
nodejs? ( net-libs/nodejs )
|
||||
prometheus? (
|
||||
dev-libs/protobuf:=
|
||||
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}]') )
|
||||
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
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
FILECAPS=(
|
||||
'cap_dac_read_search,cap_sys_ptrace=ep' 'usr/libexec/netdata/plugins.d/apps.plugin' -- 'cap_setuid=ep' 'usr/libexec/netdata/plugins.d/slabinfo.plugin' -- 'cap_setuid=ep' 'usr/libexec/netdata/plugins.d/cgroup-network' -- 'cap_net_raw' 'usr/libexec/netdata/plugins.d/fping.plugin' -- 'cap_perfmon=ep' 'usr/libexec/netdata/plugins.d/perf.plugin'
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_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) \
|
||||
$(use_enable kinesis backend-kinesis) \
|
||||
$(use_enable lto lto) \
|
||||
$(use_enable mongodb backend-mongodb) \
|
||||
$(use_enable prometheus backend-prometheus-remote-write) \
|
||||
$(use_enable xen plugin-xenstat) \
|
||||
$(use_enable cpu_flags_x86_sse2 x86-sse) \
|
||||
$(use_with compression zlib)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake clean
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
rm -rf "${D}/var/cache" || die
|
||||
|
||||
keepdir /var/log/netdata
|
||||
fowners -Rc netdata:netdata /var/log/netdata
|
||||
keepdir /var/lib/netdata
|
||||
keepdir /var/lib/netdata/registry
|
||||
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/netdata-openrc ${PN}
|
||||
systemd_dounit system/netdata.service
|
||||
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
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user