busybox: use a single udhcpc script, with or without avahi-autoipd
authorPeter Korsgaard <jacmet@sunsite.dk>
Wed, 26 Jun 2013 12:22:13 +0000 (14:22 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Wed, 26 Jun 2013 12:22:13 +0000 (14:22 +0200)
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>
package/avahi/avahi.mk
package/avahi/busybox-udhcpc-default.script [deleted file]
package/busybox/udhcpc.script

index 89dfc33db702d6c7c18b5dac0f8074e7d793c64a..028f3aeee409ccddf0cd2cbe302419d653caa3f6 100644 (file)
@@ -147,8 +147,6 @@ endef
 AVAHI_POST_INSTALL_TARGET_HOOKS += AVAHI_REMOVE_INITSCRIPT
 
 define AVAHI_INSTALL_AUTOIPD
-       rm -rf $(TARGET_DIR)/etc/dhcp3/
-       $(INSTALL) -D -m 0755 package/avahi/busybox-udhcpc-default.script $(TARGET_DIR)/usr/share/udhcpc/default.script
        $(INSTALL) -m 0755 package/avahi/S05avahi-setup.sh $(TARGET_DIR)/etc/init.d/
        rm -f $(TARGET_DIR)/var/lib/avahi-autoipd
        $(INSTALL) -d -m 0755 $(TARGET_DIR)/var/lib
diff --git a/package/avahi/busybox-udhcpc-default.script b/package/avahi/busybox-udhcpc-default.script
deleted file mode 100755 (executable)
index 0bb3dea..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/sh
-
-# udhcpc script edited by Tim Riker <Tim@Rikers.org>
-
-[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
-
-RESOLV_CONF="/etc/resolv.conf"
-[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
-[ -n "$subnet" ] && NETMASK="netmask $subnet"
-
-case "$1" in
-       deconfig)
-               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
-                       echo "deleting routers"
-                       while route del default gw 0.0.0.0 dev $interface ; do
-                               :
-                       done
-
-                       for i in $router ; do
-                               route add default gw $i dev $interface
-                       done
-               fi
-
-               echo -n > $RESOLV_CONF
-               [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
-               for i in $dns ; do
-                       echo adding dns $i
-                       echo nameserver $i >> $RESOLV_CONF
-               done
-               ;;
-esac
-
-exit 0
index a52a7f8122c8c7e2c12c03a0d6f19791f908113b..0bb3dea03c78fe9b51e7c37fcf8381ac91ae4c6c 100755 (executable)
@@ -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