70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|  | #!/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 |