On Thu, 2015-12-17 at 16:13 -0800, Brendan Conoboy wrote:
On 12/17/2015 01:43 AM, Harald Hoyer wrote:
> For docker containers, or containers, which don't want systemd, the current
> "Requires: systemd" in a lot of packages is preventing building a minimal
image.
>
> To improve the situation, we could make use of the new rpm weak dependencies.
> So the
>
> Requires(post): systemd
> Requires(preun): systemd
> Requires(postun): systemd
>
> would become
>
> Recommends: systemd
> OrderWithRequires(post): systemd
> OrderWithRequires(preun): systemd
> OrderWithRequires(postun): systemd
>
> With this in place, kickstart files could omit systemd.
>
> The downside is:
> - if systemd is installed afterwards, the %post scripts do not trigger
> - packages, which need systemd-tmpfiles or systemd-sysusers could not be converted
>
> If systemd is removed before the other packages, I don't see a problem.
> There are only leftovers in /etc/systemd.
>
> To prevent having a non-bootable system (not container), we could let the
> kernel.spec have a Requires on systemd.
>
> Comments? Please discuss.
I haven't seen a lot of downside brought up in this thread. If the
only objections people have is that it doesn't facilitate their
personal use cases those don't seem like real objections. Is anybody
going to be really negatively impacted by such a change?
For my part I'd like to see this happen, not just for packages
requiring systemd, but for all packages where "Requires" is really
stronger than necessary. Now that we have soft dependencies it would
be nice to go through and move to Recommends where software continues
to function in some reduced capacity. Everything would still go into
the composes as before and for people who like things the way they
are, there isn't much downside. Meanwhile, for people who want to
trim their package set to the utmost, they would be able to do so
without creating fake stub packages or using hacks to get around requires.
I'm OK with this *so long as* people don't start using Recommends: for
optional and heavy things. As long as we have a strong convention that
Recommends: is for things you're almost certainly going to want but
aren't technically *required*, and Suggests: is for things that are
pretty optional, it should work OK. What would concern me is if we had
a mix of packages using Recommends: for nearly-required things and
packages using Recommends: for very-optional things, because you'd then
be more or less stuck with the very-optional stuff (since if you
skipped 'Recommends' universally, you'd miss lots of important stuff
from other packages).
--
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net