Am 15.08.2012 14:01, schrieb Felipe Contreras:
On Wed, Aug 15, 2012 at 1:55 PM, Thomas Bächler <thomas@archlinux.org> wrote:
Am 15.08.2012 13:34, schrieb Felipe Contreras:
1./ Be a small simple binary
The systemd main binary is not very large (larger than sysvinit's /sbin/init, but not by much).
But that binary alone is useless, and certainly not *simple*.
/sbin/init from sysvinit alone is useless. What is your point?
The rest are rather simple scripts (in the case of Arch Linux).
And you are still ignoring the fact that systemd is anything but *simple*. How convenient to ignore that argument.
What argument? You _claim_ that it isn't simple, but you do not give any proof for that claim.
2./ Have no dependencies
That is pure BS. If something has no dependencies, it has to do everything in the binary itself. You either end up with no features, or potential for tons of bugs.
Having NO dependencies also means you have to bypass the C library and implement everything from scratch - that is the worst idea ever.
No need to overreact, the meaning is clear:
2. Have as few dependencies as possible, preferably dependencies that are used widely in most systems and that have few dependencies themselves, and are simple themselves
Okay, where exactly does systemd violate that?
d-bus, for starters.
Dependencies that are * used widely - check * in most systems - check * have few dependencies themselves - check * are simple themselves - ahemm So, dbus almost qualifies. You said "for starters", what others are there.
3./ Be easy to follow, fix and lockdown, best fit being interpreted languages.
So, init should be a small binary in an interpreted language? Am I the only one who notices you are contradicting yourself.
No. The "services" (in systemd lingo) should be in an interpreted language: e.g. shell.
Why should they be? As far as I understand, they're human-readable text files. One might say this is an "interpreted language".
No, they are compiled binaries. The code is in C (not interpreted).
Ah, you mean those. You do realize that we now used many of those tools in our initscripts, and I don't see you complaining about that. There's probably plenty of reasons why they are in C, I don't know them. In any case, I don't see how making something in a scripting language is simpler - in contrast, I always find that writing a small C program for a task is easier and the result is more robust than a script. I'll stop discussing with you now, as this will lead nowhere. The fact remains that all you do is complain, instead of providing an alternative. The decisions are being made by the people who actually _maintain_ this stuff inside Arch.