* add a default file for udhcpc which is sourced
  in simple.script
* add a configuration option to the default file
  and simple.script for enable/disable the
  modification of /etc/resolv.conf
* the default behavior was not changed

This work was sponsored by sysmocom GmbH

Signed-off-by: Henning Heinold <henn...@itconsulting-heinold.de>
---
 meta/recipes-core/busybox/busybox.inc          |  4 +++-
 meta/recipes-core/busybox/busybox_1.23.2.bb    |  1 +
 meta/recipes-core/busybox/busybox_git.bb       |  1 +
 meta/recipes-core/busybox/files/simple.script  | 28 +++++++++++++++-----------
 meta/recipes-core/busybox/files/udhcpc.default |  2 ++
 5 files changed, 23 insertions(+), 13 deletions(-)
 create mode 100644 meta/recipes-core/busybox/files/udhcpc.default

diff --git a/meta/recipes-core/busybox/busybox.inc 
b/meta/recipes-core/busybox/busybox.inc
index ed8f9fe..71605be 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -25,7 +25,7 @@ FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd 
/srv/www"
 FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* 
${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* 
${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog"
 FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf 
${sysconfdir}/mdev/*"
 FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
-FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
+FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc 
${datadir}/default/udhcpc"
 FILES_${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh"
 
 INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev 
${PN}-hwclock"
@@ -259,8 +259,10 @@ do_install () {
        if grep "CONFIG_UDHCPC=y" ${B}/.config; then
                install -d ${D}${sysconfdir}/udhcpc.d
                install -d ${D}${datadir}/udhcpc
+               install -d ${D}${sysconfdir}/default
                 install -m 0755 ${WORKDIR}/simple.script 
${D}${sysconfdir}/udhcpc.d/50default
                install -m 0755 ${WORKDIR}/default.script 
${D}${datadir}/udhcpc/default.script
+               install -m 0644 ${WORKDIR}/udhcpc.default 
${D}${sysconfdir}/default/udhcpc
        fi
        if grep "CONFIG_INETD=y" ${B}/.config; then
                install -m 0755 ${WORKDIR}/inetd 
${D}${sysconfdir}/init.d/inetd.${BPN}
diff --git a/meta/recipes-core/busybox/busybox_1.23.2.bb 
b/meta/recipes-core/busybox/busybox_1.23.2.bb
index 8a4bae6..b904cf7 100644
--- a/meta/recipes-core/busybox/busybox_1.23.2.bb
+++ b/meta/recipes-core/busybox/busybox_1.23.2.bb
@@ -10,6 +10,7 @@ SRC_URI = 
"http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://busybox-udhcpd \
            file://default.script \
            file://simple.script \
+           file://udhcpc.default \
            file://hwclock.sh \
            file://mount.busybox \
            file://syslog \
diff --git a/meta/recipes-core/busybox/busybox_git.bb 
b/meta/recipes-core/busybox/busybox_git.bb
index ade72f4..4c04557 100644
--- a/meta/recipes-core/busybox/busybox_git.bb
+++ b/meta/recipes-core/busybox/busybox_git.bb
@@ -16,6 +16,7 @@ SRC_URI = "git://busybox.net/busybox.git \
            file://busybox-udhcpd \
            file://default.script \
            file://simple.script \
+           file://udhcpc.default \
            file://hwclock.sh \
            file://mount.busybox \
            file://syslog \
diff --git a/meta/recipes-core/busybox/files/simple.script 
b/meta/recipes-core/busybox/files/simple.script
index 22168b0..216a56f 100644
--- a/meta/recipes-core/busybox/files/simple.script
+++ b/meta/recipes-core/busybox/files/simple.script
@@ -4,6 +4,8 @@
 
 [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
 
+[ -r /etc/default/udhcpc ] && . /etc/default/udhcpc
+
 RESOLV_CONF="/etc/resolv.conf"
 [ -n "$subnet" ] && NETMASK="netmask $subnet"
 
@@ -67,22 +69,24 @@ case "$1" in
                        done
                fi
 
-               # Update resolver configuration file
-               R=""
-               [ -n "$domain" ] && R="domain $domain
+               if [ "$STATIC_DNS" != "yes" ]; then
+                       # Update resolver configuration file
+                       R=""
+                       [ -n "$domain" ] && R="domain $domain
 "
-               for i in $dns; do
-                       echo "$0: Adding DNS $i"
-                       R="${R}nameserver $i
+                       for i in $dns; do
+                               echo "$0: Adding DNS $i"
+                               R="${R}nameserver $i
 "
-               done
+                       done
 
-               if [ -x /sbin/resolvconf ]; then
-                       echo -n "$R" | /sbin/resolvconf -a "${interface}.udhcpc"
-               else
-                       echo -n "$R" > "$RESOLV_CONF"
+                       if [ -x /sbin/resolvconf ]; then
+                               echo -n "$R" | /sbin/resolvconf -a 
"${interface}.udhcpc"
+                       else
+                               echo -n "$R" > "$RESOLV_CONF"
+                       fi
+                       ;;
                fi
-               ;;
 esac
 
 exit 0
diff --git a/meta/recipes-core/busybox/files/udhcpc.default 
b/meta/recipes-core/busybox/files/udhcpc.default
new file mode 100644
index 0000000..2c42cf0
--- /dev/null
+++ b/meta/recipes-core/busybox/files/udhcpc.default
@@ -0,0 +1,2 @@
+# Uncomment the following line, if udhcpc should not touch /etc/resolv.conf
+#STATIC_DNS="yes"
-- 
1.9.1
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to