diff mbox series

[V5,1/3] base-passwd: add clock group

Message ID 20251031030519.2602967-1-Qi.Chen@windriver.com
State New
Headers show
Series [V5,1/3] base-passwd: add clock group | expand

Commit Message

ChenQi Oct. 31, 2025, 3:05 a.m. UTC
From: Chen Qi <Qi.Chen@windriver.com>

New systemd version (v258) introduces a new group, clock, to
"enable applications like linuxptp to open clocks without root
privileges".[1]

This results in warning at do_rootfs time:
WARNING: Group clock has never been defined

Add group clock with gid 81 to fix this issue. The wheel group's
gid is 80, so 81 is chosen.

Note that Debian rejects this patch because they're using sysusers
to handle such groups, including 'clock', 'kvm', 'sgx', etc. We're
not relying on sysusers, so we have to add a patch here.

[1] https://github.com/systemd/systemd/commit/af96ccfc24bc4803078a46b4ef2cdeb5decdfbcd

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 .../base-passwd/0001-Add-clock-group.patch    | 34 +++++++++++++++++++
 .../base-passwd/base-passwd_3.6.7.bb          |  1 +
 2 files changed, 35 insertions(+)
 create mode 100644 meta/recipes-core/base-passwd/base-passwd/0001-Add-clock-group.patch

Comments

Alexander Kanavin Oct. 31, 2025, 5:54 a.m. UTC | #1
On Fri, 31 Oct 2025 at 04:05, Chen Qi via lists.openembedded.org
<Qi.Chen=windriver.com@lists.openembedded.org> wrote:
> New systemd version (v258) introduces a new group, clock, to
> "enable applications like linuxptp to open clocks without root
> privileges".[1]
>
> This results in warning at do_rootfs time:
> WARNING: Group clock has never been defined
>
> Add group clock with gid 81 to fix this issue. The wheel group's
> gid is 80, so 81 is chosen.
>
> Note that Debian rejects this patch because they're using sysusers
> to handle such groups, including 'clock', 'kvm', 'sgx', etc. We're
> not relying on sysusers, so we have to add a patch here.

The question I had was why can't this be done in systemd recipe,
similar to what weston recipe does:

GROUPADD_PARAM:${PN} = "--system weston-launch"

Alex
ChenQi Oct. 31, 2025, 6:09 a.m. UTC | #2
On 10/31/25 13:54, Alexander Kanavin wrote:
> On Fri, 31 Oct 2025 at 04:05, Chen Qi via lists.openembedded.org
> <Qi.Chen=windriver.com@lists.openembedded.org> wrote:
>> New systemd version (v258) introduces a new group, clock, to
>> "enable applications like linuxptp to open clocks without root
>> privileges".[1]
>>
>> This results in warning at do_rootfs time:
>> WARNING: Group clock has never been defined
>>
>> Add group clock with gid 81 to fix this issue. The wheel group's
>> gid is 80, so 81 is chosen.
>>
>> Note that Debian rejects this patch because they're using sysusers
>> to handle such groups, including 'clock', 'kvm', 'sgx', etc. We're
>> not relying on sysusers, so we have to add a patch here.
> The question I had was why can't this be done in systemd recipe,
> similar to what weston recipe does:
>
> GROUPADD_PARAM:${PN} = "--system weston-launch"
>
> Alex

Hi Alex,

IMHO, there are two reasons.

1) It will result in other recipes using this group have a dependency on 
systemd recipe. This might not be a problem for clock group now, because 
it was newly introduced. But such dependency is really unneeded. It's 
possible that they use sysvinit and they can still use this group.

2) It's better we handle such groups (sgx, wheel, kvm, clock) in a 
consistent manner. We either change them all, or we keep the status quo. 
I mean, if we use sysusers mechanism or change useradd.bbclass to have 
similar behavior with sysusers, it's possible that we can remove these 
groups from base-passwd. Because in this way, there will be no 
unnecessary extra inter-recipe dependencies.

In summary, for a group that might be needed by multiple recipes that do 
not necessarily have dependency relationships, we can only put it on 
base-passwd for now. If we re-design and re-implement useradd.bbclass, 
we might be able to avoid this.

Regards,
Qi
diff mbox series

Patch

diff --git a/meta/recipes-core/base-passwd/base-passwd/0001-Add-clock-group.patch b/meta/recipes-core/base-passwd/base-passwd/0001-Add-clock-group.patch
new file mode 100644
index 0000000000..af871949fa
--- /dev/null
+++ b/meta/recipes-core/base-passwd/base-passwd/0001-Add-clock-group.patch
@@ -0,0 +1,34 @@ 
+From 4b3a8f347179d7e2a1062eeed13a6474deb28728 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 16 Oct 2025 08:48:49 +0800
+Subject: [PATCH] Add clock group
+
+The clock group is needed to "to enable applications like linuxptp
+to open clocks without root privileges". See the link below:
+https://github.com/systemd/systemd/commit/af96ccfc24bc4803078a46b4ef2cdeb5decdfbcd
+
+Note that this group is needed as long as people use udev from
+systemd because 50-udev-default.rules needs it. See the above
+commit.
+
+Upstream-Status: Denied [https://salsa.debian.org/debian/base-passwd/-/merge_requests/17]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ group.master | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/group.master b/group.master
+index e54fd1d..6f84539 100644
+--- a/group.master
++++ b/group.master
+@@ -39,5 +39,6 @@ staff:*:50:
+ games:*:60:
+ shutdown:*:70:
+ wheel:*:80:
++clock:*:81:
+ users:*:100:
+ nogroup:*:65534:
+-- 
+2.34.1
+
diff --git a/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb b/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb
index 177927d674..e4e0890293 100644
--- a/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb
+++ b/meta/recipes-core/base-passwd/base-passwd_3.6.7.bb
@@ -13,6 +13,7 @@  SRC_URI = "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar
            file://0005-Add-kvm-group.patch \
            file://0007-Add-wheel-group.patch \
            file://0001-base-passwd-Add-the-sgx-group.patch \
+           file://0001-Add-clock-group.patch \
            "
 
 SRC_URI[sha256sum] = "cf869870fed7862b57bfa9e99cd5cd6f365e2349705a1b65af7fc182629bd1ab"