diff options
author | Aurélien Chabot <aurelien@chabot.fr> | 2015-02-24 00:39:22 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-03-08 14:32:31 +0100 |
commit | 84b13410b9a9c0582e8acab02316ec1bb07d8f10 (patch) | |
tree | adfa4ba776b4f0fb466729120f60cd66838b57f3 | |
parent | 7d2ba7116ea030214d53dabd3ee62821fe246ea3 (diff) | |
download | buildroot-84b13410b9a9c0582e8acab02316ec1bb07d8f10.tar.gz buildroot-84b13410b9a9c0582e8acab02316ec1bb07d8f10.zip |
minidlna: add init script for sysv and systemd
[Thomas: add a sleep 1 between stop and start, otherwise minidlnad
does not restart properly.]
Signed-off-by: Aurélien Chabot <aurelien@chabot.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | package/minidlna/S60minidlnad | 40 | ||||
-rw-r--r-- | package/minidlna/minidlna.mk | 15 | ||||
-rw-r--r-- | package/minidlna/minidlnad.service | 11 |
3 files changed, 66 insertions, 0 deletions
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 |