SoK/2021/StatusReport/Mariam Fahmy

From KDE Community Wiki

Plasma Discover rpm-ostree backend

Background

Plasma Discover is a KDE software center app that makes it easy to browse, install and remove apps on the Plasma desktop.
I am currently writing a new backend for Discover which supports doing system upgrades using rpm-ostree to support Fedora Kinoite upgrades which is a KDE version of Fedora Silverblue.
OSTree is a tool which manages file system trees, it uses a git like repository that records the changes to any files while package managers know how to install, uninstall and configure different packages but OSTree has no idea about the relationships between files, by adding RPM capabilities on OSTree, it becomes rpm-ostree which is a hybrid image and package system.
The idea behind that is to use a server architecture to keep the operating system installed in the client machine in sync with the latest versions.
Our goal is to perform a backend service for system upgrade using rpm-ostree for Plasma Discover.

Mentors

Aleix Pol and Timothée Ravier.

Links

Work Done

February 2021

  • I started by writing a new backend for rpm-ostree, its aim is:
    • getting the list of deployments from the rpm-ostree DBus class and displaying them on qDebug()/terminal.
    • detecting the currently active deployment.
    • implementing the AbstractBackendUpdater and checking if there are updates available.
  • Writing a new rpm-ostree resource for the currently active deployments which contains its information:
    • Deployment name.
    • Deployment version.
    • Deployment BaseCommit.
    • Deployment LayeredPackages.
    • Deployment LocalPackages.
  • Writing a new rpm-ostree transaction which downloads the update and perform the update.

March 2021

Work in Progress

  • Discover notifier to display when an update is available so the user can start updating.
  • List of refs.
  • Rebasing to a new version.

Contact Me: