SoK/2021/StatusReport/Mariam Fahmy: Difference between revisions
Mariamfahmy (talk | contribs) No edit summary |
Mariamfahmy (talk | contribs) No edit summary |
||
Line 18: | Line 18: | ||
==== February 2021 ==== | ==== February 2021 ==== | ||
* I started by writing a new backend for rpm-ostree, its aim is: | * I started by writing a new backend for rpm-ostree, its aim is: | ||
** | ** Getting the list of deployments which is equivalent to '''''rpm-ostree status''''' from the rpm-ostree DBus class and displaying them on qDebug()/terminal. <br> | ||
** | ** Detecting the currently active deployment.<br> | ||
** | ** Checking if there is a new deployment update by using QProcess which executes '''''rpm-ostree update --check'''''.<br> | ||
* Writing a new rpm-ostree resource for the currently active | ** Implementing the AbstractBackendUpdater so that Discover can be notified if there is an available update.<br> | ||
* Writing a new rpm-ostree resource for the currently active deployment which contains its information: | |||
** Deployment name. <br> | ** Deployment name. <br> | ||
** Deployment version. <br> | ** Deployment version. <br> | ||
** Deployment BaseCommit. <br> | ** Deployment BaseCommit. <br> | ||
** Deployment | ** Deployment GPCSignature. <br> | ||
** Deployment | ** Deployment origin. <br> | ||
* Writing a new rpm-ostree transaction which downloads the update and perform the update | * Writing a new rpm-ostree transaction which downloads the update and perform the update, it is equivalent to '''''rpm-ostree update''' | ||
''<br> | |||
==== March 2021 ==== | ==== March 2021 ==== | ||
* Listing the remote refs of kinoite by using QProcess which executes '''''ostree remote refs kinoite'''''.<br> | |||
* Detecting the current refs by using QProcess which executes '''''ostree refs'''''.<br> | |||
* | * Filtering the remote refs list and detecting the most recent available refs.<br> | ||
* | * Adding new button in the currently active deployment resource if there is a new available refs that can be switched to.<br> | ||
* | * Modifying rpm-ostree transaction to support rebasing to a new refs, it is equivalent to '''''rpm-ostree rebase <new refs>''''' | ||
=== Contact Me: === | === Contact Me: === |
Latest revision as of 18:58, 7 April 2021
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
- Repository: Discover repo
- Proposal: Accepted proposal
- Working repo: Currently working repo which is supposed to be merged at the end of SoK
Work Done
February 2021
- I started by writing a new backend for rpm-ostree, its aim is:
- Getting the list of deployments which is equivalent to rpm-ostree status from the rpm-ostree DBus class and displaying them on qDebug()/terminal.
- Detecting the currently active deployment.
- Checking if there is a new deployment update by using QProcess which executes rpm-ostree update --check.
- Implementing the AbstractBackendUpdater so that Discover can be notified if there is an available update.
- Getting the list of deployments which is equivalent to rpm-ostree status from the rpm-ostree DBus class and displaying them on qDebug()/terminal.
- Writing a new rpm-ostree resource for the currently active deployment which contains its information:
- Deployment name.
- Deployment version.
- Deployment BaseCommit.
- Deployment GPCSignature.
- Deployment origin.
- Deployment name.
- Writing a new rpm-ostree transaction which downloads the update and perform the update, it is equivalent to rpm-ostree update
March 2021
- Listing the remote refs of kinoite by using QProcess which executes ostree remote refs kinoite.
- Detecting the current refs by using QProcess which executes ostree refs.
- Filtering the remote refs list and detecting the most recent available refs.
- Adding new button in the currently active deployment resource if there is a new available refs that can be switched to.
- Modifying rpm-ostree transaction to support rebasing to a new refs, it is equivalent to rpm-ostree rebase <new refs>
Contact Me:
- Mariam Fahmy
- Email: [email protected]
- Matrix: @mariamfahmy24:kde.org