umip: add systemd and sysvinit support

Add systemd service and and sysvinit script
so it's easy to manage the mip6d daemon.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Jackie Huang
2017-06-02 16:04:57 +08:00
committed by Martin Jansa
parent b58c258b6e
commit cb375270e8
3 changed files with 139 additions and 1 deletions
+112
View File
@@ -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 $?
@@ -0,0 +1,10 @@
[Unit]
Description=MIPL Mobile IPv6
After=network.target
[Service]
EnvironmentFile=-@SYSCONFDIR@/sysconfig/mip6d
ExecStart=@SBINDIR@/mip6d $ARGS
[Install]
WantedBy=multi-user.target
+17 -1
View File
@@ -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,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
${D}${systemd_system_unitdir}/mip6d.service
}