On Tue, 21 Jul 2026 at 06:09, Sam James <[email protected]> wrote: > > Paul Eggert <[email protected]> writes: > > That being said, to cater to a user population that thinks coreutils > > works "just fine" even if 'who' always fails, how about if we instead > > look into another idea that I think was briefly mentioned earlier: > > namely, packagers run a shell command "optional-libsystemd who pinky > > users", where optional-libsystemd is something like the attached > > script. > > > > The optional-libsystemd script could be generalized to do something > > similar for other dynamic libraries that have this issue. (As an > > aside, it is annoying that objcopy makes this sort of thing such a > > pain but perhaps objcopy could be improved to make it easier.) > > > > Although the script puts a bit of the burden on the packagers, the > > feature's burden must go *somewhere*, and since packagers want the > > feature they are more likely to maintain it well. > > Not all packagers want this. I consider this undesirable where we know > we will be deployed on a system that, say, uses SELinux. systemd > currently as of bda98358d29336b285450c6d3e2c9d6a634efddd will do: > > int dlopen_libselinux(int log_level) { > #if HAVE_SELINUX > static void *libselinux_dl = NULL; > > LIBSELINUX_NOTE(suggested); > > i.e. if you build systemd with libselinux support, it is merely > 'suggested', yet if you rely on SELinux support, that's not the case at > all. > > 'suggested' is subjective and depends on if you know where it is going > to be deployed.
Whether a system runs selinux or not, is not a determination that coreutils can do. It is not possible to use selinux without a policy and other selinux-specific utilities, and those packages already have (correctly) a hard dependency on libselinux, and will pull it in. Hence the fact that coreutils or systemd do not have a hard dependency on the libselinux package does not affect selinux users.
