4 ms·
One thing that is not making the discussion clearer is that many people are failing to distinguish between two different kinds of dependencies. Depending on a s
by _delirium 12y ago
One thing that is not making the discussion clearer is that many people are failing to distinguish between two different kinds of dependencies. Depending on a systemd library versus depending on the systemd daemons running are quite different scenarios. It would be ideal for the latter to be minimized, but the former is not a problem at all.
To take an analogy, plenty of Debian packages depend on libselinux1, because they feature optional selinux functionality, and not depending on libselinux1 would result in broken symbol tables. But most of these packages work perfectly fine without SELinux configured (as you might guess, since very few people actually have SELinux configured). Having libselinux1 on your system does not require you to use SELinux, and imo it would be unreasonable to complain that your system is now "infected" by SELinux because you can't uninstall libselinux1. It's just a library, like many others, and having it on your system doesn't impose policy requirements on you as administrator or user. Yet people are making exactly that argument with systemd, complaining that some systemd library or another is on their system and thereby "infecting" it. Rather than focusing on the more legitimate issue of which packages actually require systemd daemons to be configured/running.
- digi_owl 12y agoDo systemd even have such a "inert" lib? Best i can tell everything happens via dbus (to be replaced with kdbus), and that again requires that systemd is running as pid 1 (as it will refuse to run as anything else, unless it is inside a namespace governed by another systemd as pid 1).
- _delirium 12y agoSure, that's what libsystemd0 is. It's just a shared library, like libselinux1, that lets applications be compiled with systemd support. It doesn't depend on systemd itself, or start up any daemons. It's quite possible to have a package that's compiled with support for two different logging systems, for example. In that case it would depend on the libraries for both of them, but would only actually use the one that is configured. On the other hand, it's possible an application actually does require systemd running to function, in which case it would depend on 'systemd' as well, not only 'libsystemd0'.