/[pkgs]/devel/dhcp/dhcpd.init
ViewVC logotype

Contents of /devel/dhcp/dhcpd.init

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.31 - (show annotations) (download)
Thu Sep 24 09:29:34 2009 UTC (2 months ago) by jpopelka
Branch: MAIN
CVS Tags: dhcp-4_1_0p1-13_fc13, F-12-split, dhcp-4_1_0p1-12_fc13, dhcp-4_1_0p1-14_fc13, dhcp-4_1_0p1-11_fc12, HEAD
Changes since 1.30: +30 -18 lines
* Thu Sep 24 2009 Jiri Popelka <jpopelka@redhat.com> - 12:4.1.0p1-11
- Make dhcpd and dhcrelay init scripts LSB compliant (#522134, #522146)
1 #!/bin/sh
2 #
3 ### BEGIN INIT INFO
4 # Provides: dhcpd
5 # Default-Start:
6 # Default-Stop:
7 # Should-Start:
8 # Required-Start: $network
9 # Required-Stop:
10 # Short-Description: Start and stop the DHCP server
11 # Description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP)
12 # server.
13 ### END INIT INFO
14 #
15 # The fields below are left around for legacy tools (will remove later).
16 #
17 # chkconfig: - 65 35
18 # description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP) \
19 # server
20 # processname: dhcpd
21 # config: /etc/dhcp/dhcpd.conf
22 # config: /var/lib/dhcpd/dhcpd.leases
23 # pidfile: /var/run/dhcpd.pid
24
25 . /etc/rc.d/init.d/functions
26
27 RETVAL=0
28
29 prog=dhcpd
30 exec=/usr/sbin/dhcpd
31 lockfile=/var/lock/subsys/dhcpd
32 pidfile=/var/run/dhcpd.pid
33 statedir=/var/lib/dhcpd
34
35 [ -f /etc/sysconfig/dhcpd ] && . /etc/sysconfig/dhcpd
36
37 # if the user specified a different config file, make sure we reference it
38 findConfig() {
39 for arg in $DHCPDARGS ; do
40 if [ "$found" = 1 ]; then
41 [ -f "$arg" ] && echo "$arg"
42 return
43 fi
44 if [ "$arg" = "-cf" ]; then
45 found=1
46 continue
47 fi
48 done
49 echo "/etc/dhcp/dhcpd.conf"
50 }
51
52 config="$(findConfig "$DHCPDARGS")"
53
54 if [ ! -f $statedir/dhcpd.leases ] ; then
55 mkdir -p $statedir
56 touch $statedir/dhcpd.leases
57 [ -x /sbin/restorecon ] && [ -d /selinux ] && /sbin/restorecon $statedir/dhcpd.leases >/dev/null 2>&1
58 fi
59
60 configtest() {
61 [ -x $exec ] || return 5
62 [ -f $config ] || return 6
63 $exec -q -t -cf $config
64 RETVAL=$?
65 if [ $RETVAL -eq 1 ]; then
66 $exec -t -cf $config
67 else
68 echo "Syntax: OK" >&2
69 fi
70 return $RETVAL
71 }
72
73 start() {
74 [ `id -u` -eq 0 ] || return 4
75 [ -x $exec ] || return 5
76 [ -f $config ] || return 6
77
78 pidofproc $prog >/dev/null 2>&1
79 RETVAL=$?
80 [ $RETVAL -eq 0 ] && return $RETVAL
81
82 echo -n $"Starting $prog: "
83 daemon $exec $DHCPDARGS 2>/dev/null
84 RETVAL=$?
85 echo
86 [ $RETVAL -eq 0 ] && touch $lockfile
87 return $RETVAL
88 }
89
90 stop() {
91 [ `id -u` -eq 0 ] || return 4
92
93 pidofproc $prog >/dev/null 2>&1
94 if [ $? -ne 0 ]; then
95 RETVAL=0
96 return $RETVAL
97 fi
98
99 echo -n $"Shutting down $prog: "
100 killproc $prog
101 RETVAL=$?
102
103 echo
104 [ $RETVAL -eq 0 ] && rm -f $lockfile
105 return $RETVAL
106 }
107
108 usage() {
109 echo $"Usage: $0 {start|stop|restart|force-reload|condrestart|try-restart|configtest|status}"
110 }
111
112 if [ $# -gt 1 ]; then
113 RETVAL=2
114 exit $RETVAL
115 fi
116
117 case "$1" in
118 start)
119 start
120 RETVAL=$?
121 ;;
122 stop)
123 stop
124 RETVAL=$?
125 ;;
126 restart|force-reload)
127 stop ; start
128 RETVAL=$?
129 ;;
130 condrestart|try-restart)
131 if [ -f $lockfile ]; then
132 stop ; start
133 RETVAL=$?
134 fi
135 ;;
136 reload)
137 usage
138 # unimplemented feature
139 RETVAL=3
140 ;;
141 configtest)
142 configtest
143 RETVAL=$?
144 ;;
145 status)
146 status $exec
147 RETVAL=$?
148 ;;
149 *)
150 usage
151 RETVAL=2
152 ;;
153 esac
154
155 exit $RETVAL

admin@fedoraproject.org
ViewVC Help
Powered by ViewVC 1.1.2