xref: /OK3568_Linux_fs/buildroot/package/mender/S42mender (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Starts mender service.
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunstart() {
7*4882a593Smuzhiyun	# If /var/lib/mender is a symlink to /var/run/mender, and
8*4882a593Smuzhiyun	#   - the filesystem is RO (i.e. we can not rm the symlink),
9*4882a593Smuzhiyun	#     create the directory pointed to by the symlink.
10*4882a593Smuzhiyun	#   - the filesystem is RW (i.e. we can rm the symlink),
11*4882a593Smuzhiyun	#     replace the symlink with an actual directory
12*4882a593Smuzhiyun	if [ -L /var/lib/mender \
13*4882a593Smuzhiyun	     -a "$(readlink /var/lib/mender)" = "/var/run/mender" ]
14*4882a593Smuzhiyun	then
15*4882a593Smuzhiyun		if rm -f /var/lib/mender >/dev/null 2>&1; then
16*4882a593Smuzhiyun			mkdir -p /var/lib/mender
17*4882a593Smuzhiyun		else
18*4882a593Smuzhiyun			echo "No persistent location to store mender data. Data will be lost"
19*4882a593Smuzhiyun			echo "at reboot. Are you sure this is what you want to do?"
20*4882a593Smuzhiyun			mkdir -p "$(readlink /var/lib/mender)"
21*4882a593Smuzhiyun		fi
22*4882a593Smuzhiyun	fi
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	printf "Starting mender service: "
25*4882a593Smuzhiyun	umask 077
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	start-stop-daemon -S -q -b -m -p /var/run/mender.pid \
28*4882a593Smuzhiyun		--exec /usr/bin/mender -- -daemon
29*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
30*4882a593Smuzhiyun}
31*4882a593Smuzhiyunstop() {
32*4882a593Smuzhiyun	printf "Stopping mender service: "
33*4882a593Smuzhiyun	start-stop-daemon -K -q -p /var/run/mender.pid
34*4882a593Smuzhiyun	[ $? = 0 ] && echo "OK" || echo "FAIL"
35*4882a593Smuzhiyun}
36*4882a593Smuzhiyunrestart() {
37*4882a593Smuzhiyun	stop
38*4882a593Smuzhiyun	start
39*4882a593Smuzhiyun}
40*4882a593Smuzhiyun
41*4882a593Smuzhiyuncase "$1" in
42*4882a593Smuzhiyun	start)
43*4882a593Smuzhiyun		start
44*4882a593Smuzhiyun		;;
45*4882a593Smuzhiyun	stop)
46*4882a593Smuzhiyun		stop
47*4882a593Smuzhiyun		;;
48*4882a593Smuzhiyun	restart|reload)
49*4882a593Smuzhiyun		restart
50*4882a593Smuzhiyun		;;
51*4882a593Smuzhiyun	*)
52*4882a593Smuzhiyun		echo "Usage: $0 {start|stop|restart}"
53*4882a593Smuzhiyun		exit 1
54*4882a593Smuzhiyunesac
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunexit $?
57