fedora-easy-karma is a console application that makes it easier to submit feedback for proposed updates in a Fedora or EPEL testing repository, all from your command line.
It can automatically recognize any testing package that you have installed (it overrides the stable version), it gives you various pieces of information on the package, including other users' comments, and it lets you easily comment and provide karma (evaluation) to that package. For more details on karma, check the Understanding package karma section.
In order to use Fedora Easy Karma, it is important that you have enabled testing packages (testing updates) on your system. Testing packages are newer version of applications, programs, or libraries, and they will eventually become a part of stable updates to the system.
By default, testing packages are not enabled on the system (except for Beta versions), so if you want to use them, you need to enable them explicitely. There are two ways to bring testing packages onto your system:
You can temporarily enable the testing repository while you run the dnf update command. With this approach, you will only download and install new testing updates when you decide for it.
To make DNF installing testing updates, use
$ sudo dnf update --enablerepo=updates-testing --best
Note that when you do not use the --enablerepo argument in the future, DNF will not update the packages to their latest testing versions and your system could get into a situation when you will not have installed the newest testing packages, but you will not have installed the stable packages either, so you could be experiencing issues, especially if the particular versions of the packages you have installed were problematic.
To reset your system to the stable version of the packages, use
$ sudo dnf distro-sync
You can persistently enable the testing repository and always update to the newest testing packages. When you enable them, you will be getting these new updates anytime you will use the dnf update command until you disable them again. With this approach, your Fedora will a step ahead of the stable Fedora, so you might experience issues with certain applications or packages. However, this is what testing is about, isn't it?
To persistently enable the testing repository, use
$ sudo dnf config-manager setopt "updates-testing.enabled=1"
To disable the testing repositories, use the same command, but replace enabled=1 with enabled=0. Also, it could be wise to distro sync your system afterwards.
Alternatively, you can use your package manager, such as Gnome Software, KDE Discover, or DNFdragora to enable or disable repositories.
Every new updated package arrives in a testing repository where it needs to spend some time (usually upto 14 days) before it can be moved into the stable repository. While being there, users can comment on the package and provide evaluation to it, the so called karma.
The provided karma can be positive, neutral, or negative based on the user experience and testing of that particular package. While neutral karma does not affect the life of the package in the testing repository, both positive and negative karma does.
If a package gets a pre-defined number of positive karma (that depends on the packager's decision), it will be made ready for a push into the stable repository and it does not have to wait out the grace period. On the other hand, when a package receives negative karma, the automated push is blocked and the packager either pushes the package manually, or they fix the problems and make a new build of the package and the process starts anew.
Fedora Easy Karma is not installed on the system by default, so you need to install it first. To do so, execute
$ sudo dnf install fedora-easy-karma
When you have installed the application, you can run it from the console using
$ fedora-easy-karma
The application will show you information about the packages, users' comments related to it, and it will let you comment and provide karma. If you do not wish to comment and provide karma for this particular package, you can skip to a next package or you can ignore that package and move to the next one, until all the packages have been provided karma, skipped or ignored.
When you skip the package, Fedora Easy Karma will ask about it next time you run it. If you ignore the package, Fedora Easy Karma will not ask you about it any longer until a newer version of that package is found on your system.
Note that in order to use Fedora Easy Karma, you need to have a FAS account. If you do not have, create the account at Fedora Accounts.
Using optional arguments, you can alter the default way Fedora Easy Karma behaves. Note, that the following list only shows the most often used arguments. For a complete list, use the --help argument.
| Argument | Meaning |
|---|---|
--help |
Shows the help message. |
bodhi-comments=[all\|important\|none] |
Only show selected Bodhi comments. |
--datadir=DATADIR |
Changes the location of the configuration directory. By default it is placed in ~/.config/fedora-easy-karma |
--default-comment=COMMENT |
Use this value as a default comment for each shown package. |
--default-karma=KARMA |
Use this value as a default karma for each shown package. |
--no-cache |
Do not use a pre-cached Oraculum search and force fetch info from Bodhi (takes much longer) |
--no-color |
Do not use color output. By default, some fields use color for better orientation, however they might not be well readable with some terminal palettes, and it might be necessary to switch them off. |
--no-ignore-own |
Do not ignore your own packages. |
--include-ignored |
Show the package even if you have ignored it previously. |
--installed-max-days=DAYS |
Only include packages installed withing the last DAYS days. |
--installed-min-days=DAYS |
Only include packages installed at least for DAYS days. |
--pages |
Clear the terminal between packages so that only that particular package is shown at the terminal screen. This can help to increase readability of the output. |
--retries=RETRIES |
How many times to retry to submit the comment if it fails. |
--wrap-width=WIDTH |
The length of the line after which the text will wrap. The default value is 80. |
The configuration file can be used to switch on options that you would use frequently and save some time by typing them, e.g. if you put pages = 1 into the configuration file, Fedora Easy Karma will behave as if --pages were added as an CLI argument.
By default, the configuration file does not exist. If you want to use it, create the config.ini file and place it in the ~/.config/fedora-easy-karma directory.
Note, that loading a config file through the CLI arguments is not supported.
The config.ini uses the INI structure, i.e. the variable = value format where each option is placed on a new line. You can use comments in the file, using the # symbol to indicate them. The following is a valid example of the config file:
# This is a basic setting for the Fedora Easy Karma # Switch on pagination pages = true # Only show important Bodhi comments bodhi_comments = important # Wrap lines after 100 letters wrap_width = 100
In case of on/off options, you can use one of the following options to indicate the settings, such as yes, no, true, false, on, off, 1, and 0.
Where the option needs a particular non-Boolean value, use the correct value obtained from the --help argument.
If you use a configuration file, but you need to alter the behaviour slightly, you can override the configuration file by simply providing the value to the option on CLI.
For example, if you do not use colors and you have the no_color = 1 in the configuration file, but you want to use colors temporarily, you do not have to edit the configuration file. Just use --no-color=0 on the CLI and for the following run, the configuration file setting for this particular argument will be surpressed while leaving all other configuration file settings intact.
Note that if you want to use the overriding mechanism, you must not use whitespaces in the definiton, --pages = 0 will not work correctly. The correct format is --pages=0.
For overriding, you can use the same keywords as you would use in the configuration file, i.e. --pages=false will work, too.
If you experience problems with Fedora Easy Karma, please consider reporting an issue at the project's source page.