summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEero Aaltonen <eero.aaltonen@vaisala.com>2023-10-19 14:11:51 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-23 10:49:19 +0100
commit6f30e3586eb1b8e853cf23dd039f258d0dc0bc6b (patch)
tree36ffbd3b9e047ef4f14ef2b715bbb21d0d3086d2
parent37dc9faae053e40c4ad5e0e4155549a2178831b2 (diff)
downloadpoky-6f30e3586eb1b8e853cf23dd039f258d0dc0bc6b.tar.gz
base-files, systemd: add nss-resolve plugin
Add nss-resolve plugin to the glibc Name Service Switch (NSS) with systemd-resolved DISTRO_FEATURE so that systemd-resolved is used in DNS name resolution. This enables the resolution of Multicast DNS and Link-Local Multicast Name Resolution names, depending on the selected options. (From OE-Core rev: 81da1d6eecee9fd036121298abba6fdcffc3969d) Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/base-files/base-files/0001-add-nss-resolve-to-nsswitch.patch31
-rw-r--r--meta/recipes-core/base-files/base-files_3.0.14.bb2
-rw-r--r--meta/recipes-core/systemd/systemd_254.4.bb3
3 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-core/base-files/base-files/0001-add-nss-resolve-to-nsswitch.patch b/meta/recipes-core/base-files/base-files/0001-add-nss-resolve-to-nsswitch.patch
new file mode 100644
index 0000000000..a6e39e0956
--- /dev/null
+++ b/meta/recipes-core/base-files/base-files/0001-add-nss-resolve-to-nsswitch.patch
@@ -0,0 +1,31 @@
1From 830abe652428d9d31780c3ace121635ad7b64274 Mon Sep 17 00:00:00 2001
2From: Eero Aaltonen <eero.aaltonen@vaisala.com>
3Date: Wed Sep 27 15:50:48 2023 +0300
4Subject: [PATCH] Add nss-resolve to the Name Service Switch (NSS)
5
6Add `nss-resolve` so that `systemd-resolved` is used for name
7resolution with glibc `gethostbyname` calls.
8
9Upstream-Status: Inappropriate [no upstream, configuration].
10
11Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com>
12---
13 nsswitch.conf | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/nsswitch.conf b/nsswitch.conf
17index 06f03d2..34b165c 100644
18--- a/nsswitch.conf
19+++ b/nsswitch.conf
20@@ -8,7 +8,7 @@ passwd: compat
21 group: compat
22 shadow: compat
23
24-hosts: files dns
25+hosts: resolve [!UNAVAIL=return] files dns
26 networks: files
27
28 protocols: db files
29--
302.25.1
31
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
index 4d246126a2..9fab53ce63 100644
--- a/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -23,6 +23,8 @@ SRC_URI = "file://rotation \
23 file://share/dot.profile \ 23 file://share/dot.profile \
24 file://licenses/GPL-2 \ 24 file://licenses/GPL-2 \
25 " 25 "
26SRC_URI:append:libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', ' file://0001-add-nss-resolve-to-nsswitch.patch', '', d)}"
27
26S = "${WORKDIR}" 28S = "${WORKDIR}"
27 29
28INHIBIT_DEFAULT_DEPS = "1" 30INHIBIT_DEFAULT_DEPS = "1"
diff --git a/meta/recipes-core/systemd/systemd_254.4.bb b/meta/recipes-core/systemd/systemd_254.4.bb
index d888efdece..76cc07e86f 100644
--- a/meta/recipes-core/systemd/systemd_254.4.bb
+++ b/meta/recipes-core/systemd/systemd_254.4.bb
@@ -793,6 +793,9 @@ python __anonymous() {
793 if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): 793 if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
794 d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") 794 d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
795 795
796 if bb.utils.contains('DISTRO_FEATURES', 'systemd-resolved', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'nss-resolve resolved', True, False, d):
797 bb.error("DISTRO_FEATURES[systemd-resolved] requires PACKAGECONFIG[nss-resolve, resolved]")
798
796 if bb.utils.contains('PACKAGECONFIG', 'repart', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'openssl', True, False, d): 799 if bb.utils.contains('PACKAGECONFIG', 'repart', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'openssl', True, False, d):
797 bb.error("PACKAGECONFIG[repart] requires PACKAGECONFIG[openssl]") 800 bb.error("PACKAGECONFIG[repart] requires PACKAGECONFIG[openssl]")
798 801