From Fedora Project Wiki

< Changes

Revision as of 22:27, 19 January 2015 by Zbyszek (talk | contribs) (first draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Change Proposal Name

Summary

Split systemd-units and systemd-network subpackages 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, two new subpackages will be split out:

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.

systemd-network

This subpackage will contain the new network-related daemons being developed as part of systemd upstream, which are not yet the default and are not widely used: systemd-networkd, systemd-timesyncd, systemd-resolved. libnss_resolve would also be included in this package, since it is useless without resolved.

The main systemd package would *not* require this package. Users of systemd-networkd, systemd-timesyncd, systemd-resolved would have to install it manually. This mirrors the systemd-journal-gateway subpackage.

Benefit to Fedora

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

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

For users of systemd-networkd, systemd-timesyncd, systemd-networkd: need to install additional package.

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

N/A (not a System Wide Change)

Dependencies

N/A (not a System Wide Change)

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.