summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorPeter A. Bigot <pab@pabigot.com>2014-09-18 10:16:39 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-09-29 12:11:47 +0100
commit7e2b05a6f59209687829225878a19a1dad8143b9 (patch)
tree481620ab9e7033237438a1092a5678972a27d370 /meta
parent4b503f25f1ef8f554d3c76d88399db379dc818cc (diff)
downloadopenembedded-core-7e2b05a6f59209687829225878a19a1dad8143b9.tar.gz
openembedded-core-7e2b05a6f59209687829225878a19a1dad8143b9.tar.bz2
openembedded-core-7e2b05a6f59209687829225878a19a1dad8143b9.zip
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. Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/systemd/systemd/0001-tmpfiles.d-etc.conf-disable-resolv.conf-symlink.patch35
-rw-r--r--meta/recipes-core/systemd/systemd_216.bb1
2 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd/0001-tmpfiles.d-etc.conf-disable-resolv.conf-symlink.patch b/meta/recipes-core/systemd/systemd/0001-tmpfiles.d-etc.conf-disable-resolv.conf-symlink.patch
new file mode 100644
index 0000000000..7218322d4c
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-tmpfiles.d-etc.conf-disable-resolv.conf-symlink.patch
@@ -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
+
diff --git a/meta/recipes-core/systemd/systemd_216.bb b/meta/recipes-core/systemd/systemd_216.bb
index 331da99479..ebf939574d 100644
--- a/meta/recipes-core/systemd/systemd_216.bb
+++ b/meta/recipes-core/systemd/systemd_216.bb
@@ -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"