1 |
On Thu, Dec 4, 2014 at 12:14 PM, Dmitry Yu Okunev <dyokunev@××××××××.ru> wrote: |
2 |
> |
3 |
> I think almost everybody here agree that Detector is really required in |
4 |
> OpenRC. It's quite definitely that sysadmin should be able to see any |
5 |
> error situation on his/her machine. |
6 |
|
7 |
No argument at all with this. |
8 |
|
9 |
> I can understand that you |
10 |
> don't care about Debian and I'm prepared to the |
11 |
> unfortunate fact that we will have to maintain extra patch for OpenRC |
12 |
> package in Debian. |
13 |
|
14 |
Please understand that I have no concerns at all with changes that |
15 |
make OpenRC and make it more useful for everybody, including |
16 |
non-Gentoo users. |
17 |
|
18 |
I just think we need to be careful about tolerating incorrect input, |
19 |
simply because some users don't want to correctly provide input. |
20 |
|
21 |
> |
22 |
> On 12/04/2014 04:59 PM, Rich Freeman wrote: |
23 |
>> I think that on a boot phase in case of parallel boot rc should try |
24 |
>> to check if loop exists and it is then print a warning and switch to |
25 |
>> a sequential boot. |
26 |
|
27 |
Just for the record, I didn't write this. :) |
28 |
|
29 |
> |
30 |
>> Just fix your dependencies. |
31 |
> |
32 |
> There's no dependencies to fix. They are already right. But OpenRC |
33 |
> couldn't interpret them right. And I think Debian team won't "fix" their |
34 |
> dependencies tree through all packages with init-scripts forcing |
35 |
> themselves into scopes of every existing init/rc. Using other words, |
36 |
> you're suggesting impossible thing. Sorry, but it sounds just like "get |
37 |
> out of here" without any explanation. =\ |
38 |
|
39 |
A dependency that amounts to "this needs to be last" for more than one |
40 |
service is an error. You can make the system do something other than |
41 |
make every one of them last, but that doesn't mean that you're |
42 |
satisfying the dependency. |
43 |
|
44 |
Something either needs something else or it doesn't. |
45 |
|
46 |
Whether the Debian team is willing to fix these kinds of errors isn't |
47 |
something I have control over. If Gentoo package maintainers were |
48 |
doing this sort of thing I suspect that QA would be getting involved. |
49 |
|
50 |
I can't imagine that this sort of thing won't become just as much of a |
51 |
problem with systemd. If you have a dependency-based service manager, |
52 |
you need to correctly specify your dependencies. Systemd does use |
53 |
targets which do make it easier to manage dependencies, and that is |
54 |
something that could be done in openrc just as easily using dummy |
55 |
services (they're really just virtuals - have a service that |
56 |
starts/stops without actually starting/stopping anything which is |
57 |
trivial in openrc since it is all just bash and openrc doesn't care |
58 |
about processes). |
59 |
|
60 |
Please don't get me wrong - I think this discussion is healthy and I'm |
61 |
not saying "over my dead body" or anything like that. I just want to |
62 |
make sure that we're thinking about the best possible solution. If |
63 |
the current syntax limits our ability to properly specify dependencies |
64 |
I'm all for improving it. I just would rather see a clean and |
65 |
deterministic solution rather than a workaround that tries to guess |
66 |
how to handle a loop. I'm all for input as to how to make life easier |
67 |
for other distros to use OpenRC - it was always intended to be the |
68 |
universal service starting solution from the beginning, hence the |
69 |
name. The fact that potential adoption within other distros is |
70 |
exposing weaknesses in the dependency specification is a good thing - |
71 |
we can improve it. |
72 |
|
73 |
Honestly, I'm not convinced that any solution (openrc, systemd, etc) |
74 |
really has a clean solution for the "this service may or may not need |
75 |
this other service depending on how it is being used" situation. In |
76 |
many cases we're putting a "wants" vs a "needs" specification |
77 |
(whatever the syntax) at the distro level and relying on the user to |
78 |
either override this or manually enable services and so on. |
79 |
|
80 |
-- |
81 |
Rich |