Files
meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.47.1.bb
T
Enguerrand de Ribaucourt d801dfaa24 netdata: use builtin packaging service files
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>
2024-10-02 19:54:53 -07:00

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"