From 3982dc5b1994ffcc52336b02fbd2c44db164dd82 Mon Sep 17 00:00:00 2001 From: Drew Moseley Date: Fri, 19 Jul 2019 19:58:56 +0000 Subject: networkmanager: Use ALTERNATIVES for resolv-conf handling. This brings the networkmanager in sync with how systemd-resolved and connman work. Additionally this allows it to function with a read-only rootFS. Signed-off-by: Drew Moseley Signed-off-by: Khem Raj --- .../networkmanager/networkmanager_1.18.0.bb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'meta-networking/recipes-connectivity') diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb index 21fbea9c1a..0375667838 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb @@ -20,7 +20,7 @@ DEPENDS = " \ curl \ " -inherit gnomebase gettext systemd bash-completion vala gobject-introspection gtk-doc +inherit gnomebase gettext systemd bash-completion vala gobject-introspection gtk-doc update-alternatives SRC_URI = " \ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ @@ -141,6 +141,16 @@ FILES_${PN}-nmtui-doc = " \ SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" +ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" + do_install_append() { rm -rf ${D}/run ${D}${localstatedir}/run + + # For read-only filesystem, do not create links during bootup + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager + fi } -- cgit 1.2.3-korg