[oe] [meta-oe][PATCH 2/3] umip: add systemd and sysvinit support
jackie.huang at windriver.com
jackie.huang at windriver.com
Fri Jun 2 08:04:57 UTC 2017
From: Jackie Huang <jackie.huang at windriver.com>
Add systemd service and and sysvinit script
so it's easy to manage the mip6d daemon.
Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
---
meta-oe/recipes-connectivity/umip/files/mip6d | 112 +++++++++++++++++++++
.../recipes-connectivity/umip/files/mip6d.service | 10 ++
meta-oe/recipes-connectivity/umip/umip_1.0.bb | 18 +++-
3 files changed, 139 insertions(+), 1 deletion(-)
create mode 100755 meta-oe/recipes-connectivity/umip/files/mip6d
create mode 100644 meta-oe/recipes-connectivity/umip/files/mip6d.service
diff --git a/meta-oe/recipes-connectivity/umip/files/mip6d b/meta-oe/recipes-connectivity/umip/files/mip6d
new file mode 100755
index 000000000..ebd70a6cc
--- /dev/null
+++ b/meta-oe/recipes-connectivity/umip/files/mip6d
@@ -0,0 +1,112 @@
+#!/bin/sh
+#
+# mip6d Start script for the Mobile IPv6 daemon
+#
+# chkconfig: - 55 25
+# description: The mobile IPv6 daemon allows nodes to remain \
+# reachable while moving around in the IPv6 Internet.
+# processname: mip6d
+# config: /etc/mip6d.conf
+# config: /etc/sysconfig/mip6d
+#
+### BEGIN INIT INFO
+# Provides: mipv6-daemon
+# Required-Start: $local_fs $remote_fs $network $named
+# Required-Stop: $local_fs $remote_fs $network
+# Should-Start: $syslog
+# Should-Stop: $network $syslog
+# Default-Start:
+# Default-Stop: 0 1 6
+# Short-Description: Start and stop Mobile IPV6 daemon
+# Description: The mobile IPv6 daemon allows nodes to remain
+# reachable while moving around in the IPv6 Internet.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+if [ -f /etc/sysconfig/mip6d ]; then
+ . /etc/sysconfig/mip6d
+fi
+
+mip6d=/usr/sbin/mip6d
+prog="mip6d"
+lockfile=/var/lock/subsys/$prog
+
+start() {
+ [ -x $mip6d ] || exit 5
+ echo -n $"Starting $prog: "
+ start-stop-daemon -S -x ${mip6d} && success || failure
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch ${lockfile}
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ start-stop-daemon -K -x $mip6d
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f ${lockfile}
+ return $retval
+}
+
+restart() {
+ stop
+ start
+}
+
+reload()
+{
+ echo -n $"Reloading $prog configuration: "
+ killproc $mip6d -HUP
+ retval=$?
+ echo
+ return $retval
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ status $prog
+}
+
+rh_status_q() {
+ rh_status > /dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $prog {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+
+exit $?
diff --git a/meta-oe/recipes-connectivity/umip/files/mip6d.service b/meta-oe/recipes-connectivity/umip/files/mip6d.service
new file mode 100644
index 000000000..2b5a5b9f1
--- /dev/null
+++ b/meta-oe/recipes-connectivity/umip/files/mip6d.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=MIPL Mobile IPv6
+After=network.target
+
+[Service]
+EnvironmentFile=- at SYSCONFDIR@/sysconfig/mip6d
+ExecStart=@SBINDIR@/mip6d $ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/umip/umip_1.0.bb b/meta-oe/recipes-connectivity/umip/umip_1.0.bb
index e97dd48f6..b8b90eb81 100644
--- a/meta-oe/recipes-connectivity/umip/umip_1.0.bb
+++ b/meta-oe/recipes-connectivity/umip/umip_1.0.bb
@@ -11,10 +11,26 @@ DEPENDS = "rpm indent-native"
SRC_URI = "git://git.umip.org/umip.git \
file://add-dependency-to-support-parallel-compilation.patch \
+ file://mip6d \
+ file://mip6d.service \
"
SRCREV = "428974c2d0d8e75a2750a3ab0488708c5dfdd8e3"
S = "${WORKDIR}/git"
EXTRA_OE_CONF = "--enable-vt"
-inherit autotools-brokensep
+inherit autotools-brokensep systemd update-rc.d
+
+INITSCRIPT_NAME = "mip6d"
+INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "mip6d.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install_append() {
+ install -D -m 0755 ${WORKDIR}/mip6d ${D}${sysconfdir}/init.d/mip6d
+ install -D -m 0644 ${WORKDIR}/mip6d.service ${D}${systemd_system_unitdir}/mip6d.service
+ sed -i -e 's, at SYSCONFDIR@,${sysconfdir},g' \
+ -e 's, at SBINDIR@,${sbindir},g' \
+ ${D}${systemd_system_unitdir}/mip6d.service
+}
--
2.11.0
More information about the Openembedded-devel
mailing list