On Thu, Dec 8, 2016 at 7:41 AM, Tzafrir Cohen tzafrir@cohens.org.il wrote:
On Wed, Dec 07, 2016 at 04:49:36PM +0100, Ythogtha wrote:
I'm new on this list, so hello everybody :)
If I may make a small remark... I feel that somehow, having a library installed only to know wether some other software is present or not feels the wrong way to do things.
I don't have SELinux enabled on my system. Still many core components on my system are linked with libselinux.so.1. Will you fork Debian to patch out the SELinux support?
I don't see libselinux.so.1 on my debian system.
What is the actual overhead?
libsystemd0 takes 646kb of disk space. It adds a negligible amount of memory and run time (for the case of not using systemd).
Removing it adds a huge amount of
Software already have dependencies and depency checking, wether it is at
build-time or run-time. If you write a software that could use any part of systemd, you shouldn't force the presence of libsystemd to find out if the parts you might want are present ! Either it is a compile-time feature, then if you compile it without systemd, you'll have to rebuild it again if you decide to install systemd, or it is a run-time feature, and a simple check for dynamically loading a shared library should be enough to know wether libsystemd is present.
So I don't see the point in having libsystemd if you do not have any
part of systemd installed !
When I build ffmpeg, I don't need a lib_is_lame_present to be able to
use lame if it is present ! Either I build it with LAME=yes, and it will fail if lame isn't there, or it will pass. What would be the point of having some other library installed to know wether or not lame is there ? And if it weren't a compile-time dependency, but a dynamically loaded library at runtime, the code just has to try to load the library and report that the functionality isn't present if it fails.
You confuse Debian with Gentoo. Gentoo is a distribution for those who rebuild all of their packages with various options. Along the way the unique sets of options lets the trigger their own unique bugs and thus they help test the various softwares.
Debian is a binary distribution. There is a single set of build options for each package.
It should be the same for a software using systemd. Either it is
compiled with libsystemd, therefore you need it to run it. Or it detects at run-time wether a particular functionality is there, and there is no need to rely on having libsystemd present to do that.
How do you detect this at run time? Every program should write its own (buggy) test? No, it should use an existing test. Use libsystemd.
The middle ground being to compile with libsystemd, and use it to detect
wether it is actually working and a specific functionality is available. But it seems easy enough to allow for compiling without libsystemd and then assuming sysytemd is never there and none of its functionality are usable. Rebuild it if things changes, that is the way to do it.
This works in Gentoo. Not in Debian.
-- Tzafrir Cohen | tzafrir@jabber.org | VIM is http://tzafrir.org.il | | a Mutt's tzafrir@cohens.org.il | | best tzafrir@debian.org | | friend
arm-netbook mailing list arm-netbook@lists.phcomp.co.uk http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook Send large attachments to arm-netbook@files.phcomp.co.uk