This is the new face of Linux development, folks.
Printable View
From your link this list:
---
1 Small is beautiful.
2 Make each program do one thing well.
3 Build a prototype as soon as possible.
4 Choose portability over efficiency.
5 Store data in flat text files.
6 Use software leverage to your advantage.
7 Use shell scripts to increase leverage and portability.
8 Avoid captive user interfaces.
9 Make every program a filter.
---
1. systemd < sysv-init,cron,syslog,xinit,dbus
2. systemd has a little extra bin for each of above
4. portability was an unsolved issue in unix ancient times when every instance of a mainframe computer had its incompatibility in every aspect - unix philosophy was just an unsuccessful attempt of the big players to overcome their own problem. This issue is solved since decades. In times there are billions but not only a handful of computers the efficiency is most important!
5. Database theory is prior and more important: store every data once! This is not effectivly possible using text files. Despite this fact: Every text file is a binary in times of multi-cultural Unicode.
7. Systemd shell scripts are known as unit files in an extra simple language better fitting its purpose
8. I never saw a gui of systemd.
Android is a good example of a Linux system which does not use udev. Busybox (with mdev) is another (albeit much more minor one), so it is not true that you MUST use udev.
It is not true that "udev is constantly changing together with the kernel". Your platform needs accept4() support and support for devtmpfs, but that's about it (any of the LTS kernels should be fine, some of the oldest ones might require some trivial backporting).
You inverted an implication there... systemd is tied to udev, not the other way around, so your argument does not work...
The concern is understandable. However, you should by now have been told repeatedly that 1) non-systemd support for udev will continue as long as non-systemd uses exist (and they do, Martin Pitt of Canonical/Ubuntu fame has commit access to systemd-ubev for crying out load) 2) if ever udev becomes dependent on systemd creating a fork would be trivial (don't look to eudev as an example, what they are doing is crazy and creating a lot more trouble/bugs/work for themselves than necessary).
That's news to me. Udev works just fine without systemd. We supported that for some time in Arch Linux without problems and we still support udev without systemd in our initramfs.
You do not have to build all of systemd to build udev. With the correct packaging script building only the necessary is trivial. That said, the simplest approach is probably to just flip the right ./configure switches to avoid building almost all of systemd.
If by 'many' you mean 'two', then you are correct: libcap and dbus. python (and everything else) is an optional dependency, which you would obviously disable in your setting.
We installed udev separately from systemd in Arch for a short period of time. It was just a matter of deleting some stuff and moving some stuff, I don't see what the fuss is about. If you prefer to have patch against the Makefile to make this even more trivial, that would be an obvious thing for your distro to carry if they don't wish to use systemd. The patch would be extremely trivial... Only reason I never wrote this (would take 5 minutes) is that my distro uses systemd so there is no point.
You are misreading this statement, and it has been explained repeatedly. They (we) are looking forward to the day when there is no longer a need for non-systemd udev. Meaning the day that everyone has seen the light and switched to systemd. As long as Debian/Ubuntu are not using systemd by default you have nothing to worry about.
Not true. See above.
A gross misrepresentation, and absolutely not true.
Sure, you can mount your harddrive on another system and use "journalctl -D /my_harddrive/var/log/journal". Or if you don't like that you can keep using (r)syslog(-ng) and you'll get your logs in /var/log/messages as before.
Systemd does not ship any .service files itself. Either the package will ship with one from upstream, or your distro probably does it for you (in Arch we have converted all our rc scripts to .service files, Fedora has done the same, and I'm pretty sure most of Debian has also been converted).
Actually, that's probably the easiest to understand. At the most fundamental level, systemd is about starting other programs, whether it be on-demand, or part of system boot. And since that's all cron does too, why run two daemons that do much the same thing, when adding time-based triggers to systemd is simple enough and allows one of them to be dropped?
Not out of the box, unfortunately, but several projects have patched it to obtain a standalone-build. For example, see:
http://www.linuxfromscratch.org/lfs/...er06/udev.html
and the Makefile contained in this tarball.
http://anduin.linuxfromscratch.org/s...-197-2.tar.bz2
It would be much more convenient if it supported a --only-udev build, but my understanding from the LFS developers was that a) upstream weren't interested, and b) this standalone Makefile was actually easier than patching the systemd build files. Certainly, udev is one of those packages that doesn't benefit much from using an autotools build, since it's not intended to be portable, nor does it have a set of complex dependencies to check for.