resolvconf: make it work

The current resolvconf does not work. Make it work with the
following changes.
1. Install normalize-resolvconf, which is used by resolvconf.
2. Add dependencies: sed, util-linux-flock.
   util-linux-flock is needed by our busybox does not support '-w'
   by default. sed is needed because we want to avoid package
   QA issue complaining sed is needed by no one provides it.
3. Add a patch to replace 'readlink -m' with 'readlink -l'.
   This could avoid the runtime dependency on coreutils. The replacement
   is safe as /etc always exits in OE's system.
4. Remove allarch inheritage. This is because the above RDEPENDS
   change does not allow this any more. test_sstate_allarch_samesigs
   would fail if we don't do this.

(From OE-Core rev: 66d85b2d841e6d3281f47ef9a39aa5483aad35d0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 1b0581fd241cc9de2feda896aefbf055dc0099dc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi
2022-11-17 19:14:10 +08:00
committed by Richard Purdie
parent f8880f548e
commit 617cbccdc2
2 changed files with 42 additions and 4 deletions

View File

@@ -0,0 +1,37 @@
From 6bf2bb136a0b3961339369bc08e58b661fba0edb Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 17 Nov 2022 17:26:30 +0800
Subject: [PATCH] avoid using -m option for readlink
Use a more widely used option '-f' instead of '-m' here to
avoid dependency on coreutils.
Looking at the git history of the resolvconf repo, the '-m'
is deliberately used. And it wants to depend on coreutils.
But in case of OE, the existence of /etc is ensured, and busybox
readlink provides '-f' option, so we can just use '-f'. In this
way, the coreutils dependency is not necessary any more.
Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
etc/resolvconf/update.d/libc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/resolvconf/update.d/libc b/etc/resolvconf/update.d/libc
index 1c4f6bc..f75d22c 100755
--- a/etc/resolvconf/update.d/libc
+++ b/etc/resolvconf/update.d/libc
@@ -57,7 +57,7 @@ fi
report_warning() { echo "$0: Warning: $*" >&2 ; }
resolv_conf_is_symlinked_to_dynamic_file() {
- [ -L ${ETC}/resolv.conf ] && [ "$(readlink -m ${ETC}/resolv.conf)" = "$DYNAMICRSLVCNFFILE" ]
+ [ -L ${ETC}/resolv.conf ] && [ "$(readlink -f ${ETC}/resolv.conf)" = "$DYNAMICRSLVCNFFILE" ]
}
if ! resolv_conf_is_symlinked_to_dynamic_file ; then
--
2.17.1

View File

@@ -9,10 +9,11 @@ LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
AUTHOR = "Thomas Hood"
HOMEPAGE = "http://packages.debian.org/resolvconf"
RDEPENDS:${PN} = "bash"
RDEPENDS:${PN} = "bash sed util-linux-flock"
SRC_URI = "git://salsa.debian.org/debian/resolvconf.git;protocol=https;branch=unstable \
file://99_resolvconf \
file://0001-avoid-using-m-option-for-readlink.patch \
"
SRCREV = "859209d573e7aec0e95d812c6b52444591a628d1"
@@ -23,8 +24,6 @@ S = "${WORKDIR}/git"
# so we check the latest upstream from a directory that does get updated
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/"
inherit allarch
do_compile () {
:
}
@@ -39,12 +38,14 @@ do_install () {
fi
install -d ${D}${base_libdir}/${BPN}
install -d ${D}${sysconfdir}/${BPN}
install -d ${D}${nonarch_base_libdir}/${BPN}
ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
install -d ${D}${sysconfdir} ${D}${base_sbindir}
install -d ${D}${mandir}/man8 ${D}${docdir}/${P}
cp -pPR etc/resolvconf ${D}${sysconfdir}/
chown -R root:root ${D}${sysconfdir}/
install -m 0755 bin/resolvconf ${D}${base_sbindir}/
install -m 0755 bin/normalize-resolvconf ${D}${nonarch_base_libdir}/${BPN}
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
@@ -64,4 +65,4 @@ pkg_postinst:${PN} () {
fi
}
FILES:${PN} += "${base_libdir}/${BPN}"
FILES:${PN} += "${base_libdir}/${BPN} ${nonarch_base_libdir}/${BPN}"