I'm not certain the exact historical reasons we don't have that
specific eclass, but I can explain the current state of things and why
I don't think it's necessary/desirable to include it going forwards.

Right now we hardcode a set of users/groups in /usr via our baselayout
repo (https://github.com/coreos/baselayout/), and in addition some
packages (such as rkt) use 'sysusers.d' to express adding users to the
distro.

The fact that we've got this split across two different mechanisms
isn't great. In addition, baselayout's users/groups are unable to be
operated on by useradd and other tools correctly (leading to bugs like
https://github.com/coreos/bugs/issues/1920).

We plan to migrate towards user/group management by sysusers
(https://www.freedesktop.org/software/systemd/man/sysusers.d.html#).
It has most of the functionality we need, it plays nicely with other
bits of the distro, and it's a generic solution.
It works to populate passwd for machines booted with an empty
root partition while also allowing users to make customizations.

The reason we still have the split between baselayout and sysusers is
that migrating existing machines isn't easy, so we can't simply delete
things from baselayout without additional update/migration work.

For new packages, if the package can use sysusers, that's preferable.

Hopefully that makes sense; let me know if I'm missing some detail,
- Euan

Attachment: signature.asc
Description: PGP signature

Reply via email to