base-files: add nsswitch-resolved.conf and remove nsswitch patch

Due to changes to nsswitch.conf file on commit 0cb122f17cf2
("base-files: add gshadow entry in nsswitch.conf"), the current patch
does not apply anymore due to patch fuzz.

This fuzz wasn't detected before because this is a conditional patch,
and will be hard to detect if nsswitch.conf changes again.

Instead, add a new version of nsswitch.conf, called
nsswitch-resolved.conf, which will later be renamed accordingly based on
the DISTRO_FEATURES variable. This file contains the necessary changes
which were applied by the patch before.

(From OE-Core rev: f3f68874f0edd16c4a85df76e34cc905c41d47f0)

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Suggested-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Hiago De Franco 2025-05-22 17:14:17 -03:00 committed by Richard Purdie
parent 5a9c2f7cd9
commit c26f016b74
3 changed files with 22 additions and 33 deletions

View File

@ -1,31 +0,0 @@
From 830abe652428d9d31780c3ace121635ad7b64274 Mon Sep 17 00:00:00 2001
From: Eero Aaltonen <eero.aaltonen@vaisala.com>
Date: Wed Sep 27 15:50:48 2023 +0300
Subject: [PATCH] Add nss-resolve to the Name Service Switch (NSS)
Add `nss-resolve` so that `systemd-resolved` is used for name
resolution with glibc `gethostbyname` calls.
Upstream-Status: Inappropriate [no upstream, configuration].
Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com>
---
nsswitch.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/nsswitch.conf b/nsswitch.conf
index 06f03d2..34b165c 100644
--- a/nsswitch.conf
+++ b/nsswitch.conf
@@ -8,7 +8,7 @@ passwd: compat
group: compat
shadow: compat
-hosts: files dns
+hosts: resolve [!UNAVAIL=return] files dns
networks: files
protocols: db files
--
2.25.1

View File

@ -0,0 +1,20 @@
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: resolve [!UNAVAIL=return] files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis

View File

@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "file://rotation \
file://nsswitch.conf \
file://nsswitch-resolved.conf \
file://motd \
file://hosts \
file://host.conf \
@ -23,7 +24,6 @@ SRC_URI = "file://rotation \
file://share/dot.profile \
file://licenses/GPL-2 \
"
SRC_URI:append:libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', ' file://0001-add-nss-resolve-to-nsswitch.patch', '', d)}"
S = "${WORKDIR}/sources"
UNPACKDIR = "${S}"
@ -124,7 +124,7 @@ do_install () {
}
do_install:append:libc-glibc () {
install -m 0644 ${S}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
install -m 0644 ${S}/${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', 'nsswitch-resolved.conf', 'nsswitch.conf', d)} ${D}${sysconfdir}/nsswitch.conf
}
DISTRO_VERSION[vardepsexclude] += "DATE"