Systemd package split
Summary
Two new subpackages will be split out from the main systemd package. systemd-container will contain stuff for launching and managing VMs and containers. system-udev will contain udevd and other hardware-related bits.
Owner
- Name: Zbigniew Jędrzejewski-Szmek
- Email: zbyszek@in.waw.pl
- Release notes owner:
Current status
Detailed Description
- systemd-container.rpm will consist of systemd-nspawn, systemd-machined, machinectl, systemd-importd, systemd-pull.
- systemd-udev.rpm will consist of systemd-udevd, udevadm, udev rules, and the hardware database.
Both new subpackages will be optional. systemd-container.rpm is useful only for people creating containers or VMs. systemd-udev.rpm should be generally installed, but can be skipped in containers.
Benefit to Fedora
systemd-container.rpm is 3.5MB on disk, and also pulls in libmicrohttpd, which pulls in a bunch of other dependencies. It can be skipped to save space.
systemd-udev.rpm is 6.5MB on disk, but installing it recompiles the hwdb. The recompiled hwdb is another 6.5MB. Leaving this package out thus saves 13MB and some processing time. It can be skipped in containers which do not interact with hardware.
Scope
- Proposal owners:
Update packaging to create the new subpackages.
- Other developers: add dependencies on systemd-udev and systemd-container as necessary for other packages, modify comps. Make sure anaconda installs systemd-udev by default.
- Release engineering: N/A
- List of deliverables: N/A
- Policies and guidelines: N/A
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Proper Obsoletes will be provided so that both new subpackages are installed on upgrades. The effect on upgrades should be minimal.
How To Test
Verify that udev functionality works as expected (systemd-udev package is installed, /dev/disk/by-id is present).
User Experience
N/A (not user visible)
Dependencies
Contingency Plan
- Contingency mechanism: Add
Requires: systemd-udev systemd-container
to the systemd package to return to status quo ante.
- Contingency deadline: anytime
- Blocks release? No
- Blocks product? No
Documentation
- Trial copr repo: https://copr.fedoraproject.org/coprs/zbyszek/systemd/
- Planned changes to systemd.spec: http://in.waw.pl/git/fedora-systemd/
- mailing list discussion: http://lists.freedesktop.org/archives/systemd-devel/2015-November/034917.html
- Previous attempt: https://fedoraproject.org/wiki/Changes/SystemdPackageSplit
Why make this into a Change at all?
Mostly because of the potential for breakage if people lose systemd-udevd on real hardware and because of the need to add dependencies to other packages.