Skip to contentSkip to conversation

minidlna: add init script for sysv and systemd

PATCH New Aurélien Chabot 2 participants 4 messages Feb 23, 2015 – Mar 8, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 minidlna: add init script for sysv and systemd

---
 package/minidlna/S60minidlnad      | 38 ++++++++++++++++++++++++++++++++++++++
 package/minidlna/minidlna.mk       | 15 +++++++++++++++
 package/minidlna/minidlnad.service | 11 +++++++++++
 3 files changed, 64 insertions(+)
 create mode 100644 package/minidlna/S60minidlnad
 create mode 100644 package/minidlna/minidlnad.service
package/minidlna/S60minidlnad new file +38 -0
new file mode 100644
index 0000000..0cb8ea6
@@ -0,0 +1,38 @@
+#!/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
+	start
+}
+
+case "$1" in
+  start)
+	start
+	;;
+  stop)
+	stop
+	;;
+  restart|reload)
+	restart
+	;;
+  *)
+	echo "Usage: $0 {start|stop|restart}"
+	exit 1
+esac
+
+exit $?
package/minidlna/minidlna.mk +15 -0
index bcbe5fa..1ff76e3 100644
@@ -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))
package/minidlna/minidlnad.service new file +11 -0
new file mode 100644
index 0000000..f69476b
@@ -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
Signature · 1 line
2.3.0
#1 lore raw

PATCH 2/2 minidlna: install the config file on the target

---
 package/minidlna/minidlna.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/minidlna/minidlna.mk +6 -0
index 1ff76e3..7adb832 100644
@@ -24,6 +24,12 @@ MINIDLNA_CONF_OPTS = \
 	--disable-static
 endif
 
+define MINIDLNA_INSTALL_CONF
+	$(INSTALL) -D -m 644 $(@D)/minidlna.conf $(TARGET_DIR)/etc/minidlna.conf
+endef
+
+MINIDLNA_POST_INSTALL_TARGET_HOOKS += MINIDLNA_INSTALL_CONF
+
 define MINIDLNA_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/minidlna/S60minidlnad \
 		$(TARGET_DIR)/etc/init.d/S60minidlnad
Signature · 1 line
2.3.0
#2 lore raw

PATCH 2/2 minidlna: install the config file on the target

Dear Aur?lien Chabot,

Quoted 4 lines · Aur?lien Chabot
---
 package/minidlna/minidlna.mk | 6 ++++++
 1 file changed, 6 insertions(+)

Applied, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/2 minidlna: add init script for sysv and systemd

In reply to Aurélien Chabot

Dear Aur?lien Chabot,

package/minidlna/S60minidlnad line 21

Quoted 4 lines · Aur?lien Chabot
package/minidlna/S60minidlnad new file +4 -0
+restart() {
+	stop
+	start
+}

I had to add a "sleep 1" in-between here, otherwise minidlnad doesn't restart properly. If you find a better solution, let me know.

Otherwise, patch applied, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com