invoke-rc.d issues (was Re: "minit" point of view)
Erich Schubert
erich.schubert at gmail.com
Sat Aug 27 00:21:31 UTC 2005
Hi,
> If they're thruly non-standard, then why would anyone call invoke-rc.d with
> them (*remember* that invoke-rc.d is for *PACKAGING* scripts *ONLY*. Any
> other uses of invoke-rc.d are *NOT* supported).
Well, the manpage only *discourages* them, and warns that policy-rc.d
might not support them: »Other actions are accepted, but they can
cause problems to policy-rc.d (see the INIT SCRIPT POLICY section),
so warnings are generated if the policy layer is active.«
Also I wanted to avoid *diverting* a core file or having to conflict
sysv-init; policy-rc.d was easier to replace with a custom variant
(although we'll run into issues with multiple packages containting
that file...)
> THAT kind of decision is made by the initscript subsystem itself and its
> tools (e.g. its own implementation of need/provides). invoke-rc.d is NOT TO
> BE USED FOR SUCH.
No, but you need to catch this case *in* invoke-rc.d - making it a lot
more complex than just a one-liner "myinitsystem-contorl $service
$action"
All I was saying that this is more difficult than you might expect at
first look...
Not that it cannot be done, or that invoke-rc.d is bogus.
> I don't follow you. What has that to do with invoke-rc.d per si? If you
> can't support roll-forward, then don't. invoke-rc.d certainly does not
> mandate that at all.
It does. Implicitly.
All debian package upgrade script basically rely on the "fact" that
they can call
invoke-rc.d someservice stop
invoke-rc.d someservice start
to restart it, without affecting other services!
(on a side note, after having read most of the lists archive: the tone
on the list is far from pleasant... could everybody cool down a bit?)
Oh, another note: we should try to persue the "state machine" topic further.
I can see some interesting possibilities when we detach the state
machine from the "real" services. Like, the network service could
update several states, not only its own - "link states" aren't really
tied (maybe except for the dhcp case) to a service/app running.
Do we need "arbitrary" (i.e. ascii?) states? Do we need these states
in the core init, or could that be in pid 2?
best regards,
Erich Schubert
--
erich@(mucl.de|debian.org) -- GPG Key ID: 4B3A135C (o_
To understand recursion you first need to understand recursion. //\
Wo befreundete Wege zusammenlaufen, da sieht die ganze Welt für V_/_
eine Stunde wie eine Heimat aus. --- Herrmann Hesse
More information about the initscripts-ng-devel
mailing list