diff mbox series

[2/3] package/dns320l-daemon: new package

Message ID 20231003094612.62025-3-enki@fsck.pl
State Superseded
Headers show
Series Support for D-Link DNS-320L | expand

Commit Message

enki Oct. 3, 2023, 9:46 a.m. UTC
dns320l-daemon is a simple system management daemon for the D-Link DNS-320L
NAS. It handles power, Wake-on-LAN, temperature, fan speed and some LEDs.

Signed-off-by: Maciej Grela <enki@fsck.pl>
---
 package/Config.in                          |  1 +
 package/dns320l-daemon/Config.in           |  7 ++++
 package/dns320l-daemon/S50dns320l-daemon   | 37 ++++++++++++++++++++++
 package/dns320l-daemon/dns320l-daemon.hash |  1 +
 package/dns320l-daemon/dns320l-daemon.mk   | 31 ++++++++++++++++++
 5 files changed, 77 insertions(+)
 create mode 100644 package/dns320l-daemon/Config.in
 create mode 100644 package/dns320l-daemon/S50dns320l-daemon
 create mode 100644 package/dns320l-daemon/dns320l-daemon.hash
 create mode 100644 package/dns320l-daemon/dns320l-daemon.mk
diff mbox series

Patch

diff --git a/package/Config.in b/package/Config.in
index 228e9eb1e3..f1c451890f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2684,6 +2684,7 @@  menu "System tools"
 	source "package/dcron/Config.in"
 	source "package/ddrescue/Config.in"
 	source "package/debianutils/Config.in"
+	source "package/dns320l-daemon/Config.in"
 	source "package/docker-cli/Config.in"
 	source "package/docker-compose/Config.in"
 	source "package/docker-engine/Config.in"
diff --git a/package/dns320l-daemon/Config.in b/package/dns320l-daemon/Config.in
new file mode 100644
index 0000000000..c335e749f0
--- /dev/null
+++ b/package/dns320l-daemon/Config.in
@@ -0,0 +1,7 @@ 
+config BR2_PACKAGE_DNS320L_DAEMON
+	bool "dns320l-daemon"
+	select BR2_PACKAGE_INIPARSER
+	help
+	  MCU Daemon for the D-Link DNS-320L
+
+	  https://www.aboehler.at/hg/dns320l-daemon
diff --git a/package/dns320l-daemon/S50dns320l-daemon b/package/dns320l-daemon/S50dns320l-daemon
new file mode 100644
index 0000000000..3e0b4a3339
--- /dev/null
+++ b/package/dns320l-daemon/S50dns320l-daemon
@@ -0,0 +1,37 @@ 
+#!/bin/sh
+
+DAEMON="dns320l-daemon"
+
+start() {
+	printf 'Starting %s: ' "$DAEMON"
+	start-stop-daemon -S -x "/usr/bin/$DAEMON"
+	status="$?"
+	if [ "$status" -eq 0 ]; then
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return "$status"
+}
+
+stop() {
+	printf 'Stopping %s: ' "$DAEMON"
+	start-stop-daemon -K -x "/usr/bin/$DAEMON"
+}
+
+restart() {
+	stop
+	sleep 1
+	start
+}
+
+case "$1" in
+	start|stop|restart)
+		"$1";;
+	reload)
+		restart;;
+	*)
+		echo "Usage: $0 {start|stop|restart}"
+		exit 1
+		;;
+esac
diff --git a/package/dns320l-daemon/dns320l-daemon.hash b/package/dns320l-daemon/dns320l-daemon.hash
new file mode 100644
index 0000000000..4396eb8f5d
--- /dev/null
+++ b/package/dns320l-daemon/dns320l-daemon.hash
@@ -0,0 +1 @@ 
+sha256  eac74a64f0d4127748e629b8a5f723eab58ac83064a3f249f97b85bcd7faf061  tip.tar.bz2
diff --git a/package/dns320l-daemon/dns320l-daemon.mk b/package/dns320l-daemon/dns320l-daemon.mk
new file mode 100644
index 0000000000..fd87ac1be3
--- /dev/null
+++ b/package/dns320l-daemon/dns320l-daemon.mk
@@ -0,0 +1,31 @@ 
+################################################################################
+#
+# dns320l-daemon
+#
+################################################################################
+
+DNS320L_DAEMON_VERSION = 1.0
+DNS320L_DAEMON_SOURCE = tip.tar.bz2
+DNS320L_DAEMON_SITE = https://www.aboehler.at/hg/dns320l-daemon/archive
+DNS320L_DAEMON_LICENSE = GPL-3
+DNS320L_DAEMON_DEPENDENCIES = iniparser
+
+define DNS320L_DAEMON_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
+endef
+
+define DNS320L_DAEMON_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/dns320l-daemon $(TARGET_DIR)/usr/bin/
+	$(INSTALL) -D -m 0600 $(@D)/dns320l-daemon.ini $(TARGET_DIR)/etc/
+endef
+
+define DNS320L_DAEMON_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0644 $(@D)/dns320l-daemon.service $(TARGET_DIR)/lib/systemd/system/
+endef
+
+define DNS320L_DAEMON_INSTALL_INIT_SYSV
+	$(INSTALL) -D -m 0755 package/dns320l-daemon/S50dns320l-daemon $(TARGET_DIR)/etc/init.d/S50dns320l-daemon
+endef
+
+$(eval $(generic-package))