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 |