xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-networking/recipes-daemons/tftp-hpa/files/init (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#! /bin/sh
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Author:	Jaakko Niemi <liiwi@iki.fi>
4*4882a593Smuzhiyun# Modified from skeleton file in sarge
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun### BEGIN INIT INFO
7*4882a593Smuzhiyun# Provides:          tftp-hpa
8*4882a593Smuzhiyun# Required-Start:    $local_fs $remote_fs $syslog $network
9*4882a593Smuzhiyun# Required-Stop:     $local_fs $remote_fs $syslog $network
10*4882a593Smuzhiyun# Default-Start:     2 3 4 5
11*4882a593Smuzhiyun# Default-Stop:      1
12*4882a593Smuzhiyun# Short-Description: HPA's tftp client
13*4882a593Smuzhiyun# Description:       tftp server to allow booting clients which support
14*4882a593Smuzhiyun#                    the PXE protocol.
15*4882a593Smuzhiyun### END INIT INFO
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunset -e
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
20*4882a593SmuzhiyunDESC="HPA's tftpd"
21*4882a593SmuzhiyunNAME=in.tftpd-hpa
22*4882a593SmuzhiyunSCRIPTNAME=/etc/init.d/tftpd-hpa
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun# Read config file if it is present.
25*4882a593Smuzhiyunif [ -r /etc/default/tftpd-hpa ]
26*4882a593Smuzhiyunthen
27*4882a593Smuzhiyun	. /etc/default/tftpd-hpa
28*4882a593Smuzhiyunfi
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunDAEMON=/usr/sbin/$NAME
31*4882a593SmuzhiyunPIDFILE=/var/run/$NAME.pid
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun# Gracefully exit if the package has been removed.
34*4882a593Smuzhiyuntest -x $DAEMON || exit 0
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunif [ "$RUN_DAEMON" != "yes" ] ; then
37*4882a593Smuzhiyun         echo "tftpd-hpa disabled in /etc/default/tftpd-hpa"
38*4882a593Smuzhiyun	 exit 0
39*4882a593Smuzhiyunfi
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun#
42*4882a593Smuzhiyun#	Function that starts the daemon/service.
43*4882a593Smuzhiyun#
44*4882a593Smuzhiyund_start() {
45*4882a593Smuzhiyun	start-stop-daemon --start --quiet --exec $DAEMON -- $OPTIONS
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun#
49*4882a593Smuzhiyun#	Function that stops the daemon/service.
50*4882a593Smuzhiyun#
51*4882a593Smuzhiyund_stop() {
52*4882a593Smuzhiyun	start-stop-daemon --stop --quiet --name $NAME
53*4882a593Smuzhiyun}
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun#
56*4882a593Smuzhiyun#	Function that sends a SIGHUP to the daemon/service.
57*4882a593Smuzhiyun#
58*4882a593Smuzhiyund_reload() {
59*4882a593Smuzhiyun	start-stop-daemon --stop --quiet --name $NAME --signal 1
60*4882a593Smuzhiyun}
61*4882a593Smuzhiyun
62*4882a593Smuzhiyuncase "$1" in
63*4882a593Smuzhiyun  start)
64*4882a593Smuzhiyun	echo  "Starting $DESC: $NAME"
65*4882a593Smuzhiyun	d_start
66*4882a593Smuzhiyun	echo "."
67*4882a593Smuzhiyun	;;
68*4882a593Smuzhiyun  stop)
69*4882a593Smuzhiyun	echo  "Stopping $DESC: $NAME"
70*4882a593Smuzhiyun	d_stop
71*4882a593Smuzhiyun	echo "."
72*4882a593Smuzhiyun	;;
73*4882a593Smuzhiyun  #reload)
74*4882a593Smuzhiyun	#
75*4882a593Smuzhiyun	#	If the daemon can reload its configuration without
76*4882a593Smuzhiyun	#	restarting (for example, when it is sent a SIGHUP),
77*4882a593Smuzhiyun	#	then implement that here.
78*4882a593Smuzhiyun	#
79*4882a593Smuzhiyun	#	If the daemon responds to changes in its config file
80*4882a593Smuzhiyun	#	directly anyway, make this an "exit 0".
81*4882a593Smuzhiyun	#
82*4882a593Smuzhiyun	# echo -n "Reloading $DESC configuration..."
83*4882a593Smuzhiyun	# d_reload
84*4882a593Smuzhiyun	# echo "done."
85*4882a593Smuzhiyun  #;;
86*4882a593Smuzhiyun  restart|force-reload)
87*4882a593Smuzhiyun	#
88*4882a593Smuzhiyun	#	If the "reload" option is implemented, move the "force-reload"
89*4882a593Smuzhiyun	#	option to the "reload" entry above. If not, "force-reload" is
90*4882a593Smuzhiyun	#	just the same as "restart".
91*4882a593Smuzhiyun	#
92*4882a593Smuzhiyun	echo "Restarting $DESC: $NAME"
93*4882a593Smuzhiyun	d_stop
94*4882a593Smuzhiyun	sleep 1
95*4882a593Smuzhiyun	d_start
96*4882a593Smuzhiyun	echo "."
97*4882a593Smuzhiyun	;;
98*4882a593Smuzhiyun  *)
99*4882a593Smuzhiyun	# echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
100*4882a593Smuzhiyun	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
101*4882a593Smuzhiyun	exit 1
102*4882a593Smuzhiyun	;;
103*4882a593Smuzhiyunesac
104*4882a593Smuzhiyun
105*4882a593Smuzhiyunexit 0
106