Skip to content

Add plugin gs-plugin-systemd-sysupdate

Create a new plugin gs-plugin-systemd-sysupdate to support OS upgrade through systemd-sysupdated service

Important: This MR is based on the systemd-sysupdate MR, which implements the sysupdated service for high layer to access systemd-sysupdate through D-Bus. That is, this plugin works only after the above systemd MR has been merged and released.


This plugin implements the plugin interface and the functions to

  • discover new apps by querying update targets (host as OS upgrade and component app updates) from sysupdated
  • manage the apps created and perform actions update() and cancel() through sysupdated

This plugin current does NOT adopt any apps

Note: Based on the sysupdated design, this plugin should work with AppStream. However, this might need to introduce new AS_KIND and AS_BUNDLE to the AppStream spec. and also require the support in libappstream and gnome-software. All these things are out of the scope in this MR.


Verification done:

  • run self test with the command $ meson test gs-self-test-systemd-sysupdate -v, which tests:
    1. create apps from targets
    2. search apps with specific keywords 'sysupdate'
    3. run app upgrade/updates with progress update
    4. cancel app upgrade/updates
    5. update and remove target stored within plugin
  • test manually using gnome-os with sysupdated patch to test with local update repo.
    1. trigger refresh to check apps are created for targets
    2. trigger, check download progress and cancel app upgrade/updates
    3. trigger and wait app upgrade/updates success
Edited by Jerry Wu

Merge request reports