Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Changing order of default virtual/udev provider
Date: Wed, 10 Feb 2016 00:12:15
Message-Id: pan$8db91$9e01304a$d415e6fc$b592658d@cox.net
In Reply to: Re: [gentoo-dev] Changing order of default virtual/udev provider by Daniel Campbell
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