rootfs-postcommands.bbclass: ignore comment mismatch in systemd_user_check

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.

(From OE-Core rev: 2a700c3102b2233e71a157f0f88ed88496fa9fbf)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi
2023-12-27 12:20:36 +08:00
committed by Richard Purdie
parent dfcbfc49ca
commit 7c47ed557b

View File

@@ -106,12 +106,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)