Systemd Package Split
Split systemd-units out of the main systemd package
- Name: Zbigniew Jędrzejewski-Szmek
- Email: firstname.lastname@example.org
- Release notes owner:
- Targeted release: Fedora 22
- Last updated: 2015/1/19
- Tracker bug: <will be assigned by the Wrangler>
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:
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:
- 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.
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 will experience smaller installation footprint.
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.
Packaging guidelines for systemd should be updated.
Parts of the systemd that are not necessary in minimal environments became optional.