Message ID | 20231006140511.3840643-3-enki@fsck.pl |
---|---|
State | New |
Headers | show |
Series | Support for D-Link DNS-320L | expand |
Hi Maciej, On 06/10/23 16:05, Maciej Grela wrote: > 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 + > .../0001-listen-on-localhost.patch | 21 ++++++++++ > package/dns320l-daemon/Config.in | 8 ++++ > package/dns320l-daemon/S50dns320l-daemon | 42 +++++++++++++++++++ > package/dns320l-daemon/dns320l-daemon.hash | 1 + > package/dns320l-daemon/dns320l-daemon.mk | 32 ++++++++++++++ > 6 files changed, 105 insertions(+) > create mode 100644 package/dns320l-daemon/0001-listen-on-localhost.patch > 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 --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/0001-listen-on-localhost.patch b/package/dns320l-daemon/0001-listen-on-localhost.patch > new file mode 100644 > index 0000000000..50da024024 > --- /dev/null > +++ b/package/dns320l-daemon/0001-listen-on-localhost.patch > @@ -0,0 +1,21 @@ > +# HG changeset patch > +# User Maciej Grela <enki@fsck.pl> > +# Date 1696540279 -7200 > +# Thu Oct 05 23:11:19 2023 +0200 > +# Node ID eca5ed65582402e64c36145290c214aee84b012b > +# Parent 1f945ce22321a876143b38aaf5610c8915172b90 > +Subject: [PATCH] Listen on localhost by default > +Signed-off-by: Maciej Grela <enki@fsck.pl> > + > +diff -r 1f945ce22321 -r eca5ed655824 dns320l-daemon.ini > +--- a/dns320l-daemon.ini Tue Dec 09 12:24:29 2014 +0100 > ++++ b/dns320l-daemon.ini Thu Oct 05 23:11:19 2023 +0200 > +@@ -4,7 +4,7 @@ > + > + [Daemon] > + ServerPort = 57367 > +-ServerAddr = 0.0.0.0 > ++ServerAddr = 127.0.0.1 > + SyncTimeOnStartup = 0 > + SyncTimeOnShutdown = 0 > + DeviceShutdownDelay = 30 > diff --git a/package/dns320l-daemon/Config.in b/package/dns320l-daemon/Config.in > new file mode 100644 > index 0000000000..35bd30a9e5 > --- /dev/null > +++ b/package/dns320l-daemon/Config.in > @@ -0,0 +1,8 @@ > +config BR2_PACKAGE_DNS320L_DAEMON > + bool "dns320l-daemon" > + depends on BR2_USE_MMU # fork() > + 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..3bc2a60d0b > --- /dev/null > +++ b/package/dns320l-daemon/S50dns320l-daemon > @@ -0,0 +1,42 @@ > +#!/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 -s INT -K -x "/usr/bin/$DAEMON" > +} > + > +poweroff() { > + printf 'Stopping %s: ' "$DAEMON" > + start-stop-daemon -s TERM -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|poweroff}" > + 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..bc24a553c2 > --- /dev/null > +++ b/package/dns320l-daemon/dns320l-daemon.mk > @@ -0,0 +1,32 @@ > +################################################################################ > +# > +# dns320l-daemon > +# > +################################################################################ > + > +DNS320L_DAEMON_VERSION = 1.0 > +DNS320L_DAEMON_SOURCE = tip.tar.bz2 > +DNS320L_DAEMON_SITE = https://www.aboehler.at/hg/dns320l-daemon/archive URL has moved to: https://gitlab.aboehler.at/andreas/dns320l-daemon and there are no Releases or git tags, so can you use as VERSION the latest git SHA1? Thank you Best regards
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/0001-listen-on-localhost.patch b/package/dns320l-daemon/0001-listen-on-localhost.patch new file mode 100644 index 0000000000..50da024024 --- /dev/null +++ b/package/dns320l-daemon/0001-listen-on-localhost.patch @@ -0,0 +1,21 @@ +# HG changeset patch +# User Maciej Grela <enki@fsck.pl> +# Date 1696540279 -7200 +# Thu Oct 05 23:11:19 2023 +0200 +# Node ID eca5ed65582402e64c36145290c214aee84b012b +# Parent 1f945ce22321a876143b38aaf5610c8915172b90 +Subject: [PATCH] Listen on localhost by default +Signed-off-by: Maciej Grela <enki@fsck.pl> + +diff -r 1f945ce22321 -r eca5ed655824 dns320l-daemon.ini +--- a/dns320l-daemon.ini Tue Dec 09 12:24:29 2014 +0100 ++++ b/dns320l-daemon.ini Thu Oct 05 23:11:19 2023 +0200 +@@ -4,7 +4,7 @@ + + [Daemon] + ServerPort = 57367 +-ServerAddr = 0.0.0.0 ++ServerAddr = 127.0.0.1 + SyncTimeOnStartup = 0 + SyncTimeOnShutdown = 0 + DeviceShutdownDelay = 30 diff --git a/package/dns320l-daemon/Config.in b/package/dns320l-daemon/Config.in new file mode 100644 index 0000000000..35bd30a9e5 --- /dev/null +++ b/package/dns320l-daemon/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_DNS320L_DAEMON + bool "dns320l-daemon" + depends on BR2_USE_MMU # fork() + 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..3bc2a60d0b --- /dev/null +++ b/package/dns320l-daemon/S50dns320l-daemon @@ -0,0 +1,42 @@ +#!/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 -s INT -K -x "/usr/bin/$DAEMON" +} + +poweroff() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -s TERM -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|poweroff}" + 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..bc24a553c2 --- /dev/null +++ b/package/dns320l-daemon/dns320l-daemon.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# 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 +DNS320l_DAEMON_PATCH = 0001-listen-on-localhost.patch + +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))
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 + .../0001-listen-on-localhost.patch | 21 ++++++++++ package/dns320l-daemon/Config.in | 8 ++++ package/dns320l-daemon/S50dns320l-daemon | 42 +++++++++++++++++++ package/dns320l-daemon/dns320l-daemon.hash | 1 + package/dns320l-daemon/dns320l-daemon.mk | 32 ++++++++++++++ 6 files changed, 105 insertions(+) create mode 100644 package/dns320l-daemon/0001-listen-on-localhost.patch 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