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