[systemd-devel] [packaging] split of systemd package

Lennart Poettering lennart at poettering.net
Wed Nov 11 03:29:24 PST 2015

On Wed, 11.11.15 11:47, Lukáš Nykrýn (lnykryn at redhat.com) wrote:

> Hi,
> During systemd.conf we have discussed some recommendation for
> downstreams, how they could split systemd to subpackages, so lets
> continue that discussion here.
> Personally I don't think it makes sense to split the package to get a
> smaller core package. Most of our binaries are just few KBs. Only
> exception here is /usr/lib/udev/hwdb.d which, on fedora rawhide, has
> about 5,2 MB (15% of the whole package).
> Other aspect would be minimizing external dependencies. I have made a
> list of libraries and which binaries pulls them in [1] and from that
> point of view it would make sense to put follow binaries to subpackage:
> systemd-pull
> systemd-journal-gatewayd
> systemd-journal-remote
> systemd-journal-upload
> systemd-firstboot
> systemd-networkd
> So I suggest following scheme
> systemd
> systemd-libs
> systemd-devel

> systemd-journal-remote (so gatewayd,remote,upload)

Makes sense.

> systemd-networkd (maybe also with resolved?)

I'd probably leave this in the main RPM, after all it doesn't take
possession of any interfaces by default, but makes sure
libsystemd-network returns useful stuff.

But if you do split it out, I'd call the package without the "d" suffix.

What's the effective size of this RPM on x86-64?

> systemd-machine (machined,nspawn,importd)

I'd call this "systemd-nspawn.rpm", really... The name of the daemon
is irrelevant.

> systemd-firstboot (firstboot,sysusers?,factory stuff?)

I'd really not bother with this stuff. This should be in the base, and
it is tiny. Plese leave this in the main package.

sysusers is definitely something we should make a Fedora default, that
is used distro wide, as it makes user registration portable, and is
also what Atomic wants.

THe factory code is in systemctl and PID 1, it makes no sense to split
out, there's nothing really you could split out.

> systemd-hwdb

This makes sense to split out.

>From my perspective the only things that make sense to split out is
nspawn/machinectl/machined/importd/pull into "systemd-nspawn.rpm", the
hwdb into "systemd-hwdb.rpm" and "systemd-journal-remote.rpm" for the
journal remoting things.


Lennart Poettering, Red Hat

More information about the systemd-devel mailing list