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