package/netdata: new package
authorMarcin Niestroj <m.niestroj@grinn-global.com>
Fri, 20 Mar 2020 15:25:16 +0000 (16:25 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 24 Mar 2020 21:25:33 +0000 (22:25 +0100)
Always use the --disable-dbengine configuration option, because we do
not support libjudy dependency that is required otherwise.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/netdata/Config.in [new file with mode: 0644]
package/netdata/S60netdata [new file with mode: 0644]
package/netdata/netdata.hash [new file with mode: 0644]
package/netdata/netdata.mk [new file with mode: 0644]

index 14deb2aa0b1dea2a7e2845999dffd85590fcd58d..256be1b2b78bf6178d164b27d4ed928f9edd7fa8 100644 (file)
@@ -1572,6 +1572,7 @@ F:        package/lua-flu/
 F:     package/lua-stdlib/
 F:     package/luaossl/
 F:     package/murata-cyw-fw/
+F:     package/netdata/
 F:     package/rs485conf/
 F:     package/turbolua/
 
index b4033721e2e2f69de5e9d04eb04a2e40d3c669cd..614ec921e57340ce700aba09e7a36e20e3362489 100644 (file)
@@ -1946,6 +1946,7 @@ menu "Miscellaneous"
        source "package/linux-syscall-support/Config.in"
        source "package/mcrypt/Config.in"
        source "package/mobile-broadband-provider-info/Config.in"
+       source "package/netdata/Config.in"
        source "package/proj/Config.in"
        source "package/qemu/Config.in"
        source "package/qpdf/Config.in"
diff --git a/package/netdata/Config.in b/package/netdata/Config.in
new file mode 100644 (file)
index 0000000..88f88cb
--- /dev/null
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_NETDATA
+       bool "netdata"
+       depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+       depends on BR2_USE_MMU # fork()
+       depends on !BR2_STATIC_LIBS # libuv
+       depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
+       select BR2_PACKAGE_LIBUV
+       select BR2_PACKAGE_UTIL_LINUX
+       select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+       select BR2_PACKAGE_ZLIB
+       help
+         Netdata is distributed, real-time, performance and health
+         monitoring for systems and applications. It is a highly
+         optimized monitoring agent you install on all your systems and
+         containers.
+
+         https://github.com/netdata/netdata
+
+comment "netdata needs a toolchain w/ NPTL, dynamic library"
+       depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
+       depends on BR2_USE_MMU
+       depends on BR2_TOOLCHAIN_HAS_SYNC_4
diff --git a/package/netdata/S60netdata b/package/netdata/S60netdata
new file mode 100644 (file)
index 0000000..421f071
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+DAEMON="netdata"
+PIDFILE="/var/run/$DAEMON.pid"
+
+NETDATA_ARGS="-u root -P $PIDFILE"
+
+# Create needed directories.
+mkdir -p /var/cache/$DAEMON /var/lib/$DAEMON /var/log/$DAEMON
+
+# shellcheck source=/dev/null
+[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
+
+start() {
+       printf 'Starting %s: ' "$DAEMON"
+       # shellcheck disable=SC2086 # we need the word splitting
+       start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
+               -- $NETDATA_ARGS
+       status=$?
+       if [ "$status" -eq 0 ]; then
+               echo "OK"
+       else
+               echo "FAIL"
+       fi
+       return "$status"
+}
+
+stop() {
+       printf 'Stopping %s: ' "$DAEMON"
+       start-stop-daemon -K -q -p "$PIDFILE"
+       status=$?
+       if [ "$status" -eq 0 ]; then
+               echo "OK"
+       else
+               echo "FAIL"
+       fi
+       return "$status"
+}
+
+restart() {
+       stop
+       sleep 1
+       start
+}
+
+case "$1" in
+       start|stop|restart)
+               "$1";;
+       reload)
+               # Restart, since there is no true "reload" feature.
+               restart;;
+       *)
+               echo "Usage: $0 {start|stop|restart|reload}"
+               exit 1
+esac
diff --git a/package/netdata/netdata.hash b/package/netdata/netdata.hash
new file mode 100644 (file)
index 0000000..6c79e97
--- /dev/null
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 c739e0fa8d6d7f433c0c7c8016b763e8f70519d67f0b5e7eca9ee5318f210d90  netdata-1.20.0.tar.gz
+sha256 0e5fd9d833efe9b79f784d1903281554af82d1b4261af67d35455728e5572aa6  LICENSE
diff --git a/package/netdata/netdata.mk b/package/netdata/netdata.mk
new file mode 100644 (file)
index 0000000..d169881
--- /dev/null
@@ -0,0 +1,55 @@
+################################################################################
+#
+# netdata
+#
+################################################################################
+
+NETDATA_VERSION = 1.20.0
+NETDATA_SITE = $(call github,netdata,netdata,v$(NETDATA_VERSION))
+NETDATA_LICENSE = GPL-3.0+
+NETDATA_LICENSE_FILES = LICENSE
+# netdata's source code is released without a generated configure script
+NETDATA_AUTORECONF = YES
+NETDATA_CONF_OPTS = --disable-dbengine
+NETDATA_DEPENDENCIES = libuv util-linux zlib
+
+ifeq ($(BR2_GCC_ENABLE_LTO),y)
+NETDATA_CONF_OPTS += --enable-lto
+else
+NETDATA_CONF_OPTS += --disable-lto
+endif
+
+ifeq ($(BR2_PACKAGE_CUPS),y)
+NETDATA_CONF_OPTS += --enable-plugin-cups
+NETDATA_DEPENDENCIES += cups
+else
+NETDATA_CONF_OPTS += --disable-plugin-cups
+endif
+
+ifeq ($(BR2_PACKAGE_JSON_C),y)
+NETDATA_CONF_OPTS += --enable-jsonc
+NETDATA_DEPENDENCIES += json-c
+else
+NETDATA_CONF_OPTS += --disable-jsonc
+endif
+
+ifeq ($(BR2_PACKAGE_NFACCT),y)
+NETDATA_CONF_OPTS += --enable-plugin-nfacct
+NETDATA_DEPENDENCIES += nfacct
+else
+NETDATA_CONF_OPTS += --disable-plugin-nfacct
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+NETDATA_CONF_OPTS += --enable-https
+NETDATA_DEPENDENCIES += openssl
+else
+NETDATA_CONF_OPTS += --disable-https
+endif
+
+define NETDATA_INSTALL_INIT_SYSV
+       $(INSTALL) -D -m 755 package/netdata/S60netdata \
+               $(TARGET_DIR)/etc/init.d/S60netdata
+endef
+
+$(eval $(autotools-package))