[Buildroot] [PATCH v3 2/3] package/dns320l-daemon: new package
Giulio Benetti
giulio.benetti at benettiengineering.com
Mon Feb 5 11:47:20 UTC 2024
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 at 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 at 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 at 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
--
Giulio Benetti
CEO&CTO at Benetti Engineering sas
> +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))
More information about the buildroot
mailing list