From c3a92bc285de949f8fc78f59f6bbdb3a5ee71344 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei.gherzan@huawei.com>
Date: Mon, 11 Jul 2022 15:32:57 +0200
Subject: [PATCH] oniro-linux.conf: Avoid removing shadow for ro filesystems

There are files in shadow (for example subid files) that are required at
runtime too - for example for podman rootless support. Make sure this
package is not removed even when disto/image is dealing with a ro
rootfs.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
 meta-oniro-core/conf/distro/oniro-linux.conf | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/meta-oniro-core/conf/distro/oniro-linux.conf b/meta-oniro-core/conf/distro/oniro-linux.conf
index 0223ec28..84278f57 100644
--- a/meta-oniro-core/conf/distro/oniro-linux.conf
+++ b/meta-oniro-core/conf/distro/oniro-linux.conf
@@ -111,3 +111,12 @@ DISTRO_FEATURES_FILTER_NATIVESDK:append = " openharmony"
 require conf/distro/include/openharmony.inc
 # OpenHarmony requires musl libc, so we cannot allow other TCLIBC values
 TCLIBC:df-openharmony = "musl"
+
+# The libnss configuration file is only installed when glibc is used. The
+# innexistence of it on a musl-based rootfs, will make shadow complain about
+# it.
+IMAGE_LOG_CHECK_EXCLUDES:libc-musl += "Failed opening /etc/nsswitch.conf"
+
+# We run a read-only rootfs but we want shadow because it includes subid
+# configuration used by podman in rootless mode.
+ROOTFS_RO_UNNEEDED:remove = "shadow"
-- 
GitLab