This project is inspired by fedora-easy-karma, but with more features.
It allows submitting feedback for bugs and test cases in addition to providing a comment and karma.
By default, all updates in the
testing state that the user has not submitted
themselves or has already commented on are presented, sorted by ascending
submission date (so, oldest to most recent update).
The program assumes that the
rpm binaries are present on the system
(which is probably a reasonable assumption for a CLI tool targeted at fedora
It also expects a config file at
~/.config/fedora.toml, with at least the
[FAS] username = "USERNAME"
If this file is not present, the legacy
~/.fedora.upn file is used as a
If both files are not present, the username has to be specified with the
--username USERNAME CLI switch.
The username is used to authenticate with bodhi, and to filter out updates that the user themselves has submitted, or has already commented on.
fedora-update-feedback queries bodhi for updates for the current
release that are in the
Some additional options can be set either on the command line, or in a
[fedora-update-feedback] section in the
--check-pending CLI switch or the
check-pending = true
configuration option, updates in the
pending state are also queried (for
example, if the user has manually installed builds from koji and wants to give
bodhi feedback for those as well).
Additionally, with the
--check-unpushed flags (or
check-obsoleted = true and
check-unpushed configuration options),
fedora-update-feedback will check if any lingering builds from unpushed
or obsoleted updates are still installed locally.
save-password = true configuration option,
will attempt to securely save the FAS password in the login keyring, so it
does not have to be entered every time. To ignore or overwrite a stored
password, use the
--ignore-keyring CLI switch.
This information is also printed when running
RPM packages are now available from the official fedora repositories.
To compile the program, first install
cargo (the build tool, also pulls in
the Rust compiler) and
openssl-devel (used by the OpenSSL rust bindings).
To download, build, and install the latest version from https://crates.io,
cargo install fedora-update-feedback.
To build from the sources provided on https://pagure.io, download the sources
(recommended: tarball of the latest release from pagure), and easily build
and install the binary for yourself by running
cargo install --path . in
the source directory.
cargo will install the binary into
~/.cargo/bin by default.
To make it available in
$PATH, either copy it into
$HOME/.local/bin, or add
~/.cargo/bin to your
$PATH (probably by editing
I'd like to improve the "visual quality" of the terminal output and pretty-printed data, which should be easy.
It would be great to add additional switches and arguments to the binary (for example, sorting updates by a different value than submission date).