From 7f087f161e8942bcd35f88999dfca418f01cd7fa Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Wed, 4 Nov 2015 20:19:19 -0700 Subject: systemd: arrange for volatile /etc/resolv.conf On sysvinit systems, volatiles is configured to make /etc/resolv.conf symlink to a file in a volatile path, which lets us write to /etc/resolv.conf for read-only-rootfs. For systemd, this isn't set up unless we enable systemd-resolved, which we don't by default. When it's not enabled, create the /etc/resolv.conf symlink and ensure the volatile path is created on boot with tmpfiles.d. Signed-off-by: Christopher Larson Signed-off-by: Ross Burton --- meta/recipes-core/systemd/systemd_228.bb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta/recipes-core/systemd/systemd_228.bb b/meta/recipes-core/systemd/systemd_228.bb index df8813ac42..aa2e846b69 100644 --- a/meta/recipes-core/systemd/systemd_228.bb +++ b/meta/recipes-core/systemd/systemd_228.bb @@ -203,6 +203,13 @@ 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 + # if resolved is disabled, it won't handle the link of resolv.conf, so + # set it up ourselves + ln -s ../run/resolv.conf ${D}${sysconfdir}/resolv.conf + echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf + echo 'f /run/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + fi install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install } @@ -297,6 +304,7 @@ FILES_${PN} = " ${base_bindir}/* \ ${sysconfdir}/tmpfiles.d/ \ ${sysconfdir}/xdg/ \ ${sysconfdir}/init.d/README \ + ${sysconfdir}/resolv.conf \ ${rootlibexecdir}/systemd/* \ ${systemd_unitdir}/* \ ${base_libdir}/security/*.so \ -- cgit 1.2.3-korg