aboutsummaryrefslogtreecommitdiffstats
path: root/package/busybox
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2013-06-26 14:22:13 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2013-06-26 14:22:13 +0200
commit0c229f70ea270069e981bfb59e3aea80b21bbcfb (patch)
treecbdd883736cf81ce674f450712d5d863ec5f0dc0 /package/busybox
parentdc6d9070b2141afc057ef92253cfbd8199876527 (diff)
downloadbuildroot-novena-0c229f70ea270069e981bfb59e3aea80b21bbcfb.tar.gz
buildroot-novena-0c229f70ea270069e981bfb59e3aea80b21bbcfb.zip
busybox: use a single udhcpc script, with or without avahi-autoipd
We're currently using two different udhcpc scripts, one in the busybox package and another in the avahi one, which calls avahi-autoipd on dhcp failures. The avahi one actually only does something differently from the default if avahi-autoipd is available, so let's just always use this one instead of the complicated logic about writing the file if not present / overwriting it afterwards. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/busybox')
-rwxr-xr-xpackage/busybox/udhcpc.script21
1 files changed, 20 insertions, 1 deletions
diff --git a/package/busybox/udhcpc.script b/package/busybox/udhcpc.script
index a52a7f812..0bb3dea03 100755
--- a/package/busybox/udhcpc.script
+++ b/package/busybox/udhcpc.script
@@ -10,10 +10,29 @@ RESOLV_CONF="/etc/resolv.conf"
case "$1" in
deconfig)
- /sbin/ifconfig $interface 0.0.0.0
+ grep -q -v ip= /proc/cmdline
+ if [ $? -eq 0 ]; then
+ /sbin/ifconfig $interface up
+ fi
+ grep -q -v nfsroot= /proc/cmdline
+ if [ $? -eq 0 ]; then
+ /sbin/ifconfig $interface 0.0.0.0
+ fi
+ if [ -x /usr/sbin/avahi-autoipd ]; then
+ /usr/sbin/avahi-autoipd -k $interface
+ fi
+ ;;
+
+ leasefail|nak)
+ if [ -x /usr/sbin/avahi-autoipd ]; then
+ /usr/sbin/avahi-autoipd -wD $interface --no-chroot
+ fi
;;
renew|bound)
+ if [ -x /usr/sbin/avahi-autoipd ]; then
+ /usr/sbin/avahi-autoipd -k $interface
+ fi
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$router" ] ; then