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
signature.asc
Description: PGP signature
