[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#152955: debian-policy: Clarify force-reload, be LSB-compliant in doing so.



Henrique de Moraes Holschuh wrote on 09/07/2006 05:13:
> On Fri, 07 Jul 2006, Sven Mueller wrote:
> 
>>Package: debian-policy
>>Version: 3.7.2.1
>>Followup-For: Bug #152955
>>
>>According to LSB 3.1 (see [1]), force-reload should only restart the
>>service if it is already running. Therefore I suggest applying the
> 
> This is directly against what we have implemented on Debian (even if it does
> make sense to do it the LSB way).
> 
> Policy cannot be changed for this in a way to strong rule the LSB behaviour.
> The vast majority of the initscripts need to be fixed to comply, first.

I think we need something like a "policy to be", i.e. some document
which shows which changes _should_ go into the policy document as soon
as packages are fixed accordingly. Something that results in an
important (and thus not yet release-critical) bug if violated now and
will some day move to the real policy and will therefor result in a
release-critical bug at that time.

Currently, many necessary changes are delayed because they are not yet
implemented in most packages. Note that this bug is over three years old
and still not in policy. The reason is simple: Many maintainers don't
care to implement upcoming policy changes until they really are in policy.

Regarding this special case "force-reload" command to init.d scripts,
currently maintainers have the choice between two differen RC bugs:
1) Implement "force-reload" as a "restart" alias if "reload" is not
   available and violate LSB (which, according to the RMs means an RC
   bug).
2) Implement "force-reload" as a conditional "restart" alias only
   executed when the service is already running. This violates current
   policy wording and is therefor also an RC bug.
At the very least, I would suggest the following wording of the
"force-reload" description:

********************************************************************
<tag><tt>force-reload</tt></tag>
<item>cause the configuration to be reloaded if the service supports
this. If it doesn't support reloading, restart the service. Note that
the service should not get started if it wasn't already running.</item>
********************************************************************

This would cause non-LSB compliant behaviour to be a non-RC bug and make
LSB-compliant behaviour (which, BTW, is already implemented by _many_
init scripts) perfectly OK with policy.

After all, even if policy can't _mandate_ (must, required) the wanted
behaviour, it should not encourage behaviour that is supposed to get RC
buggy at some point in time.

Regards,
Sven.

Regards,
Sven



Reply to: