Skip to content

FyraLabs/PackageKit-bootc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PackageKit-bootc

Minimal bootc backend for PackageKit

PackageKit-bootc is a minimal spawned backend for PackageKit that exposes bootc image updates to PackageKit.

It does this by providing a minimal abstract "package" that represents a bootc image, allowing PackageKit frontends to notify about available system image updates and apply them.

Why still PackageKit in the big 25??

While PackageKit is not a great way to do this (you should probably write plugins for GNOME Software and KDE Discover instead), this provides a somewhat minimal abstraction and a basic graphical interface for managing updates for bootc-based systems. Surmize to say, this is a hack.

In the long term, this backend should be deprecated in favor of GNOME Software and Discover's respective plugins, but this is currently the quickest way to provide an abstract update interface.

What about the existing rpm-ostree plugins?

GNOME Software and KDE Discover already ship rpm-ostree plugins, but these do not work properly on pure bootc images due to architectural differences on how they are built. This results in those backends failing to initialize properly; for example Discover's update applet crashlooping due to invalid OSTree data.

PackageKit-bootc circumvents this by exposing a single abstract package, which keeps PackageKit-based frontends functional even on modern bootc-only images.

Building

To build PackageKit-bootc, ensure you have the necessary development dependencies installed, then run:

sudo dnf install PackageKit-devel meson ninja-build glib2-devel

Then, clone the repository and build the project:

git clone https://github.com/FyraLabs/PackageKit-bootc.git
cd PackageKit-bootc
meson setup builddir
meson compile -C builddir

Note

Currently PackageKit-bootc vendors a submodule from the main PackageKit repository. This is because Fedora does not ship PackageKit's internal backend headers as part of its PackageKit-devel package. However the APIs should be stable enough for this to not cause issues. fingers crossed

Installing

To install PackageKit-bootc, run the following command:

sudo meson install -C builddir

About

Minimal bootc backend for PackageKit

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors