From Fedora Project Wiki


Systemd Package Split

Summary

Split systemd-units out of the main systemd package

Owner

Current status

  • Targeted release: Fedora 22
  • Last updated: 2015/1/19
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Systemd contains many binaries and depends on a fairly large number of libraries. Packages which carry systemd units currently have to depend on systemd (through %post, %preun, %postun macros used to install and uninstall systemd units), which grows the dependency tree and increases the size of minimal installs.

With this proposal systemd-units subpackages will be split out again:

systemd-units

This subpackage will contain the directories and binaries necessary to satisfy %post, %preun, %postun macros for packages containing systemd units (systemctl, systemd-escape, systemd-sysusers, udevadm, journalctl), and config information (pkg-config files).

The main systemd package would require this package so it will be pulled in on all existing systems. All packages which have BuildRequires:systemd will also pull it in transitively.

Systemd previously had a -units subpackage and ~150 packages still depend on it. Those packages would start using the reduced subpackage immediately. Other packages wishing to use the reduced dependency, would have to change the BuildRequires and Requires to systemd-units.

Benefit to Fedora

Smaller installation footprint in minimal chroot installations and in mock build roots.

For some previous discussions, see:

Scope

  • Proposal owners: Create the subpackage, test that macros work as expected.
  • Other developers: Change the BuildRequires and Requires to systemd-units if wanted.
  • Release engineering: None
  • Policies and guidelines: s/systemd/systemd-units/ in the appropriate places.

Upgrade/compatibility impact

Should not result in visible changes.

How To Test

Check that packages build and install properly. Macros for packages with systemd units should produce the same result when run without systemd installed or running, as with.

User Experience

User will experience smaller installation footprint.

Dependencies

N/A

Contingency Plan

Revert the packaging change and rebuild systemd. Main systemd package would provide systemd-units, as it does now, so no other changes should be necessary.

  • Contingency deadline: should be possible at any time.
  • Blocks release? No.
  • Blocks product? No.

Documentation

Packaging guidelines for systemd should be updated.

Release Notes

Parts of the systemd that are not necessary in minimal environments became optional.