https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers simplifies
the creation of system users and groups: the package only has to provide a
sysusers.d config file as part of the payload.
While packages that create users via scriptlets continue to work, we want to
switch all packages to the new scheme. We have dependencies between packages
that create and use system accounts. Rpm will automatically create dependencies
on user and group accounts for files that are the package payload. Currently
those dependencies are weak, and the first attempt to switch to strong
dependencies caused installability issues. But once we have sysusers.d
definitions for all users/groups used by ~~other~~ packages, we can switch those
dependencies to strong (Requires). Thus we need to provide full sysusers.d
coverage of users to allow robust sorting of packages during install.
The guidelines are changed to describe the sysusers.d approach as the only
option. We'll want to drop the scriptlets, and as described above, we can make
full use of the dependency graph only if we fully switch to the new approach.
If maintainers add the sysuser.d config in rawhide, then it's also fairly easy
to reuse this work in older branches with the %sysusers_create_compat macro.
Thus that approach is prescribed for older branches and the traditional
open-coded scriptlets are dropped from the guidelines. This will also make
it easier to drop the scriptlets in the future. For example, we can just
redefine %sysusers_create_compat as %nil.
The now-obsolete Rationale section is dropped. The (very outdated) list of
users and groups is dropped and the reader is referred to the autoritative
list in setup.rpm.
https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers simplifies
the creation of system users and groups: the package only has to provide a
sysusers.d config file as part of the payload.
While packages that create users via scriptlets continue to work, we want to
switch all packages to the new scheme. We have dependencies between packages
that create and use system accounts. Rpm will automatically create dependencies
on user and group accounts for files that are the package payload. Currently
those dependencies are weak, and the first attempt to switch to strong
dependencies caused installability issues. But once we have sysusers.d
definitions for all users/groups used by ~~other~~ packages, we can switch those
dependencies to strong (Requires). Thus we need to provide full sysusers.d
coverage of users to allow robust sorting of packages during install.
The guidelines are changed to describe the sysusers.d approach as the only
option. We'll want to drop the scriptlets, and as described above, we can make
full use of the dependency graph only if we fully switch to the new approach.
If maintainers add the sysuser.d config in rawhide, then it's also fairly easy
to reuse this work in older branches with the %sysusers_create_compat macro.
Thus that approach is prescribed for older branches and the traditional
open-coded scriptlets are dropped from the guidelines. This will also make
it easier to drop the scriptlets in the future. For example, we can just
redefine %sysusers_create_compat as %nil.
The now-obsolete Rationale section is dropped. The (very outdated) list of
users and groups is dropped and the reader is referred to the autoritative
list in setup.rpm.