From acf12d4123bd68f4e8eefa0c9fa10e5fbb0ac31b Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Tue, 28 Jan 2020 11:21:44 +0100 Subject: [PATCH] GRMLBASE/98-clean-chroot: fix resolvconf symlink handling + get rid of resolvconf workarounds resolvconf no longer supports usage of /etc/resolvconf/run as such, instead things are supposed to live in /run nowadays. Quoting from resolvconf's debian/changelog: | resolvconf (1.80) unstable; urgency=medium | | [...] | | [ Steve Langasek ] | * Eliminate all references to /etc/resolvconf/run. This should all be done | directly in /run, there is no reason to support making any of this | configurable with a symlink since we already have a versioned dependency | on the version of initscripts that introduces the /run transition. So /etc/resolv.conf being a symlink pointing to /etc/resolvconf/run/resolv.conf no longer works, instead it needs to point to /run/resolvconf/resolv.conf. Given that our resolvconf code dates back to 2007 (see commit 1d1565d0e49), while at it get rid of the workarounds, which don't seem to be needed anymore. Tested this change with builds against Debian/stretch (resolvconf 1.79), Debian/buster (resolvconf 1.79) and Debian/bullseye (resolvconf 1.82). Closes: https://github.com/grml/grml/issues/142 --- .../fai/config/scripts/GRMLBASE/98-clean-chroot | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot b/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot index 4a5e0cb..f293e91 100755 --- a/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot +++ b/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot @@ -183,29 +183,13 @@ if ! [ -r $target/etc/ld.so.nohwcap ] ; then touch $target/etc/ld.so.nohwcap fi -# installation of resolvconf in chroot *with* /proc -# is different from an installation without /proc, -# so make sure it is OK in any case if ! [ -d $target/etc/resolvconf ] ; then echo "Warning: resolvconf not installed" else echo "Setting up resolvconf" - if [ ! -L $target/etc/resolvconf/run ] ; then # resolvconf without symlink?! - RESOLV_CONF=/etc/resolvconf/run - rm -rf ${target}/${RESOLV_CONF} - mkdir -p ${target}/${RESOLV_CONF} - - touch ${target}/${RESOLV_CONF}/enable-updates - mkdir ${target}/${RESOLV_CONF}/interface - - cat > ${target}/${RESOLV_CONF}/resolv.conf << EOF -# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) -# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN -EOF - fi - rm -f ${target}/etc/resolvconf/resolv.conf.d/original - rm -f ${target}/etc/resolv.conf - $ROOTCMD ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf + rm -f "${target}"/etc/resolvconf/resolv.conf.d/original + rm -f "${target}"/etc/resolv.conf + ln -s /run/resolvconf/resolv.conf "${target}"/etc/resolv.conf fi # make sure we don't leak any mdadm configurations -- 2.1.4