Hi
commit 00e4662e55f66570cae29240c22b4d74b79d3ca5
Author: Maxin B. John <maxin.john@intel.com>
Date: Mon Jun 12 18:10:21 2017 +0300
systemd: enable resolved and networkd
Enable systemd-resolved and systemd-networkd by default.
Make it co-exist with connman and Fix associated problems
in read-only rootfs.
This part of the patch does nothing with the current version of systemd (or does the wrong thing)
else
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
the check here was
if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
apart from the part that the check is REVERSED ...
if the PACKAGECONFIG doesn't contain the resolved option systemd-resolved is not build and no modification is done on the /lib/tmpfiles/etc/conf
see
m4_ifdef(`ENABLE_RESOLVE', )m4_dnl
L! /etc/resolv.conf - - - - ../run/systemd/resolve/stub-resolv.conf
So the else branch can be safely removed.
commit 669edd04432f8e76e32bd7f34f4d9aa63eef4038
Author: Khem Raj <raj.khem@gmail.com>
Date: Fri Dec 16 14:07:31 2016 -0800
systemd: point to correct resolv.conf when resolved is enabled
latest systemd has changed the resolved defaults which points to
127.0.0.53 port 53 on local network. If someone wants to use
host-local IP address then it can be pointed to copy in /lib/systemd
(From OE-Core rev: 99d1199fd0961f94732a1a533d66472ca17cf6f5)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
So here the error was introduced!!!!! read this patch carefullyIf you read the deleted comment it was saying:if resolved is disabled,But this patch reverse it to
systemd: point to correct resolv.conf when resolved is enabled
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
+ 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
+ else
+ 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
fi
install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
}
commit b80da02ce9b683f96393fe0ea1f5f1a5f1a07c89
Author: Christopher Larson <chris_larson@mentor.com>
Date: Wed Nov 4 20:19:19 2015 -0700
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.
+ 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
}
This patch was the right one the following 669edd04432f8e76e32bd7f34f4d9aa63eef4038 reversed the sense of the switch
RegardsNicola Lunghi
--Best Regards,
Chen Qi
On 07/16/2018 04:17 PM, Nicola Lunghi wrote:
From: Nicola Lunghi <nicola.lunghi@jci.com> if resolved option is not selected the package systemd-resolved is not installed so it cannot provide an alternative for resolv.conf In this recipe the previous check was instead reversing the check (note the !). This patch avoid messing with resol.conf link if resolved is disabled in the package config. This in particular if we compile systemd with musl where systemd-resolved cannot be compiled. Signed-off-by: Nicola Lunghi <nicola.lunghi@jci.com> --- meta/recipes-core/systemd/systemd_237.bb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/meta/recipes-core/systemd/systemd_237.bb b/meta/recipes-core/systemd/systemd_237.bb index 3efca33e73..bd6dcef637 100644 --- a/meta/recipes-core/systemd/systemd_237.bb +++ b/meta/recipes-core/systemd/systemd_237.bb @@ -258,14 +258,11 @@ 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 ${@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 - 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 install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install @@ -539,7 +536,7 @@ python __anonymous() { # TODO: # u-a for runlevel and telinit -ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel resolv-conf" +ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel" ALTERNATIVE_TARGET[init] = "${rootlibexecdir}/systemd/systemd" ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init" @@ -565,6 +562,7 @@ ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" ALTERNATIVE_PRIORITY[runlevel] ?= "300" +ALTERNATIVE_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core