[OE-core][PATCH 3/3] rootfs-postcommands.bbclass: ignore comment mismatch in systemd_user_check

Qi.Chen
2023-12-27T04:21:06Z

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

The check was forcing every field to be identical, this is too
strict. For example, if the comment differs, there's really no
impact. For example, root user's comment is 'root' in passwd,
and it's 'Super User' in sysusers.d/basic.conf. Such difference is
not worth a warning. In fact, previous codes use 'lower()' to
avoid warning between 'nobody' and 'Nobody', and what's more, another
patch puts its own basic.conf.in in systemd's SRC_URI, but it changes
'Super User' to 'root'. Such changes are all unnecessary. We should
just ignore comment mismatch.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meta/classes-recipe/rootfs-postcommands.bbclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/classes-recipe/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass
index 29ee74932a..f996b6c71a 100644
--- a/meta/classes-recipe/rootfs-postcommands.bbclass
+++ b/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -111,12 +111,11 @@ def compare_users(user, e_user):
# user and e_user must not have None values. Unset values must be '-'.
(name, uid, gid, comment, homedir, ushell) = user
(e_name, e_uid, e_gid, e_comment, e_homedir, e_ushell) = e_user
- # Ignore 'uid', 'gid' or 'comment' if they are not set
+ # Ignore 'uid', 'gid' or 'homedir' if they are not set
# Ignore 'shell' and 'ushell' if one is not set
return name == e_name \
and (uid == '-' or uid == e_uid) \
and (gid == '-' or gid == e_gid) \
- and (comment == '-' or e_comment == '-' or comment.lower() == e_comment.lower()) \
and (homedir == '-' or e_homedir == '-' or homedir == e_homedir) \
and (ushell == '-' or e_ushell == '-' or ushell == e_ushell)

--
2.34.1