Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Changing order of default virtual/udev provider
Date: Tue, 09 Feb 2016 13:44:13
Message-Id: CAGfcS_nJp3o+8WULCYDa9Nj7+YShuGbBsMY7k8-bQEJZm=+9WA@mail.gmail.com
In Reply to: Re: [gentoo-dev] Changing order of default virtual/udev provider by Daniel Campbell
1 On Tue, Feb 9, 2016 at 8:06 AM, Daniel Campbell <zlg@g.o> wrote:
2 >
3 > Perhaps that's because each of those things should not actually be
4 > considered the same object type. That sort of design may be convenient
5 > to users, but is more akin to treating everything like a nail when you
6 > have a hammer.
7 >
8 > Also note that in the 'alternate' model, each of the above is handled
9 > by a different tool. It's obvious that using a combination of
10 > different tools will result in different conceptualizations of each of
11 > those parts in a system. I see little benefit in a single project
12 > pretending to understand everything about each of them.
13
14 I thought the whole beauty of unix was the everything-is-a-file design?
15
16 >
17 > If I didn't know any better I'd say this reads like shilling. Firstly,
18 > there's a real problem if you're depending on a daemon restarting
19 > itself. Why is it stopping in the first place? If it's stopping,
20 > something wrong is happening and restarting it *isn't* going to fix it.
21
22 Sure, but then why does the linux kernel have an option to auto-reboot
23 after a panic? Surely it is better if there is a kernel panic to just
24 leave the server down for a few days until an admin shows up to debug
25 the kernel?
26
27 >
28 > Existing permission systems handle a lot of cases. *kit (logind, is
29 > more like it) has some extra things to make it a bit more granular.
30 > It's mostly unneeded complexity. The biggest benefit logind brings to
31 > a system is multi-seat capability.
32
33 Emphasis on "existing permission systemS" - again you're comparing a
34 patchwork of different solutions to a problem vs a harmonized
35 solution.
36
37 >>
38 >>> And a lot of Gentoo is surprisingly simple: Like our use of bash
39 >>> scripts for recipies to build things, like using rsync to
40 >>> deploy/relay not just those recipies, but security notices and
41 >>> news items, which are themselves reasonably simple formats.
42 >>
43 >> Well, one thing about Gentoo that certainly isn't simple is our
44 >> init.d scripts.
45 >>
46 >> Compare this: http://pastebin.com/sSDtpF4t
47 >>
48 >> With this: http://pastebin.com/Lfn8r7qP
49 >>
50 >> Systemd does the job in 10% of the code (and half of it is a
51 >> comment), and doesn't implement its own service polling and killer
52 >> script during shutdown independently for every service (not that
53 >> every init.d script even does this - most of them will just leave
54 >> orphans behind, and systemd will catch orphans that even the
55 >> lengthy init.d script for apache misses).
56 >
57 > This is a dishonest comparison. You're comparing a declarative
58 > configuration file with a Turing-complete scripting language.
59
60 That is how each solution implements its configuration. It isn't my
61 fault that openrc forces everybody to write bash scripts just to
62 start/stop a single process.
63
64 The complexity of openrc is inherent in the design.
65
66 Sure, systemd has more lines of code internally, but the difference is
67 that instead of having a bazillion independent bash scripts maintained
68 by different people at different levels of QA, you have a single
69 codebase that almost all distros share that is maintained to a higher
70 level of QA. Features are implemented once there instead of a million
71 times in various shell scripts.
72
73 >
74 > I can get behind that. This dodges all sorts of arguments regarding
75 > initial installations. There's still the issue of the virtual,
76 > however; would we add sys-fs/udev to p.mask in non-systemd profiles to
77 > clarify the decision, or make eudev the default choice in the virtual?
78 > I think we can all agree on making it an additional step in the
79 > handbook, but the default is still at hand.
80
81 I agree, but it becomes a less important default, like whether you
82 prefer vi/emacs to nano.
83
84 >>
85 >> If you want to talk about default providers, the most
86 >> straightforward one to use is systemd. It is what people are going
87 >> to be used to coming from other distros, it is what every upstream
88 >> package expects to be running anyway, and it is the simpler tool
89 >> that does everything that most people want.
90 >>
91 >> For people who want a more exotic configuration, there are
92 >> alternatives, and Gentoo should certainly support using them as
93 >> long as people care to maintain them.
94 >
95 > This is the same argument other distros used before they switched
96 > completely to systemd. When has Gentoo ever been about marching to the
97 > beat of other distros? Are you advocating for following what others do
98 > simply because it's popular?
99
100 Gentoo has always been like other mainstream distros (until Arch came
101 along it was probably closest to Debian). Its distinctiveness came
102 from offering choices to users and being source-based. I think that
103 is what we're good at.
104
105 The only reason we had OpenRC is that EVERYBODY was rolling their own
106 service managers, and OpenRC was better than the alternatives. I
107 think that was great, but everybody else has moved on.
108
109 > The e-mails I've seen from you in this thread seem out of the
110 > ordinary. Has the systemd team been talking with you, or people from
111 > other distributions urging for Gentoo to switch?
112
113 Not at all.
114
115 I'll admit this has been a bit of an emotional thread for me. I think
116 my frustration comes from the fact that it seems like the whole reason
117 that eudev exists is because people really strongly believe that
118 systemd isn't the right way to go, and yet those same people don't
119 seem to realize that others might feel just as strongly that eudev
120 isn't the right way to go.
121
122 Surely anybody suggesting switching to eudev as the default
123 virtual/udev provider had to have realized that this would create a
124 huge controversy.
125
126 Even if standalone udev is a dead-end (something that is speculation
127 at this point), it isn't like the code that exists today will suddenly
128 stop working. Worst case we just have to change the default at a
129 later point in time.
130
131 Even just kicking the can down the road has a lot of advantages:
132 1. Everything works fine today.
133 2. We don't know for sure that it will ever stop working.
134 3. Deferring a decision means we don't have to wage a huge battle
135 over which way the decision ought to go.
136 4. If we do have to make a decision in the future, we'll have more
137 information to act on.
138
139 --
140 Rich

Replies