On 12/17/2015 05:46 PM, Zbigniew Jędrzejewski-Szmek wrote:
On Thu, Dec 17, 2015 at 05:34:31PM -0800, Brendan Conoboy wrote:
> On 12/17/2015 05:27 PM, Zbigniew Jędrzejewski-Szmek wrote:
>> On Thu, Dec 17, 2015 at 04:13:06PM -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.
>>
>> For some packages "reduced capacity" because of lack of systemd.rpm
>> means "doesn't even get started as expected" or "crashes on
>> start with permission errors" or "cannot write logs" or similar.
>> Like Lennart and Neil said, utilities provided by systemd.rpm are the
>> basis which allows many things to "just work". This is so obvious
>> that it is assumed implicitly in this disussion, and it's hardly
>> "personal use cases".
>
> If the software crashes on start with permission error that's not
> really working in a reduced capacity.
Exactly. So Required(post/pre/preun):systemd cannot currently be
changed to Recommmends, at least in the general case.
It's not clear the cases you have in mind are the general case. There
is doubtless a happy medium here, though. Perhaps it is opening up
the policy to promote Recommends, but leave it to packager discretion.
Recommends largely behaves like requires, so it's fairly low risk to
err on the side of recommends.
--
Brendan Conoboy / RHEL Development Coordinator / Red Hat, Inc.