[OE-core] [PATCH] systemd: don't symlink /etc/resolv.conf if resolved is disabled

Carlos Alberto Lopez Perez clopez at igalia.com
Tue Aug 22 00:43:13 UTC 2017


On 21/08/17 21:05, Carlos Alberto Lopez Perez wrote:
>  * symlinking /etc/resolv.conf to /run/systemd/resolve/resolv.conf
>    when resolved is not enabled is wrong, as this prevents network
>    manager from handling the resolv.conf file itself and breaking
>    DNS resolution.
> 
>    See: NetworkManager.conf manpage or https://git.io/v5UJQ
> 
> Signed-off-by: Carlos Alberto Lopez Perez <clopez at igalia.com>
> ---
>  meta/recipes-core/systemd/systemd_234.bb | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd_234.bb b/meta/recipes-core/systemd/systemd_234.bb
> index 4560cf4175..dddad62941 100644
> --- a/meta/recipes-core/systemd/systemd_234.bb
> +++ b/meta/recipes-core/systemd/systemd_234.bb
> @@ -235,12 +235,7 @@ do_install() {
>  	if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
>  		${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
>  	fi
> -	if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
> -		echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
> -		echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
> -		echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
> -		ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
> -	else
> +	if ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
>  		sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
>  		ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
>  	fi
> 

Looking at the previous history it seems symlinking /etc/resolv.conf
when not enabling resolved was done originally to allow updating
resolv.conf on read-only-rootfs filesystems ( commit 7f087f161e ).

So the above patch is not right, as it will break that.

An idea is to symlink /etc/resolv.conf to a different filename in /run
when resolved is not enabled.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 897 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170822/e93323de/attachment-0002.sig>


More information about the Openembedded-core mailing list