resolvconf was missing a script and needed readlink which was in
/usr/bin.  Also the /etc/resolv.conf was not being correctly linked
to /etc/resolvconf/run/resolv.conf, which is fixed by the volaties
change which is now a file as opposed to created in do_install.

Ensure that the correct scripts for ifup/ifdown get installed and that
resolvconf is correctly enabled at startup

[YOCTO #5361]

(From OE-Core rev: 853e8d2c7aff6dddc1d555af22f54c4ecef13df1)

Signed-off-by: Saul Wold <s...@linux.intel.com>
Signed-off-by: Ross Burton <ross.bur...@intel.com>
Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org>

Conflicts:
        meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb
---
 .../resolvconf/resolvconf/99_resolvconf              |  4 ++++
 .../resolvconf/resolvconf/fix-path-for-busybox.patch | 20 ++++++++++++++++++++
 .../resolvconf/resolvconf_1.74.bb                    | 19 +++++++++++++++----
 3 files changed, 39 insertions(+), 4 deletions(-)
 create mode 100644 
meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
 create mode 100644 
meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch

diff --git a/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf 
b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
new file mode 100644
index 0000000..3790d77
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
@@ -0,0 +1,4 @@
+d root root 0755 /var/run/resolvconf/interface none
+f root root 0644 /etc/resolvconf/run/resolv.conf none
+f root root 0644 /etc/resolvconf/run/enable-updates none
+l root root 0644 /etc/resolv.conf /etc/resolvconf/run/resolv.conf
diff --git 
a/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch 
b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
new file mode 100644
index 0000000..1aead07
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
@@ -0,0 +1,20 @@
+
+busybox installs readlink into /usr/bin, so ensure /usr/bin
+is in the path.
+
+Upstream-Status: Submitted
+Signed-off-by: Saul Wold <s...@linux.intel.com>
+
+Index: resolvconf-1.76/etc/resolvconf/update.d/libc
+===================================================================
+--- resolvconf-1.76.orig/etc/resolvconf/update.d/libc
++++ resolvconf-1.76/etc/resolvconf/update.d/libc
+@@ -16,7 +16,7 @@
+ #
+ 
+ set -e
+-PATH=/sbin:/bin
++PATH=/sbin:/bin:/usr/bin
+ 
+ [ -x /lib/resolvconf/list-records ] || exit 1
+ 
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb 
b/meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb
index 5897e40..3ae624d 100644
--- a/meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb
@@ -11,7 +11,11 @@ AUTHOR = "Thomas Hood"
 HOMEPAGE = "http://packages.debian.org/resolvconf";
 RDEPENDS_${PN} = "bash"
 
-SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.gz"
+SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.gz \
+           file://fix-path-for-busybox.patch \
+           file://99_resolvconf \
+          "
+
 
 SRC_URI[md5sum] = "2f190d3bb8960b69157f63590c262e93"
 SRC_URI[sha256sum] = 
"2e72e6884e9105cbf57101ab0f11e768717b6f76b7f5100c6a2a0cc69bb3d4a0"
@@ -24,13 +28,13 @@ do_compile () {
 
 do_install () {
        install -d ${D}${sysconfdir}/default/volatiles
-       echo "d root root 0755 ${localstatedir}/run/${BPN}/interface none" \
-            > ${D}${sysconfdir}/default/volatiles/99_resolvconf
-       if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; 
then
+       install -m 0644 ${WORKDIR}/99_resolvconf 
${D}${sysconfdir}/default/volatiles
+       if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', 
d)}; then
                install -d ${D}${sysconfdir}/tmpfiles.d
                echo "d /run/${BPN}/interface - - - -" \
                     > ${D}${sysconfdir}/tmpfiles.d/resolvconf.conf
        fi
+       install -d ${D}${base_libdir}/${BPN}
        install -d ${D}${sysconfdir}/${BPN}
        ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
        install -d ${D}${sysconfdir} ${D}${base_sbindir}
@@ -38,6 +42,11 @@ do_install () {
        cp -pPR etc/* ${D}${sysconfdir}/
        chown -R root:root ${D}${sysconfdir}/
        install -m 0755 bin/resolvconf ${D}${base_sbindir}/
+       install -m 0755 bin/list-records ${D}${base_libdir}/${BPN}
+       install -d ${D}/${sysconfdir}/network/if-up.d
+       install -m 0755 debian/resolvconf.000resolvconf.if-up 
${D}/${sysconfdir}/network/if-up.d/000resolvconf
+       install -d ${D}/${sysconfdir}/network/if-down.d
+       install -m 0755 debian/resolvconf.resolvconf.if-down 
${D}/${sysconfdir}/network/if-down.d/resolvconf
        install -m 0644 README ${D}${docdir}/${P}/
        install -m 0644 man/resolvconf.8 ${D}${mandir}/man8/
 }
@@ -51,3 +60,5 @@ pkg_postinst_${PN} () {
                fi
        fi
 }
+
+FILES_${PN} += "${base_libdir}/${BPN}"
-- 
2.1.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to