DJ Lucas wrote:
> DJ Lucas wrote:
>   
>> David Olsson wrote:
>>   
>>     
>>> This got lost, I think.  So here it is again.
>>>
>>> On my BLFS 6.2 system, the SysVinit script
>>>
>>>     /etc/rc.d/init.d/network stop
>>>
>>> does not kill dhcpcd.  Tracing it to the script
>>>
>>>     /etc/sysconfig/network-devices/services/dhcpcd
>>>
>>> it turns out that if the dhcp lease time is infinite, the script believes 
>>> that dhcpcd exited after startup.  Such is not the case, and I don't see in 
>>> the dhcpcd docs that it should be true.  Is anyone familiar with these 
>>> scripts?  The question is, shall we eliminate the check for infinite lease 
>>> time, and kill the running dhcpcd.
>>>
>>>   
>>>     
>>>       
>> No...have to account for multiple interfaces.  Also, this was the case,
>> it did exit at one time...I verified that it worked when the change was
>> made to the scripts...I almost always use RL1 to test service scripts.
>>   
>>
>>     
> Okay, my fuzzy memory sucks!  The original analysis by David was
> correct.  Please ignore what I wrote about multiple interfaces in my
> previous message.  I was confusing some of the former dhclient problems
> for dhcpcd.  dhcpcd does create multiple instances...so sending TERM is
> fine if DHCP_STOP is null, just set PIDFILE to
> /var/run/dhcpcd-$INTERFACE.pid.  And yes, the check for infinite lease
> should go away since version 3, I guess...no mention of it in the changelog.
>
> -- DJ Lucas
>
>   
David, would you mind trying the patch below?  It's exactly what you had
already mentioned (with the variable names fixed for 3.0.19), so you
probably already have the same or similar.  I don't use the stock
scripts anymore as I've been working on lsb-v3, though the same logic,
mine use different functions so I can't easily test.  Apply with -Np0
instead of -Np1 as you normally would (or manual) and then re-install
the script 'make install-service-dhcpcd'.  This to anybody else who uses
it as well.

Thanks.

-- DJ Lucas

Index: blfs/sysconfig/network-devices/services/dhcpcd
===================================================================
--- blfs/sysconfig/network-devices/services/dhcpcd      (revision 7090)
+++ blfs/sysconfig/network-devices/services/dhcpcd      (working copy)
@@ -46,12 +46,12 @@
                                boot_mesg_flush
                                boot_mesg "           Subnet Mask:    
$NETMASK"
                                boot_mesg_flush
-                               boot_mesg "           Default Gateway:
$GATEWAY"
+                               boot_mesg "           Default Gateway:
$GATEWAYS"
                                boot_mesg_flush
-                               boot_mesg "           DNS Server:      $DNS"
+                               boot_mesg "           DNS Server:     
$DNSSERVERS"
                                boot_mesg_flush
                        else
-                               boot_mesg " IP Addresss: ""$IPADDR"
+                               boot_mesg " IP Addresss: $IPADDR"
                                echo_ok
                        fi
                else
@@ -63,43 +63,23 @@
 
        down)
                boot_mesg -n "Stopping dhcpcd on the $1 interface..."
-               # Do nothing with the client daemon if we have an infinate
-               # lease time as the client exits when started in this case,
-               # just echo OK.
-               if [ -e $LEASEINFO ]
+               if [ -z "$DHCP_STOP" ]
                then
-                       . $LEASEINFO
-
-                       if [ "$LEASETIME" = "4294967295" ]
-                       then
-                               # do nothing, just echo ok
+                       echo ""
+                       killproc -p "$PIDFILE" /sbin/dhcpcd
+               else
+                       /sbin/dhcpcd $1 $DHCP_STOP &> /dev/null
+                       RET="$?"
+                       if [ "$RET" -eq 0 ]; then
                                echo ""
                                echo_ok
+                       elif [ "$RET" -eq 1 ]; then
+                               boot_mesg "dhcpcd not running!" ${WARNING}
+                               echo_warning
                        else
-                       if [ -n "$DHCP_STOP" ]
-                       then
-                               /sbin/dhcpcd $1 $DHCP_STOP &> /dev/null
-                               RET="$?"
-                               if [ "$RET" -eq 0 ]; then
-                                       echo ""
-                                       echo_ok
-                               elif [ "$RET" -eq 1 ]; then
-                                       boot_mesg "dhcpcd not running!"
${WARNING}
-                                       echo_warning
-                               else
-                                       echo ""
-                                       echo_failure
-                               fi
-                       else
                                echo ""
-                               killproc dhcpcd
+                               echo_failure
                        fi
-                   fi
-               else
-                       boot_mesg -n "LEASEINFO Test failed! - " ${WARNING}
-                       boot_mesg "dhcpcd is not running!" ${WARNING}
-                       echo_warning
-                       exit 1
                fi
        ;;
 
===================================================================



-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to