Skip to content

Draft: Add plugin gs-plugin-systemd-sysupdate

Create a new plugin gs-plugin-systemd-sysupdate to support OS upgrade through DBus 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 DBus interface. That is, this MR can only work and be merged 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 (OS upgrade and OS components) from sysupdated
  • manage the apps created and perform actions (update and cancel) through sysupdated

"This plugin current will NOT adopt any apps for now."

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.


Known issues:

  • OS components cannot be updated after the OS upgrade

Todo:

  • [important] implement the plugin self-disable in init()
  • make component update a selectable individual update
  • add some useful self-test items
  • show apps (OS components) installed

Verification done:

  • only tested manually in the local-build gnome-os image (build gnome-software with -Dsystemd-sysupdate=true)
Edited by Jerry Wu

Merge request reports