Skip to contentSkip to conversation

resolvconf: add fixes for busybox and make it work

PATCH In review Saul Wold 3 participants 5 messages Nov 24, 2014 – Nov 25, 2014

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

PATCH v2 1/1 resolvconf: add fixes for busybox and make it work

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]

---
 .../resolvconf/resolvconf/99_resolvconf              |  4 ++++
 .../resolvconf/resolvconf/fix-path-for-busybox.patch | 20 ++++++++++++++++++++
 .../resolvconf/resolvconf_1.76.bb                    | 17 ++++++++++++++---
 3 files changed, 38 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
 create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +4 -0
new file mode 100644
index 0000000..3790d77
@@ -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
meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch new file +20 -0
new file mode 100644
index 0000000..1aead07
@@ -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 <[email protected]>
+
+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
+ 
meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +14 -3
index eb29a2a..20a2c19 100644
@@ -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.xz"
+SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz \
+           file://fix-path-for-busybox.patch \
+           file://99_resolvconf \
+          "
+
 
 SRC_URI[md5sum] = "d78ce30ea068999cd3e0523300b27255"
 SRC_URI[sha256sum] = "c9f40f7405b37399ddbf29ca4205b4911ee35cb9ffd9be7671faa2385b1fa573"
@@ -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
+	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}"
Signature · 1 line
1.8.3.1
#1 lore raw

is this needed for dizzy?

- armin

Quoted 107 lines · Saul Wold

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]

---
  .../resolvconf/resolvconf/99_resolvconf              |  4 ++++
  .../resolvconf/resolvconf/fix-path-for-busybox.patch | 20 ++++++++++++++++++++
  .../resolvconf/resolvconf_1.76.bb                    | 17 ++++++++++++++---
  3 files changed, 38 insertions(+), 3 deletions(-)

create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf create mode 100644 meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch

meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +4 -0
new file mode 100644
index 0000000..3790d77
@@ -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
meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch new file +20 -0
new file mode 100644
index 0000000..1aead07
@@ -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 <[email protected]>
+
+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
+
meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +14 -3
index eb29a2a..20a2c19 100644
@@ -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.xz"
+SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz \
+           file://fix-path-for-busybox.patch \
+           file://99_resolvconf \
+          "
+
 
  SRC_URI[md5sum] = "d78ce30ea068999cd3e0523300b27255"
  SRC_URI[sha256sum] = "c9f40f7405b37399ddbf29ca4205b4911ee35cb9ffd9be7671faa2385b1fa573"
@@ -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
+	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}"
author
#2 lore raw
Quoted 2 lines · On 11/24/2014 03:48 PM, akuster808 wrote:

is this needed for dizzy?

Sure once it's proved, btw do you have the babeltrace patch I sent.

Sau!

Quoted 130 lines

- armin

Quoted 125 lines · Saul Wold

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]

---
  .../resolvconf/resolvconf/99_resolvconf              |  4 ++++
  .../resolvconf/resolvconf/fix-path-for-busybox.patch | 20
++++++++++++++++++++
  .../resolvconf/resolvconf_1.76.bb                    | 17
++++++++++++++---
  3 files changed, 38 insertions(+), 3 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

meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +4 -0
@@ -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

meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +20 -0
@@ -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 <[email protected]>
+
+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
+
meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +5 -1
index eb29a2a..20a2c19 100644
@@ -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.xz"
+SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz \
+           file://fix-path-for-busybox.patch \
+           file://99_resolvconf \
+          "
+
 
  SRC_URI[md5sum] = "d78ce30ea068999cd3e0523300b27255"
  SRC_URI[sha256sum] =

"c9f40f7405b37399ddbf29ca4205b4911ee35cb9ffd9be7671faa2385b1fa573"

meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +1 -2
@@ -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
+    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
meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +4 -0
+    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

meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +2 -0
+    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/

}

meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +2 -0
@@ -51,3 +60,5 @@ pkg_postinst_${PN} () {
          fi
      fi
  }
+
+FILES_${PN} += "${base_libdir}/${BPN}"
#3 lore raw
Quoted 4 lines · Saul Wold
Quoted 2 lines · On 11/24/2014 03:48 PM, akuster808 wrote:

is this needed for dizzy?

Sure once it's proved, btw do you have the babeltrace patch I sent.

yes. its queued up along with wic and misc security fixes.

- Armin

Quoted 138 lines

Sau!

Quoted 135 lines

- armin

Quoted 130 lines · Saul Wold

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]

---
  .../resolvconf/resolvconf/99_resolvconf              |  4 ++++
  .../resolvconf/resolvconf/fix-path-for-busybox.patch | 20
++++++++++++++++++++
  .../resolvconf/resolvconf_1.76.bb                    | 17
++++++++++++++---
  3 files changed, 38 insertions(+), 3 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

meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +4 -0
@@ -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

meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf new file +20 -0
@@ -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 <[email protected]>
+
+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
+
meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +5 -1
index eb29a2a..20a2c19 100644
@@ -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.xz"
+SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz \
+           file://fix-path-for-busybox.patch \
+           file://99_resolvconf \
+          "
+
 
  SRC_URI[md5sum] = "d78ce30ea068999cd3e0523300b27255"
  SRC_URI[sha256sum] =

"c9f40f7405b37399ddbf29ca4205b4911ee35cb9ffd9be7671faa2385b1fa573"

meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +1 -2
@@ -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
+    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
meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +4 -0
+    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

meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +2 -0
+    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/

}

meta/recipes-connectivity/resolvconf/resolvconf_1.76.bb +2 -0
@@ -51,3 +60,5 @@ pkg_postinst_${PN} () {
          fi
      fi
  }
+
+FILES_${PN} += "${base_libdir}/${BPN}"
Tested-by on v2 1/1
#4 lore raw
In reply to Saul Wold
Quoted 7 lines

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

Hi Saul,

Works for me both with udhcp and static configuration, you can add:

Will you be able to backport it to dizzy?

Bests,
Diego