1 |
On Tue, February 18, 2014 18:12, Canek Peláez Valdés wrote: |
2 |
> On Tue, Feb 18, 2014 at 10:36 AM, Andrew Savchenko <bircoph@×××××.com> |
3 |
> wrote: |
4 |
> [...] |
5 |
>> Every decent project has QA and unit tests one way or another. But |
6 |
>> the larger project is, the more bugs it has. And I do not want bugs |
7 |
>> in PID 1, that's why it should be small and sound, not bloated (even |
8 |
>> with some components split as separate binaries) and broken by design. |
9 |
> |
10 |
> Of course the larger a project is the *potential* number of bugs |
11 |
> increases, but so what? With enough developers, users and testers, all |
12 |
> bugs are *potentially* squashed. |
13 |
|
14 |
Agreed, but I know of enough large projects with large development teams |
15 |
and even more users that don't get the most basic bugs fixed. |
16 |
Quantity is not equivalent to Quality. |
17 |
|
18 |
>> Kernel has mature error correction infrastructure (Oops handling) and |
19 |
>> much wider community. |
20 |
> |
21 |
> And systemd has a *much* wider community than any other init system. |
22 |
> So it can handle a larger code base. |
23 |
|
24 |
Incorrect. How many people use systemd as opposed to SysV Init? |
25 |
|
26 |
>>> > SysVinit code size is about 10 000 lines of code, OpenRC contains |
27 |
>>> > about 13 000 lines, systemd — about 200 000 lines. |
28 |
>>> |
29 |
>>> If you take into account the thousands of shell code that SysV and |
30 |
>>> OpenRC need to fill the functionality of systemd, they use even more. |
31 |
|
32 |
The shell-code is proven to work though and provided with most of the |
33 |
software. Where it isn't provided, it can be easily created. |
34 |
I have seen (and used) complex start-up scripts for large software |
35 |
implementations which complex dependencies. |
36 |
Fortunately, later versions of those software packages have fixed that |
37 |
mess to a large extend, but I wonder how well systemd unit-files can work |
38 |
in such an environment. |
39 |
Having sockets created prior to service start will not work as components |
40 |
will fail due to time-outs, leaving even a bigger mess. |
41 |
|
42 |
>> If that code will fail, this wouldn't be critical at system level. |
43 |
>> Thus scope of fatal error is limited. |
44 |
> |
45 |
> Also in systemd, since most of its code is not critical (again; |
46 |
> logind, datetimed, localed, etc., failing, has no impact whatsoever on |
47 |
> the rest of the system). |
48 |
|
49 |
I understand the usecase for "logind", but what is the point of a daemon |
50 |
to supply the time (datetimed)? Is this a full replacement for "ntpd"? |
51 |
And what does "localed" do? That's configured once in the environment and |
52 |
should be handled using environment variables. |
53 |
|
54 |
-- |
55 |
Joost |