70 lines
1.7 KiB
Bash
Executable File
70 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Begin services/dhcpcd
|
|
|
|
# Origianlly dased upon lfs-bootscripts-1.12 $NETWORK_DEVICES/if{down,up}
|
|
# Rewritten by Nathan Coulson <nathan@linuxfromscratch.org>
|
|
# Adapted for dhcpcd by DJ Lucas <dj@linuxfromscratch.org>
|
|
# Update for LFS 7.0 by Bruce Dubbs <bdubbs@linuxfromscratch,org>
|
|
|
|
# Call with: IFCONFIG=<filename> /lib/services/dhcpcd <IFACE> <up | down>
|
|
|
|
#$LastChangedBy: bdubbs $
|
|
#$Date: 2012-04-09 19:48:51 +0000 (Mon, 09 Apr 2012) $
|
|
|
|
. /lib/lsb/init-functions
|
|
. $IFCONFIG
|
|
|
|
pidfile="/var/run/dhcpcd-$1.pid"
|
|
|
|
case "$2" in
|
|
up)
|
|
# Cosmetic output not needed for multiple services
|
|
if ! $(echo ${SERVICE} | grep -q " "); then
|
|
log_info_msg2 "\n" # Terminate the previous message
|
|
fi
|
|
|
|
log_info_msg "Starting dhcpcd on the $1 interface..."
|
|
|
|
# Test to see if there is a stale pid file
|
|
if [ -f "$pidfile" ]; then
|
|
ps `cat "$pidfile"` | grep dhcpcd > /dev/null
|
|
|
|
if [ $? != 0 ]; then
|
|
rm -f /var/run/dhcpcd-$1.pid > /dev/null
|
|
|
|
else
|
|
log_warning_msg "dhcpcd is already running!"
|
|
exit 2
|
|
fi
|
|
fi
|
|
|
|
/sbin/dhcpcd $1 $DHCP_START
|
|
evaluate_retval
|
|
;;
|
|
|
|
down)
|
|
log_info_msg "Stopping dhcpcd on the $1 interface..."
|
|
|
|
if [ -z "$DHCP_STOP" ]; then
|
|
killproc -p "${pidfile}" /sbin/dhcpcd
|
|
|
|
else
|
|
/sbin/dhcpcd $1 $DHCP_STOP &> /dev/null
|
|
|
|
if [ "$?" -eq 1 ]; then
|
|
log_warning_msg "dhcpcd not running!"
|
|
exit 2
|
|
fi
|
|
fi
|
|
|
|
evaluate_retval
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $0 [interface] {up|down}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# End services/dhcpcd
|