Jason Holtzapple wrote:
> Eric Shubert wrote:
>> Dazed_75 wrote:
>>> RESOLVED !!!
>>>
>>> Ryan had said:
>>>
>>> I found this https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/392826 
>>> via a quick google search so the answer to your question about 
>>> reordering the script doesn't seem like it would work.
>>>
>>> But I had been looking mostly at the discussion of ordering the elements 
>>> in /etc/rc?.d/ which I tried several variations for.  When I re-read it 
>>> and noticed the script attached, it seemed a reasonable work around.
>>>
>>> Jacob Nevins has said:
>>>
>>> I'm also running into this.
>>>
>>> I've bodged around it by putting the attached script in 
>>> /etc/network/if-up.d/dhcp3-server . I don't claim it's the best 
>>> solution, or that it should be included in the package, but it works for 
>>> my situation (where I have a single interface "eth0" explicitly listed 
>>> in /etc/default/dhcp3-server), so it might be a useful workaround for 
>>> others.
>>>
>>> The script was:
>>>
>>> #! /bin/sh
>>> # Kick DHCP server when interface comes up (for Ubuntu, probably Debian too)
>>>
>>> # Workaround for 
>>> <https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/392826>
>>> # Bugs:
>>> #  - Only works when interfaces for dhcpd are explicitly listed.
>>>
>>>
>>> DHCP_IF=/etc/default/dhcp3-server
>>> DHCP_INIT=/etc/init.d/dhcp3-server
>>>
>>> [ -f "$DHCP_IF" -a -f "$DHCP_INIT" ] || exit 0
>>>
>>> . "$DHCP_IF"
>>>
>>> if [ "x$INTERFACES" = x ]; then
>>>
>>>     # Don't know which interfaces it manages, always restart
>>>     restart_dhcp=1
>>> else
>>>     restart_dhcp=0
>>>     for iface in "$INTERFACES"; do
>>>         if [ "$iface" = "$IFACE" ]; then
>>>
>>>             restart_dhcp=1
>>>         fi
>>>     done
>>> fi
>>>
>>> if [ "$restart_dhcp" = "1" ]; then
>>>     "$DHCP_INIT" restart
>>> fi
>>>
>>>
>>> It seemed reasonable to try and it worked.  Now there is no need to 
>>> actually log in and run /etc/init.d/dhcp3-server start in order to get 
>>> the DHCO server running.  Oh, BTW, he was wrong about needing to name 
>>> the interface to use in /etc/default/dhcp3-server.
>>>
>>> -- 
>>> Dazed_75 a.k.a. Larry
>>>
>>> The spirit of resistance to government is so valuable on certain 
>>> occasions, that I wish it always to be kept alive.
>>>  - Thomas Jefferson
>>>
>>>
>> While that script appears to work, I don't believe it will work as 
>> intended. Long story short, [ "" = "" ] is always true, as = is 
>> assignment. The tests should be [ "" == "" ] . Substitute appropriately, 
>> and the rest appears ok.
>>
> 
> '=' is a Bourne shell(slash)/usr/bin/test-ism that should still work
> fine in bash. I hope so ... or bash risks breaking a lot of old shell
> code out there.
> 
> --Jason

That appears to be right. I don't honestly remember how I picked up that 
tidbit. I've always used == for equality tests as long as I can remember.

I did a quick "[ x$VAR = x ]" test before sending it off, but of course 
$VAR was null so it returned true. Need to test a little more thoroughly.

Sorry about that.

-- 
-Eric 'shubes'

_______________________________________________
PLUG-applications mailing list
[email protected]
http://lists.plug.phoenix.az.us/cgi-bin/mailman/listinfo/plug-applications

Reminder: All replies will go back to this mailing list. If you wish to send a 
reply to a specific person, please use the reply function and change the 
&quot;To:&quot; address to that person before sending.

Reply via email to