On Thu, Dec 4, 2014 at 12:14 PM, Dmitry Yu Okunev <dyoku...@ut.mephi.ru> wrote:
>
> I think almost everybody here agree that Detector is really required in
> OpenRC. It's quite definitely that sysadmin should be able to see any
> error situation on his/her machine.

No argument at all with this.

> I can understand that you
> don't care about Debian and I'm prepared to the
> unfortunate fact that we will have to maintain extra patch for OpenRC
> package in Debian.

Please understand that I have no concerns at all with changes that
make OpenRC and make it more useful for everybody, including
non-Gentoo users.

I just think we need to be careful about tolerating incorrect input,
simply because some users don't want to correctly provide input.

>
> On 12/04/2014 04:59 PM, Rich Freeman wrote:
>> I think that on a boot phase in case of parallel boot rc should try
>> to check if loop exists and it is then print a warning and switch to
>> a sequential boot.

Just for the record, I didn't write this.  :)

>
>> Just fix your dependencies.
>
> There's no dependencies to fix. They are already right. But OpenRC
> couldn't interpret them right. And I think Debian team won't "fix" their
> dependencies tree through all packages with init-scripts forcing
> themselves into scopes of every existing init/rc. Using other words,
> you're suggesting impossible thing. Sorry, but it sounds just like "get
> out of here" without any explanation. =\

A dependency that amounts to "this needs to be last" for more than one
service is an error.  You can make the system do something other than
make every one of them last, but that doesn't mean that you're
satisfying the dependency.

Something either needs something else or it doesn't.

Whether the Debian team is willing to fix these kinds of errors isn't
something I have control over.  If Gentoo package maintainers were
doing this sort of thing I suspect that QA would be getting involved.

I can't imagine that this sort of thing won't become just as much of a
problem with systemd.  If you have a dependency-based service manager,
you need to correctly specify your dependencies.  Systemd does use
targets which do make it easier to manage dependencies, and that is
something that could be done in openrc just as easily using dummy
services (they're really just virtuals - have a service that
starts/stops without actually starting/stopping anything which is
trivial in openrc since it is all just bash and openrc doesn't care
about processes).

Please don't get me wrong - I think this discussion is healthy and I'm
not saying "over my dead body" or anything like that.  I just want to
make sure that we're thinking about the best possible solution.  If
the current syntax limits our ability to properly specify dependencies
I'm all for improving it.  I just would rather see a clean and
deterministic solution rather than a workaround that tries to guess
how to handle a loop.  I'm all for input as to how to make life easier
for other distros to use OpenRC - it was always intended to be the
universal service starting solution from the beginning, hence the
name.  The fact that potential adoption within other distros is
exposing weaknesses in the dependency specification is a good thing -
we can improve it.

Honestly, I'm not convinced that any solution (openrc, systemd, etc)
really has a clean solution for the "this service may or may not need
this other service depending on how it is being used" situation.  In
many cases we're putting a "wants" vs a "needs" specification
(whatever the syntax) at the distro level and relying on the user to
either override this or manually enable services and so on.

--
Rich

Reply via email to