1 |
Daniel Campbell posted on Tue, 09 Feb 2016 06:44:34 -0800 as excerpted: |
2 |
|
3 |
> If anything, a developer will have more control over how their daemon |
4 |
> is handled in the rc script. They would have to read systemd's C code |
5 |
> or its plethora of unit options to set it up 'just right' to achieve |
6 |
> the same. |
7 |
|
8 |
FWIW, that's an unfortunately common misconception. |
9 |
|
10 |
It's just as easy to setup a shell script to do the work in systemd as it |
11 |
is in rc-based systems. After all, at a high level it's simply another |
12 |
executable, and at an equally high level, setting up executables to run |
13 |
automatically at system start or other major system status change event |
14 |
is what init systems, regardless of the specifics, /do/. |
15 |
|
16 |
And in fact, that's pretty much what I've done here for a variety of |
17 |
custom services, using native systemd options and functionality where it |
18 |
makes sense, scripting my own where I haven't found shipped functionality |
19 |
or services that do exactly what I want. |
20 |
|
21 |
And I don't claim to be a C coder so I've certainly not had to read that |
22 |
to do it. While I've used systemd unit options where they make sense |
23 |
because they're generally well documented and do what it says on the tin, |
24 |
if I'd considered rescripting that functionality easier than reading the |
25 |
friendly documentation, I certainly could have done so. |
26 |
|
27 |
Meanwhile, arguably, "more control over how their daemon is handled" is |
28 |
incorrect as well, when with systemd it's trivial to setup cgroup control |
29 |
over anything cgroups control, and there's tools like nspawn if needed, |
30 |
that allow _way_ more control than chroot and the like, with similar |
31 |
levels of pre-configuration necessary. |
32 |
|
33 |
|
34 |
But that's beside the point of the original thread. I disagree with Rich |
35 |
here, because while (like him) I'm a systemd convert myself, I'm strongly |
36 |
in support of keeping it optional, and on profiles where systemd isn't |
37 |
the default, it simply makes no sense to me to default to a device |
38 |
manager that strongly discourages that sort of usage and has said that |
39 |
future breakage is a matter of when, not if, when there's a similarly |
40 |
functional and currently drop-in-replacement device manager that |
41 |
explicitly supports the use-case in question. |
42 |
|
43 |
If it applied to systemd profiles, the question of an appropriate default |
44 |
and its resolution would arguably be far different, but the fact of the |
45 |
matter is it doesn't, we're talking about non-systemd profiles |
46 |
exclusively, and their default openrc use-case is strongly discouraged by |
47 |
udev's systemd upstream, so it simply makes sense to choose defaults |
48 |
where the upstreams aren't rabid enemies. |
49 |
|
50 |
My major remaining concern is, as I've already said, documentation. If |
51 |
that can be resolved, the case is clear enough, and even if not, it's |
52 |
simply a judgment call on which negative is less bad, lack of |
53 |
documentation, or an upstream that's actively opposing our use-case and |
54 |
has clearly stated that breakage is a matter of when, not if. |
55 |
-- |
56 |
Duncan - List replies preferred. No HTML msgs. |
57 |
"Every nonfree program has a lord, a master -- |
58 |
and if you use the program, he is your master." Richard Stallman |