dhcp: adjust initscripts and misc details

Revamp initscripts see bug #3601
* Trim whitespace
* Check for installed binary (dhcp-relay)
* Check for installed config (dhcp-server)
* Check for proper variable setup from the script (both)
* Add "FAIL" message when startup fails (blind OK isn't accurate)
* Add start/stop messages to dhcp-relay

Switch bool to "dhcp (ISC)" to keep in line with package sorting.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Gustavo Zacarias 2013-11-14 09:12:00 -03:00 committed by Peter Korsgaard
parent 25507b2a5a
commit dcefce4cf8
3 changed files with 20 additions and 30 deletions

View File

@ -1,5 +1,5 @@
config BR2_PACKAGE_DHCP config BR2_PACKAGE_DHCP
bool "isc dhcp" bool "dhcp (ISC)"
# fork() # fork()
depends on BR2_USE_MMU depends on BR2_USE_MMU
help help

View File

@ -3,7 +3,6 @@
# $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $ # $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $
# #
# What servers should the DHCP relay forward requests to? # What servers should the DHCP relay forward requests to?
# e.g: SERVERS="192.168.0.1" # e.g: SERVERS="192.168.0.1"
SERVERS="" SERVERS=""
@ -14,31 +13,29 @@ INTERFACES=""
# Additional options that are passed to the DHCP relay daemon? # Additional options that are passed to the DHCP relay daemon?
OPTIONS="" OPTIONS=""
# Sanity checks
test -f /usr/sbin/dhcrelay || exit 0
test -n "$INTERFACES" || exit 0
# It is not safe to start if we don't have a default configuration... test -n "$SERVERS" || exit 0
echo "/etc/init.d/dhcp-relay not yet configured! - Aborting..."
exit 1;
# Build command line for interfaces (will be passed to dhrelay below.) # Build command line for interfaces (will be passed to dhrelay below.)
IFCMD="" IFCMD=""
if test "$INTERFACES" != ""; then for I in $INTERFACES; do
for I in $INTERFACES; do IFCMD=${IFCMD}"-i "${I}" "
IFCMD=${IFCMD}"-i "${I}" " done
done
fi
DHCRELAYPID=/var/run/dhcrelay.pid DHCRELAYPID=/var/run/dhcrelay.pid
case "$1" in case "$1" in
start) start)
echo -n "Starting DHCP relay: "
start-stop-daemon -S -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS start-stop-daemon -S -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS
[ $? == 0 ] && echo "OK" || echo "FAIL"
;; ;;
stop) stop)
echo -n "Stopping DHCP relay: "
start-stop-daemon -K -x /usr/sbin/dhcrelay start-stop-daemon -K -x /usr/sbin/dhcrelay
[ $? == 0 ] && echo "OK" || echo "FAIL"
;; ;;
restart | force-reload) restart | force-reload)
$0 stop $0 stop
@ -47,7 +44,7 @@ case "$1" in
;; ;;
*) *)
echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart|force-reload}" echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart|force-reload}"
exit 1 exit 1
esac esac
exit 0 exit 0

View File

@ -3,34 +3,27 @@
# $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $ # $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $
# #
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1". # Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="" INTERFACES=""
# Sanity checks
# It is not safe to start if we don't have a default configuration...
echo "/etc/init.d/dhcp-server not yet configured! - Aborting..."
exit 1;
test -f /usr/sbin/dhcpd || exit 0 test -f /usr/sbin/dhcpd || exit 0
test -f /etc/dhcpd.conf || exit 0
test -n "$INTERFACES" || exit 0
case "$1" in case "$1" in
start) start)
echo -n "Starting DHCP server: " echo -n "Starting DHCP server: "
test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/ test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/
test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases
start-stop-daemon -S -x /usr/sbin/dhcpd -- -q $INTERFACES start-stop-daemon -S -x /usr/sbin/dhcpd -- -q $INTERFACES
echo "." [ $? == 0 ] && echo "OK" || echo "FAIL"
;; ;;
stop) stop)
echo -n "Stopping DHCP server: dhcpd3" echo -n "Stopping DHCP server: dhcpd3"
start-stop-daemon -K -x /usr/sbin/dhcpd start-stop-daemon -K -x /usr/sbin/dhcpd
echo "." [ $? == 0 ] && echo "OK" || echo "FAIL"
;; ;;
restart | force-reload) restart | force-reload)
$0 stop $0 stop
@ -42,7 +35,7 @@ case "$1" in
;; ;;
*) *)
echo "Usage: /etc/init.d/dhcp-server {start|stop|restart|force-reload}" echo "Usage: /etc/init.d/dhcp-server {start|stop|restart|force-reload}"
exit 1 exit 1
esac esac
exit 0 exit 0