Skip to content

toolbox: Add tooling for exporting system extension from container

Florian Müllner requested to merge fmuellner/gnome-shell:sysext into main

systemd-sysext provides a mechanism to extend the underlying system in a well-defined manner without tainting /usr.

Extend the existing toolbox tooling to allow creating a system extension from the toolbox container, as long as the base system is compatible (which right now means F41).

The workflow implemented here is as follows:

 $ (cd mutter; meson-build --sysext)
 $ (cd gnome-shell; meson-build --sysext)
 $ sysext-update

This sets up a system extension that contains mutter and gnome-shell, installs it to /run/extensions, and merges it.

After a log out, the custom built gnome-shell replaces the executable from the host. If things go wrong, a reboot will restore the original system (because runtime extensions don't persist).

If everything works well, sysext-update --system can be used to make the extension persistent.

Includes !3497 (merged).

Merge request reports

Loading