[Buildroot] [git commit] package/mrp: add init script and systemd unit file

Thomas Petazzoni thomas.petazzoni at bootlin.com
Thu Oct 15 21:40:43 UTC 2020


commit: https://git.buildroot.net/buildroot/commit/?id=72de9713f9d0fa37fdf32ac66abe8cf889dfa255
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Add init script and systemd unit for MRP because it is using a daemon.

Signed-off-by: Horatiu Vultur <horatiu.vultur at microchip.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
 package/mrp/S65mrp      | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
 package/mrp/mrp.mk      | 10 +++++++++
 package/mrp/mrp.service | 10 +++++++++
 3 files changed, 75 insertions(+)

diff --git a/package/mrp/S65mrp b/package/mrp/S65mrp
new file mode 100644
index 0000000000..0ce1f80f81
--- /dev/null
+++ b/package/mrp/S65mrp
@@ -0,0 +1,55 @@
+#!/bin/sh
+#
+# Start mrp
+#
+
+DAEMON="mrp_server"
+
+PIDFILE="/var/run/$DAEMON.pid"
+
+# shellcheck source=/dev/null
+[ -r "/etc/default/mrp_server" ] && . "/etc/default/mrp_server"
+
+start() {
+	printf "Starting mrp daemon: "
+	start-stop-daemon -S -b -q -m -p $PIDFILE \
+		-x /usr/bin/$DAEMON
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return $status
+}
+
+stop() {
+	printf "Stopping mrp daemon: "
+	start-stop-daemon -K -q -p $PIDFILE
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		rm -f "$PIDFILE"
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return $status
+}
+
+case "$1" in
+  start)
+	start
+	;;
+  stop)
+	stop
+	;;
+  restart|reload)
+	stop
+	start
+	;;
+  *)
+	echo "Usage: $0 {start|stop|restart}"
+	exit 1
+esac
+
+exit $?
diff --git a/package/mrp/mrp.mk b/package/mrp/mrp.mk
index 4d8a1fc92a..7e31e442ce 100644
--- a/package/mrp/mrp.mk
+++ b/package/mrp/mrp.mk
@@ -10,4 +10,14 @@ MRP_DEPENDENCIES = libev libmnl libnl
 MRP_LICENSE = GPL-2.0
 MRP_LICENSE_FILES = LICENSE
 
+define MRP_INSTALL_INIT_SYSV
+	$(INSTALL) -m 755 -D $(MRP_PKGDIR)/S65mrp \
+		$(TARGET_DIR)/etc/init.d/S65mrp
+endef
+
+define MRP_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 644 $(MRP_PKGDIR)/mrp.service \
+		$(TARGET_DIR)/usr/lib/systemd/system/mrp.service
+endef
+
 $(eval $(cmake-package))
diff --git a/package/mrp/mrp.service b/package/mrp/mrp.service
new file mode 100644
index 0000000000..05006a70aa
--- /dev/null
+++ b/package/mrp/mrp.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Media Redundancy Protocol
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/mrp
+Restart=always
+
+[Install]
+WantedBy=multi-user.target


More information about the buildroot mailing list