On Thu, Mar 22, 2012 at 5:13 PM, Walter Dnes <waltd...@waltdnes.org> wrote:
> On Wed, Mar 21, 2012 at 09:35:55PM -0400, Michael Mol wrote
>
>> What we're talking about with systemd vs openrc, and things like ssh'd
>> first-time initialization is all within the realm of responsibility of
>> the packager. It's a shift in the way the distribution itself works.
>> We're not talking about a scenario where you shunt things upstream, so
>> the whole "your position would have rejected Linux" angle is a red
>> herring.
>
>  This is a frustrating game of whack-a-mole.  Person A comes up with a
> position, I rebut it, and then person B comes up with a different
> position, and I have to rebut it..  There have been people in this
> thread who have said that the program best knows what it needs, and
> should handle its own initialization.  That was what I was replying to.
> I'll reply to your position now.
>
>> Why does that spawned process have to be sshd? Why can't it be some
>> shell script which does the one-time checks, and then launches sshd
>> itself?
>
>  So instead of the initscript doing the checking+setup and launching
> the service, it launches a a second script... which does the
> checking+setup and launches the service <FACEPALM>.  See my post with
> the joke of digging a second hole to dump the dirt from the first hole
> into.  Instead of one script, we now have two scripts.  This is *NOT*
> simplification.

No. In a system V scenario, you'd probably just symlink to the
genericized init script. In the systemd scenario, as I understand it,
you have a configuration file (distinct from a script), and you'd
include the path to the genericized init script there.

What I'm talking about is an implementation of the adapter pattern.
http://en.wikipedia.org/wiki/Adapter_pattern

If there are going to be competing init systems (and there will be),
and a service needs to be compatible with both (and there will be such
services), then that's going to be the most elegant solution.

>
>> Why does that shell script need to be distributed as part of the
>> init system's package, and not part of the package associated with
>> the service?
>
>  I don't understand what you're arguing here.  *THE INITSCRIPT IS OWNED
> BY THE SERVICE PACKAGE*, not by the init package.  E.g. net-misc/openssh,
> not sys-apps/openrc.
>
> waltdnes@d530 ~ $ equery b /etc/init.d/sshd
>  * Searching for /etc/init.d/sshd ...
> net-misc/openssh-5.8_p1-r1 (/etc/init.d/sshd)

Sure. And that's what I was arguing. Though by the sound of it,
there's stuffed in the openrc package which doesn't need to be there,
and a blog post flameeyes posted today suggests the systemd package is
intended to absorb the hardware database. (
http://blog.flameeyes.eu/2012/03/refreshing-a-4-years-old-problem )

>
>> Having the shell script be part of the package associated with the
>> service keeps bugs related to that script associated with that
>> package.
>
>  That's the way it is right now.  See above.

And that's the way it should be.

>
>> At least, that's the way I see it. Any issue of compatibility between
>> the two can be addressed by the service's package manager, either by
>> adaption via that script, or by expressing an explicit dependency on
>> one init architecture or another.
>
>  My point in this whole argument is that there is some checking and
> setup that has to be done before launch.  Therefore shuffling off some
> or all of the shellscript code to another script is a pointless "shell
> game" (sorry) that adds no value.

See reference to the adapter pattern above.

Systemd has its merits in its capabilities. System V init has merits
in that it's far more portable. Open source software which operates as
a system service will need to support both.

There are, of course, things I loathe. I loathe the apparent mindset
behind systemd and behind udev, wherein all things belong as part of a
monolithic system. That runs counter to principles of modular design,
portability and even systemic stability in changing things. I loathe
the desire to lunge forward without working out a transition plan, or
even having the appearance of interest in one. And I loathe the
terrible PR.

-- 
:wq

Reply via email to