Small update program written in python intended for use in Universal Blue, executes update scripts/tasks placed in /etc/ublue-update.d
(make sure each script has exec perms)
Includes systemd timers and services for auto update
dependencies (fedora): sudo dnf install python3-psutil libnotify
You can add this to your image by simply pulling down and installing the rpm:
COPY --from=ghcr.io/ublue-os/ublue-update:latest /rpms/ublue-update.noarch.rpm /tmp/rpms/
RUN rpm-ostree install /tmp/rpms/ublue-update.noarch.rpm
If you are on an image derived from uBlue main:
COPY --from=ghcr.io/ublue-os/ublue-update:latest /rpms/ublue-update.noarch.rpm /tmp/rpms/
RUN rpm-ostree override remove ublue-os-update-services && rpm-ostree install /tmp/rpms/ublue-update.noarch.rpm
usage: ublue-update [-h] [-f] [-c] [-u]
options:
-h, --help show this help message and exit
-f, --force force manual update, skipping update checks
-c, --check run update checks and exit
-u, --updatecheck check for updates and exit
valid config paths (in order of priority)
"$HOME"/.config/ublue-update/ublue-update.toml
/etc/ublue-update/ublue-update.toml
/usr/etc/ublue-update/ublue-update.toml
section: checks
battery_percent
: checks if battery is above specified percent
cpu_load
: checks if cpu average load is under specified percent
section: notify
dbus_notify
: enable graphical notifications via dbus
You can build and test this package in a container by using the provided container file.
make builder-image
will create a container image with all dependencies installedmake builder-exec
will execute a shell inside the builder container to allow you easily build the rpm package withmake build-rpm
make
will trigger the build process and generate a.whl
package that can be installedpip install --user -e .
will allow to install an editable version of this package so you quickly edit and test the program
Special thanks to cukmekerb for helping troubleshoot/add features early in project development