Gentoo Archives: gentoo-dev

From: Fabio Erculiani <lxnay@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Making systemd more accessible to "normal" users
Date: Wed, 01 May 2013 10:04:52
Message-Id: CAN3Atvo+RgmFgCYMzqjsuL4G89cJv_J7SXg42qfT3r1xQtEuTQ@mail.gmail.com
1 PLEASE DO NOT START A FLAME WAR AND READ ON FIRST.
2 THIS IS NOT A POST AGAINST OPENRC.
3
4 With the release of Sabayon 13.04 [1] and thanks to the efforts I put
5 into the systemd-love overlay [2], systemd has become much more
6 accessible and easy to migrate to/from openrc. Both are able to
7 happily coexist and logind/consolekit detection is now done at
8 runtime.
9 It is sad to say that the "territoriality" in base-system (and
10 toolchain) is not allowing any kind of progress [3] [4]. This is
11 nothing new, by the way.
12
13 There are several components that need patching in order to work as
14 expected with systemd:
15 - polkit needs a patch that enables runtime detection of logind/consolekit
16 - pambase needs to drop USE=systemd and always enable the optional
17 module pam_systemd.so
18 - genkernel needs to migrate to *udev (or as I did, provide a --udev
19 genkernel option), mdev is unable to properly activate LVM volumes and
20 LVM is actually working by miracle with openrc. Alternatively, we
21 should migrate to dracut.
22 - networkmanager need not to install/remove files depending on
23 USE=systemd but rather detect systemd at runtime, which is a 3 lines
24 script.
25 - openrc-settingsd needs to support eselect-settingsd, which makes
26 possible to switch the settingsd implementation at runtime, between
27 openrc and systemd. This also removes the silly conflict between
28 openrc-settingsd and systemd friends.
29 - genkernel should at least support plymouth (work in progress my side)
30 - other ~490 systemd units are missing at this time and writing them
31 could also be a great GSoC project (don't look at me, I'm busy
32 enough).
33
34 All this would come with no cost for the current openrc state
35 (actually, my initramfs speed improvements patches in genkernel.git
36 also benefit openrc).
37 If Gentoo is about choice, we should give our users the right to
38 choose between the init system they like the most.
39
40 It looks like there is some consensus on the effort of making systemd
41 more accessible, while there are problems with submitting bugs about
42 new systemd units of the sort that maintainers just_dont_answer(tm).
43 In this case, I am just giving 3 weeks grace period for maintainers to
44 answer and then I usually go ahead adding units (I'm in systemd@ after
45 all).
46
47 The only remaining problem is about eselect-sysvinit, for this reason,
48 I am probably going to create a new separate pkg called
49 _sysvinit-next_, that contains all the fun stuff many developers were
50 not allowed to commit (besides my needs, there is also the need of
51 splitting sysvinit due to the issues reported in [4]). I am sure that
52 a masked alternative sysvinit ebuild won't hurt anybody and will make
53 Gentoo a bit more fun to use.
54
55 The final outcome will hopefully be:
56 - easier to migrate from/to systemd, at runtime, with NO recompilation
57 at all (just enable USE=systemd and switch the device manager from
58 *udev to systemd -- unless somebody wants to drop the udev part from
59 systemd, if at all possible)
60 - we give the users the right to choose without driving them nuts with
61 weird emerge-fu.
62 - we make possible to support new init systems in future, and even
63 specific init wrappers (bootchart anyone?)
64 - we prepare the path towards a painless migration from consolekit
65 (deprecated for long time now) to logind (we probably need to fork it
66 off the systemd pkg -- upstream projects are _dropping_ consolekit
67 support right now!)
68 - we put back some fun into Gentoo
69
70 If you want to see a working implementation of my systemd-love
71 efforts, just go download [1] and see things working yourself.
72
73 [1] http://www.sabayon.org/release/press-release-sabayon-1304
74 [2] https://github.com/Sabayon/systemd-love
75 [3] For instance: https://bugs.gentoo.org/show_bug.cgi?id=465236
76 [4] "useless crap": https://bugs.gentoo.org/show_bug.cgi?id=399615
77
78 Cheers,
79 --
80 Fabio Erculiani

Replies