Eric Shubert wrote: > 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. > FWIW, from the man bash page: string1 == string2 True if the strings are equal. = may be used in place of == for strict POSIX compliance.
I wonder, is strict POSIX compliance a good or bad thing, and why? -- -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 "To:" address to that person before sending.
