mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-13 17:39:57 +00:00
d801dfaa24
Netdata now provides its own systemd service files. They provide better hardening than the one we were defining in the recipe. Unfortunately, the CMakeLists.txt file wants to install them into /lib rather than /usr/lib. I added mv commands to put them in the expected location depending on usrmerge. Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
98 lines
4.2 KiB
BlitzBasic
98 lines
4.2 KiB
BlitzBasic
SUMMARY = "Real-time performance monitoring"
|
|
DESCRIPTION = "Netdata is high-fidelity infrastructure monitoring and troubleshooting. \
|
|
Open-source, free, preconfigured, opinionated, and always real-time."
|
|
HOMEPAGE = "https://github.com/netdata/netdata/"
|
|
LICENSE = "GPL-3.0-only"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=fc9b848046ef54b5eaee6071947abd24"
|
|
|
|
DEPENDS += "json-c libuv libyaml util-linux zlib lz4"
|
|
|
|
SRC_URI = " \
|
|
https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz \
|
|
file://0001-cmake-Add-check-for-64bit-builtin-atomics.patch \
|
|
file://0002-Do-not-hardcode-systemd-unit-directories.patch \
|
|
file://netdata.conf \
|
|
file://netdata-volatiles.conf \
|
|
"
|
|
SRC_URI[sha256sum] = "fb970a4b571ffd542b7d24220ef806a4c1b56c535e0f549a9978860a9f1dcc9c"
|
|
|
|
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/tags"
|
|
UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P<pver>\d+(?:\.\d+)*)"
|
|
|
|
S = "${WORKDIR}/${BPN}-v${PV}"
|
|
|
|
# Stop sending anonymous statistics to Google Analytics
|
|
NETDATA_ANONYMOUS ??= "enabled"
|
|
|
|
inherit pkgconfig cmake useradd systemd
|
|
|
|
TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
|
|
|
|
LIBS:toolchain-clang:x86 = "-latomic"
|
|
LIBS:riscv64 = "-latomic"
|
|
LIBS:riscv32 = "-latomic"
|
|
LIBS:mips = "-latomic"
|
|
export LIBS
|
|
|
|
#systemd
|
|
SYSTEMD_PACKAGES = "${PN}"
|
|
export SERVICE_FILES = "netdata.service netdata-updater.service netdata-updater.timer"
|
|
SYSTEMD_SERVICE:${PN} = "${SERVICE_FILES}"
|
|
SYSTEMD_AUTO_ENABLE:${PN} = "enable"
|
|
|
|
#User specific
|
|
USERADD_PACKAGES = "${PN}"
|
|
USERADD_PARAM:${PN} = "--system --no-create-home --home-dir ${localstatedir}/run/netdata \
|
|
${@bb.utils.contains('PACKAGECONFIG','docker','--groups docker','',d)} --user-group netdata"
|
|
|
|
PACKAGECONFIG ??= "openssl freeipmi ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
|
|
PACKAGECONFIG[brotli] = ",,brotli"
|
|
PACKAGECONFIG[cloud] = "-DENABLE_CLOUD=ON,-DENABLE_CLOUD=OFF,"
|
|
PACKAGECONFIG[openssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
|
|
PACKAGECONFIG[freeipmi] = "-DENABLE_PLUGIN_FREEIPMI=ON,-DENABLE_PLUGIN_FREEIPMI=OFF,freeipmi"
|
|
PACKAGECONFIG[nfacct] = "-DENABLE_PLUGIN_NFACCT=ON,-DENABLE_PLUGIN_NFACCT=OFF,libmnl"
|
|
# needs meta-virtualization
|
|
PACKAGECONFIG[xenstat] = "-DENABLE_PLUGIN_XENSTAT=ON,-DENABLE_PLUGIN_XENSTAT=OFF,xen-tools"
|
|
PACKAGECONFIG[cups] = "-DENABLE_PLUGIN_CUPS=ON,-DENABLE_PLUGIN_CUPS=OFF,cups"
|
|
PACKAGECONFIG[systemd] = "-DENABLE_PLUGIN_SYSTEMD_JOURNAL=ON,-DENABLE_PLUGIN_SYSTEMD_JOURNAL=OFF,systemd"
|
|
PACKAGECONFIG[docker] = ",,virtual/docker,"
|
|
|
|
# ebpf doesn't compile (or detect) the cross compilation well
|
|
EXTRA_OECMAKE += "-DENABLE_PLUGIN_EBPF=OFF -DENABLE_PLUGIN_GO=OFF -DBUILD_FOR_PACKAGING=${@bb.utils.contains('DISTRO_FEATURES','systemd','ON','OFF',d)} \
|
|
-DENABLE_ACLK=OFF -DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=OFF -DCMAKE_INSTALL_PREFIX='${base_prefix}'"
|
|
|
|
do_install:append() {
|
|
#set S UID for plugins
|
|
chmod 4755 ${D}${libexecdir}/netdata/plugins.d/apps.plugin
|
|
rm -rf ${D}/${localstatedir}/
|
|
|
|
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
|
|
# Install systemd unit files
|
|
install -Dm 0644 ${UNPACKDIR}/netdata-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/netdata.conf
|
|
fi
|
|
|
|
# Install default netdata.conf
|
|
install -d ${D}${sysconfdir}/netdata
|
|
install -m 0644 ${UNPACKDIR}/netdata.conf ${D}${sysconfdir}/netdata/
|
|
sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf
|
|
sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf
|
|
sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf
|
|
|
|
if [ "${NETDATA_ANONYMOUS}" = "enabled" ]; then
|
|
touch ${D}${sysconfdir}/netdata/.opt-out-from-anonymous-statistics
|
|
fi
|
|
|
|
install --group netdata --owner netdata --directory ${D}${localstatedir}/cache/netdata
|
|
install --group netdata --owner netdata --directory ${D}${localstatedir}/lib/netdata
|
|
|
|
chown -R netdata:netdata ${D}${datadir}/netdata/web
|
|
}
|
|
|
|
FILES:${PN} += " \
|
|
${localstatedir}/cache/netdata/ \
|
|
${localstatedir}/lib/netdata/ \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/journald@netdata.conf.d', '', d)} \
|
|
"
|
|
|
|
RDEPENDS:${PN} = "bash python3-core zlib"
|