Hi, On 5/27/24 19:59, Luca Boccassi wrote:
This MBF is not about removing the virtual provides where they are defined, they can stay as-is, but downgrading/removing the hard dependencies so that we can make Debian minimal images.
So the policy becomes "a logging service is present even if not explicitly declared." -- that sounds kind of like an Essential package, except that the interface is injected externally, and not visible in the package namespace.
My train of thought here is that there should be a "syslogd-is-journald" package that Provides/Conflicts system-log-daemon, so I can explicitly select this during container image creation with the existing package selection mechanism -- basically if I build a container image with syslogd-is-journald, then it becomes my responsibility to fulfill that promise, just as it is my responsibility to start rsyslog from my entrypoint when I build with rsyslog.
We cannot really avoid a regression for container builders here: the implicit dependency on (effectively) rsyslog will go away, and if their entrypoint starts it explicitly (because no one uses sysvinit in a container) without having it listed in the package list, that is broken anyway.
From systemd's immutable system images point of view, I think at least systemd must be installed into the immutable image anyway (for the default units in /usr/lib to be defined), and systemd-sysv on top of that doesn't use much space -- hence the idea to use systemd-sysv instead of a new empty package as the alternative.
Simon