[systemd-devel] why are the systemd binaries so huge and can we do something about that?

Lennart Poettering lennart at poettering.net
Wed May 18 10:04:55 UTC 2016


On Tue, 17.05.16 18:09, Michael Biebl (mbiebl at gmail.com) wrote:

> 2016-05-17 10:36 GMT+02:00 Lennart Poettering <lennart at poettering.net>:
> > On Mon, 16.05.16 04:24, Michael Biebl (mbiebl at gmail.com) wrote:
> >
> >> Hi,
> >
> >> Any ideas, why simple tools like loginctl, busctl, hostnamectl require 300K+ ?
> >> What's up with systemd-analyze?
> >
> > it embedds much of PID1's logic actually, in order to do unit file
> > checking.
> >
> >> Could we move more common functionality into a shared, private library
> >> to counter the constant growth?
> >
> > This has been discussed, and yeah, this should be a good thing to
> > do. It's just a matter of doing it. A shared, but explicitly private
> > library would be good. I figure it should be built from the stuff in
> > src/shared and src/basic. This would mean it won't help in the
> > systemd-analyze in case, but I think it's OK, given that that's a
> > debugging tool.
> 
> Looks like this is not quite that simple. I fiddled with this for a
> bit without any success.
> We have quite a bit of noinst libs atm [1].
> Would you turn all those into pkglib_LTLIBRARIES?
> Merge them into a single lib (or maybe two: libudev-internal and
> libsystemd-internal?)

Well, again, I'd really focus on basic and shared and turn them into
one lib. Stuff like libcore is only used by PID 1 and systemd-analyze
and hence not worth sharing I would say. And things like
libmachine-core only exists in order to make test cases that test the
machined sources easy. The library is used only by a single binary
that is actually also installed.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list