systemd: disable resolv.conf symlink unless resolved is enabled

The tmpfiles configuration in systemd unconditionally creates a symlink
from /etc/resolv.conf to the location where systemd's resolved service
will place the real file.  This link is only appropriate when resolved
is enabled and running: its presence prevents connman or other systems
from providing a working resolv.conf when systemd is not assigned that
responsibility.  OE has not yet enabled systemd's networkd or resolved
by default.

There is a TODO in the systemd source to fix this, but it has not been
addressed upstream.  This patch comments out the corresponding line when
resolved is not enabled in the package configuration.

(From OE-Core rev: 7e2b05a6f59209687829225878a19a1dad8143b9)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter A. Bigot
2014-09-18 10:16:39 -05:00
committed by Richard Purdie
parent 5cc591748e
commit f3e9be37e8
2 changed files with 36 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
From f0ab1600fb56d680e6aba3d0d51dfb9ffa3d9403 Mon Sep 17 00:00:00 2001
From: "Peter A. Bigot" <pab@pabigot.com>
Date: Thu, 18 Sep 2014 08:36:54 -0500
Subject: [PATCH] tmpfiles.d/etc.conf: disable resolv.conf symlink
This link is valid only if ENABLE_RESOLVED is configured for systemd.
If left unconditional, the symlink is created preventing connman from
storing the configuration it received from DHCP or other sources.
Upstream has a TODO to fix this, but has not done so as of this date.
Provide a temporary workaround for OE until this is done properly
upstream.
Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
---
tmpfiles.d/etc.conf | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tmpfiles.d/etc.conf b/tmpfiles.d/etc.conf
index b23272c..5364dd8 100644
--- a/tmpfiles.d/etc.conf
+++ b/tmpfiles.d/etc.conf
@@ -10,6 +10,7 @@
L /etc/os-release - - - - ../usr/lib/os-release
L /etc/localtime - - - - ../usr/share/zoneinfo/UTC
L+ /etc/mtab - - - - ../proc/self/mounts
-L /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf
+# TODO: conditional on ENABLE_RESOLVED
+#L /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf
C /etc/nsswitch.conf - - - -
C /etc/pam.d - - - -
--
1.8.5.5

View File

@@ -36,6 +36,7 @@ SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;branch=master;protocol=
file://00-create-volatile.conf \
file://init \
file://run-ptest \
${@bb.utils.contains('PACKAGECONFIG', 'resolved', '', 'file://0001-tmpfiles.d-etc.conf-disable-resolv.conf-symlink.patch', d)} \
"
S = "${WORKDIR}/git"