From: Chen Qi <qi.c...@windriver.com>

The DynamicUser needs libnss-systemd to be installed to function
well. The tweaks to nsswitch.conf should be conditional on PACKAGECONFIG
values.

Signed-off-by: Chen Qi <qi.c...@windriver.com>
---
 meta/recipes-core/systemd/systemd_254.4.bb | 30 +++++++++++++++++-----
 1 file changed, 23 insertions(+), 7 deletions(-)

Changes in V2:
Follow 
https://docs.yoctoproject.org/dev/dev-manual/new-recipe.html#recipe-syntax
to use taps in shell functions.

diff --git a/meta/recipes-core/systemd/systemd_254.4.bb 
b/meta/recipes-core/systemd/systemd_254.4.bb
index ef29116bf9..c3507d9033 100644
--- a/meta/recipes-core/systemd/systemd_254.4.bb
+++ b/meta/recipes-core/systemd/systemd_254.4.bb
@@ -179,7 +179,7 @@ PACKAGECONFIG[microhttpd] = 
"-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
 PACKAGECONFIG[myhostname] = 
"-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
 PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
 PACKAGECONFIG[no-dns-fallback] = "-Ddns-servers="
-PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
+PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false,,libnss-systemd"
 PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
 PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false"
 PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false"
@@ -839,15 +839,31 @@ ALTERNATIVE_LINK_NAME[runlevel] = 
"${base_sbindir}/runlevel"
 ALTERNATIVE_PRIORITY[runlevel] ?= "300"
 
 pkg_postinst:${PN}:libc-glibc () {
-       sed -e '/^hosts:/s/\s*\<myhostname\>//' \
-               -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 
myhostname \3\4\5/' \
-               -i $D${sysconfdir}/nsswitch.conf
+       if ${@bb.utils.contains('PACKAGECONFIG', 'myhostname', 'true', 'false', 
d)}; then
+               sed -e '/^hosts:/s/\s*\<myhostname\>//' \
+                       -e 
's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \
+                       -i $D${sysconfdir}/nsswitch.conf
+       fi
+       if ${@bb.utils.contains('PACKAGECONFIG', 'nss', 'true', 'false', d)}; 
then
+               sed -e 's#\(^passwd:.*\)#\1 systemd#' \
+                       -e 's#\(^group:.*\)#\1 systemd#' \
+                       -e 's#\(^shadow:.*\)#\1 systemd#' \
+                       -i $D${sysconfdir}/nsswitch.conf
+       fi
 }
 
 pkg_prerm:${PN}:libc-glibc () {
-       sed -e '/^hosts:/s/\s*\<myhostname\>//' \
-               -e '/^hosts:/s/\s*myhostname//' \
-               -i $D${sysconfdir}/nsswitch.conf
+       if ${@bb.utils.contains('PACKAGECONFIG', 'myhostname', 'true', 'false', 
d)}; then
+               sed -e '/^hosts:/s/\s*\<myhostname\>//' \
+                       -e '/^hosts:/s/\s*myhostname//' \
+                       -i $D${sysconfdir}/nsswitch.conf
+       fi
+       if ${@bb.utils.contains('PACKAGECONFIG', 'nss', 'true', 'false', d)}; 
then
+               sed -e '/^passwd:/s#\s*systemd##' \
+                       -e '/^group:/s#\s*systemd##' \
+                       -e '/^shadow:/s#\s*systemd##' \
+                       -i $D${sysconfdir}/nsswitch.conf
+       fi
 }
 
 PACKAGE_WRITE_DEPS += "qemu-native"
-- 
2.42.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#190055): 
https://lists.openembedded.org/g/openembedded-core/message/190055
Mute This Topic: https://lists.openembedded.org/mt/102333967/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to