1 |
On Thu, Aug 9, 2012 at 3:42 AM, Luca Barbato <lu_zero@g.o> wrote: |
2 |
[snip] |
3 |
> Repeat after me: having your first process require anything more than |
4 |
> libc is stupid and dangerous. |
5 |
|
6 |
No, it's not. You can (and should) depend on whatever libraries helps |
7 |
to achieve the desired goals. If one of the libraries has a bug, guess |
8 |
what? It should be fixed. And then you repeat until all the used |
9 |
libraries are as stable as libc (or more, if possible), and then the |
10 |
statement that "having your first process require anything more than |
11 |
libc is stupid and dangerous" makes no sense at all. |
12 |
|
13 |
(As a side note, I would like to see the bugrate of libpthread, |
14 |
libudev, libpam, libaudit, libcap, libdbus, etc. I'm pretty sure the |
15 |
latest versions are pretty much rock solid). |
16 |
|
17 |
That's in part what I like the approach taken by systemd (and |
18 |
PulseAudio, by the way); it wants to be a proper solution, and if in |
19 |
using something else they detect a bug, they push to get the bug fixed |
20 |
in the external library (or the kernel sometimes). They don't |
21 |
"workaround" real problems. It's the only way to guarantee that the |
22 |
*whole* stack (not only libc, or the kernel) actually works as it |
23 |
should. |
24 |
|
25 |
So yes, PID 1 should use whatever libraries it makes sense to use, and |
26 |
if there are bugs in them *they should get fixed*. Otherwise lets |
27 |
program everything in assembler, because maybe gcc has a bug |
28 |
somewhere. |
29 |
|
30 |
> Once that concept gets accepted then we could discuss about why |
31 |
> reinventing shellscript may not be that sound and other less glaring, |
32 |
> horrid and appalling design choices. |
33 |
|
34 |
The didn't reinvent shellscript; they replaced it with unit files. |
35 |
That's the best design choice about systemd, IMHO: the unit files say |
36 |
*what* a service should do, not *how*. And besides, you can still use |
37 |
shellscript if your daemon is so fucked up that a regular unit file |
38 |
doesn't cover your case. You should fix your daemon, really; but the |
39 |
option to use shellscript is still there. |
40 |
|
41 |
> Most ideas behind systemd are interesting, their current implementation |
42 |
> is sometimes completely wrong and given the experience with pulseaudio |
43 |
> we all know that they won't change even if you provide code for it. |
44 |
|
45 |
Really? I'm subscribed to the systemd ML, and the author accept all |
46 |
kind of contributions. If they don't agree with one in particular they |
47 |
explain why and the discuss a compromise if necessary. Doing the |
48 |
following in my git clone of the project: |
49 |
|
50 |
git log --format='%aN' | sort -u | wc |
51 |
|
52 |
shows a total of 337 contributors to systemd. So I really believe that |
53 |
you are talking nonsense in this particular point. |
54 |
|
55 |
> Obviously it is always fun seeing people first say "accept it or fork |
56 |
> it", then "do not keep your fork you are wasting time" once somebody |
57 |
> starts forking and/or working for an alternative. |
58 |
|
59 |
By all means, fork it. Just allow Gentoo users to use udev/systemd as |
60 |
upstream intended. And while we are at it, don't put OpenRC in the |
61 |
dependency list of baselayout, otherwise it gets pulled in (and |
62 |
sysvinit with it) for all systemd users even if we don't use it at |
63 |
all. I maintain a really small overlay to use systemd exclusively in |
64 |
Gentoo, so I don't need to install OpenRC and sysvinit: |
65 |
|
66 |
https://github.com/canek-pelaez/gentoo-systemd-only/ |
67 |
http://xochitl.matem.unam.mx/~canek/gentoo-systemd-only/ |
68 |
|
69 |
Regards. |
70 |
-- |
71 |
Canek Peláez Valdés |
72 |
Posgrado en Ciencia e Ingeniería de la Computación |
73 |
Universidad Nacional Autónoma de México |