Gentoo Archives: gentoo-dev

From: "Steven J. Long" <slong@××××××××××××××××××.uk>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Making systemd more accessible to "normal" users
Date: Wed, 01 May 2013 13:27:26
Message-Id: 20130501135427.GA2837@rathaus.eclipse.co.uk
In Reply to: [gentoo-dev] Making systemd more accessible to "normal" users by Fabio Erculiani
1 On Wed, May 01, 2013 at 12:04:00PM +0200, Fabio Erculiani wrote:
2 > PLEASE DO NOT START A FLAME WAR AND READ ON FIRST.
3 > THIS IS NOT A POST AGAINST OPENRC.
4 >
5 > With the release of Sabayon 13.04 [1] and thanks to the efforts I put
6 > into the systemd-love overlay [2], systemd has become much more
7 > accessible and easy to migrate to/from openrc. Both are able to
8 > happily coexist and logind/consolekit detection is now done at
9 > runtime.
10
11 That's great: well done :-)
12
13 Can I just check: what about people not using consolekit nor logind?
14
15 > It is sad to say that the "territoriality" in base-system (and
16 > toolchain) is not allowing any kind of progress [3] [4]. This is
17 > nothing new, by the way.
18
19 I don't think you help yourself by making that kind of remark: when I read
20 those bugs I see some valid concerns being raised, which you just ignore.
21 For instance, wrt "nonsensical blockers" I too would like to know some
22 examples, as was queried in comment 27 [3]. In fact it was the first thing
23 that came to mind when reading your post, as I thought where possible things
24 were just installed for systemd (such as unit files) even when the user
25 is not using it.
26
27 > There are several components that need patching in order to work as
28 > expected with systemd:
29 > - polkit needs a patch that enables runtime detection of logind/consolekit
30 > - pambase needs to drop USE=systemd and always enable the optional
31 > module pam_systemd.so
32
33 Again, what about people not using consolekit, nor logind, with no intention
34 of ever installing systemd? I've got nothing against this so long as it
35 is guaranteed not to break my pam setup. As-is I feel *very* wary of a change
36 that unconditionally requires a 'pam_systemd.so'. Please note I am not hostile
37 to your aims: I am merely seeking reassurance.
38
39 > - genkernel needs to migrate to *udev (or as I did, provide a --udev
40 > genkernel option), mdev is unable to properly activate LVM volumes and
41 > LVM is actually working by miracle with openrc.
42
43 Why is that such a "miracle"? openrc has worked with lvm since the beginning
44 afair, and is both clean, portable C, and modular.
45
46 > Alternatively, we should migrate to dracut.
47 > - networkmanager need not to install/remove files depending on
48 > USE=systemd but rather detect systemd at runtime, which is a 3 lines
49 > script.
50
51 Sounds reasonable; since I don't use it, that can't affect me in any case.
52
53 > - openrc-settingsd needs to support eselect-settingsd, which makes
54 > possible to switch the settingsd implementation at runtime, between
55 > openrc and systemd. This also removes the silly conflict between
56 > openrc-settingsd and systemd friends.
57 > - genkernel should at least support plymouth (work in progress my side)
58 > - other ~490 systemd units are missing at this time and writing them
59 > could also be a great GSoC project (don't look at me, I'm busy
60 > enough).
61 >
62 > All this would come with no cost for the current openrc state
63 > (actually, my initramfs speed improvements patches in genkernel.git
64 > also benefit openrc).
65 > If Gentoo is about choice, we should give our users the right to
66 > choose between the init system they like the most.
67
68 I must be missing something as I thought they already had that choice.
69
70 From reading the bug, the only pro of your approach is that the user
71 does not have to edit the kernel command-line to try out a new init.
72 Initially, you tried to sell this as "lowering the bar" which is actually
73 a con afaic: if someone is trying to run Gentoo and is incapable of
74 dealing with the kernel command-line, it's likely they won't be able to
75 install it; they certainly won't be able to maintain it, ime.
76
77 Later, we get the "some EFI bootloaders don't allow it." Could you elaborate
78 on how a system we install grub to, won't allow us to change anything?
79 I am not doubting you: I just think we need more explanation of the exact
80 context where we can install Gentoo, but not a bootloader.
81
82 > It looks like there is some consensus on the effort of making systemd
83 > more accessible,
84
85 Sure there is: there's also consensus that this approach is wrong for
86 Gentoo. And I have to concur, without further reasoning from you. Switching
87 init isn't done that often, and when it is a Gentoo user is expected to
88 deal with configuration. In this case, it's a doddle to set the command-line
89 to init=/sbin/fubar to try it, and then when it's running the user can
90 change the symlink, or just revert as they choose.
91
92 If they can't handle the above, they shouldn't be on Gentoo imo. And sabayon
93 already sets up systemd, so I don't see the use-case frankly. Apart from making
94 Gentoo base-system more suitable for direct usage in Sabayon, which is not our
95 problem.
96
97 What are the effects for other downstreams? Funtoo for instance, has been
98 swimming against the upstream udev/systemd mania, from glancing at their site
99 recently. Have you consulted with other downstreams about their needs and got
100 buy-in from them too? That would strengthen your case, tho imo it's weak
101 irrespective of what systemd-preferring downstreams want: after all, they're
102 distros, not Gentoo users, and are supposed to be expert at setting things up.
103
104 So I just don't see which Gentoo users this is helping. Making it even more
105 trivial to change init than it already is, is actually a bad thing in my eyes.
106 It gives the impression that it can be undertaken lightly which is simply bad
107 practice.
108
109 > while there are problems with submitting bugs about
110 > new systemd units of the sort that maintainers just_dont_answer(tm).
111 > In this case, I am just giving 3 weeks grace period for maintainers to
112 > answer and then I usually go ahead adding units (I'm in systemd@ after
113 > all).
114
115 AFAIK it's been policy for a while that systemd unit files should be installed
116 by default, for all the reasons you've given. I can't see a maintainer being
117 bothered by the systemd herd adding them when they have no interest: after all
118 users can already set an INSTALL_MASK, and it makes binpkgs more useful.
119
120 > The only remaining problem is about eselect-sysvinit, for this reason,
121 > I am probably going to create a new separate pkg called
122 > _sysvinit-next_, that contains all the fun stuff many developers were
123 > not allowed to commit (besides my needs, there is also the need of
124 > splitting sysvinit due to the issues reported in [4]). I am sure that
125 > a masked alternative sysvinit ebuild won't hurt anybody and will make
126 > Gentoo a bit more fun to use.
127 >
128 > The final outcome will hopefully be:
129 > - easier to migrate from/to systemd, at runtime, with NO recompilation
130 > at all (just enable USE=systemd and switch the device manager from
131 > *udev to systemd -- unless somebody wants to drop the udev part from
132 > systemd, if at all possible)
133
134 How is adding USE=systemd to a system with it switched off (ie: enabling it),
135 *not* going to lead to recompilation?
136
137 > - we give the users the right to choose without driving them nuts with
138 > weird emerge-fu.
139
140 What weird "emerge-fu"? You haven't outlined any at all. Unless you mean
141 changing a USE flag and the standard emerge process, which isn't what anyone
142 here would think of as "emerge-fu": just normal usage.
143
144 Also, if you can't handle emerge, you really should be on another distro.
145
146 > - we make possible to support new init systems in future, and even
147 > specific init wrappers (bootchart anyone?)
148
149 Which is possible already, so this is null.
150
151 > - we prepare the path towards a painless migration from consolekit
152 > (deprecated for long time now) to logind (we probably need to fork it
153 > off the systemd pkg -- upstream projects are _dropping_ consolekit
154 > support right now!)
155
156 Some people don't use either. For good reason, but let's not get into a
157 flamewar: let's leave it as that "choice" thing you mentioned before. I
158 take it those users will not see any breakage beyond missing "features"?
159
160 > - we put back some fun into Gentoo
161
162 Eh, I've been having much more fun since I got rid of semantic-craptop,
163 switched to mutt[A], and turned off all nubkit-related flags. My KDE came
164 back to me, and runs smooth just like 3.5 used to :) Then I replaced my
165 /bin/sh with /bin/bb which sped up bootup by an order of perceived
166 magnitude, and also sped up the _rest_ of my system. Of course, the latter
167 is only possible because Unix is designed on a modular basis, and we can
168 still swap components in and out on Linux (for now.)
169
170 > If you want to see a working implementation of my systemd-love
171 > efforts, just go download [1] and see things working yourself.
172 >
173 > [1] http://www.sabayon.org/release/press-release-sabayon-1304
174 > [2] https://github.com/Sabayon/systemd-love
175 > [3] For instance: https://bugs.gentoo.org/show_bug.cgi?id=465236
176 > [4] "useless crap": https://bugs.gentoo.org/show_bug.cgi?id=399615
177
178 Again, I don't think you help your case with this remark. I expected the
179 "useless crap" to be a reference to lennart-ware. In fact, he was pointing
180 out that he told you all 8 months ago to raise it upstream: several commands
181 had already been migrated in upstream git according to another comment. So
182 the "useless crap" was in fact what he'd usually call whining ime, about the
183 lack of a "magic fix."
184
185 Please note: I fully support your effort to make it easy to switch back
186 and forth (I actually believe many people who try out openrc will stay with it.)
187 I just don't think that adding a fragile eselect module (along with "this needs
188 investigation" as things come up) is the way to do it. Nor does it solve
189 any real problem in the Gentoo context. Nor should someone change init on a whim,
190 without being ready to handle configuration.
191
192 In fact, dumbing down Gentoo is dangerous imo. It makes it far more likely
193 that user will mess up something else more significant, likely leading to data
194 loss. Gentoo, like Unix, doesn't stop you from doing stupid things, as that
195 would stop you doing clever things. If you're not ready for that (which the
196 install process beats into you) then you're better off not using it, afaic.
197
198 That last is actually the reason I haven't put our installer out to users on
199 the forum: I don't think it's a good idea to have an automated install unless
200 you've done at least 2 manual ones. And that would go out the window with
201 an easy installer. Perhaps that's why you feel Sabayon users need the Gentoo
202 bar lowered.
203
204 To my mind the answer to that is to educate them some more, and make it clear
205 that Gentoo is not Sabayon for that very reason. It's not meant to hold your
206 hand: it's far more likely to slap you on the wrist. Or indeed shoot your foot
207 off if, and only if, you tell it to.
208
209 Regards,
210 steveL.
211
212 [A] "kmail to mutt with maildir and procmail"
213 http://forums.gentoo.org/viewtopic-t-945868.html
214
215 --
216 #friendly-coders -- We're friendly, but we're not /that/ friendly ;-)

Replies