From 84b13410b9a9c0582e8acab02316ec1bb07d8f10 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aur=C3=A9lien=20Chabot?= Date: Tue, 24 Feb 2015 00:39:22 +0100 Subject: [PATCH] minidlna: add init script for sysv and systemd MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit [Thomas: add a sleep 1 between stop and start, otherwise minidlnad does not restart properly.] Signed-off-by: Aurélien Chabot Signed-off-by: Thomas Petazzoni --- package/minidlna/S60minidlnad | 40 ++++++++++++++++++++++++++++++ package/minidlna/minidlna.mk | 15 +++++++++++ package/minidlna/minidlnad.service | 11 ++++++++ 3 files changed, 66 insertions(+) create mode 100644 package/minidlna/S60minidlnad create mode 100644 package/minidlna/minidlnad.service diff --git a/package/minidlna/S60minidlnad b/package/minidlna/S60minidlnad new file mode 100644 index 0000000000..f99999a32e --- /dev/null +++ b/package/minidlna/S60minidlnad @@ -0,0 +1,40 @@ +#!/bin/sh +# +# minidlnad Starts minidlnad. +# + +start() { + echo -n "Starting minidlna: " + umask 077 + start-stop-daemon -S -q -p /var/run/minidlna/minidlna.pid \ + --exec /usr/sbin/minidlnad + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + echo -n "Stopping minidlna: " + start-stop-daemon -K -q -p /var/run/minidlna/minidlna.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + # Sleep needed for minidlna to restart properly + sleep 1 + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk index bcbe5fa215..1ff76e3945 100644 --- a/package/minidlna/minidlna.mk +++ b/package/minidlna/minidlna.mk @@ -24,4 +24,19 @@ MINIDLNA_CONF_OPTS = \ --disable-static endif +define MINIDLNA_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/minidlna/S60minidlnad \ + $(TARGET_DIR)/etc/init.d/S60minidlnad +endef + +define MINIDLNA_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0755 package/minidlna/minidlnad.service \ + $(TARGET_DIR)/lib/systemd/system/minidlnad.service + + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + + ln -fs ../minidlnad.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/minidlnad.service +endef + $(eval $(autotools-package)) diff --git a/package/minidlna/minidlnad.service b/package/minidlna/minidlnad.service new file mode 100644 index 0000000000..f69476b303 --- /dev/null +++ b/package/minidlna/minidlnad.service @@ -0,0 +1,11 @@ +[Unit] +Description=minidlna server +After=network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/minidlnad +PIDFile=/var/run/minidlna/minidlna.pid + +[Install] +WantedBy=multi-user.target -- 2.30.2