dnf5
dnf5 copied to clipboard
doc: Missing "Package filtering" section in dnf5 man page
The information is quite important and should be available in dnf5 documentation. This is what we have in dnf.8 man pages in dnf4:
PACKAGE FILTERING
Package filtering filters packages out from the available package set, making
them invisible to most of dnf commands. They cannot be used in a transaction.
Packages can be filtered out by either Exclude Filtering or Modular Filtering.
Exclude Filtering
Exclude Filtering is a mechanism used by a user or by a DNF plugin to modify
the set of available packages. Exclude Filtering can be modified by either
includepkgs or excludepkgs configuration options in configuration files. The -‐
-disableexcludes command line option can be used to override excludes from con‐
figuration files. In addition to user-configured excludes, plugins can also ex‐
tend the set of excluded packages. To disable excludes from a DNF plugin you
can use the --disableplugin command line option.
To disable all excludes for e.g. the install command you can use the following
combination of command line options:
dnf --disableexcludes=all --disableplugin="*" install bash
Modular Filtering
Please see the modularity documentation for details on how Modular Filtering
works.
With modularity, only RPM packages from active module streams are included in
the available package set. RPM packages from inactive module streams, as well
as non-modular packages with the same name or provides as a package from an ac‐
tive module stream, are filtered out. Modular filtering is not applied to pack‐
ages added from the command line, installed packages, or packages from reposi‐
tories with module_hotfixes=true in their .repo file.
Disabling of modular filtering is not recommended, because it could cause the
system to get into a broken state. To disable modular filtering for a particu‐
lar repository, specify module_hotfixes=true in the .repo file or use --se‐
topt=<repo_id>.module_hotfixes=true.
To discover the module which contains an excluded package use dnf module pro‐
vides.
The file is already in the sources, but I haven't deployed it yet as I wanted to check everything there is valid also for dnf5
.
I've noticed the following when trying to, for example: dnf5 install thorium-browser_122.0.6261.132_SSE3.rpm I receive the following: dnf5 install thorium-browser_122.0.6261.132_SSE3.rpm Problem: conflicting requests
- package thorium-browser-122.0.6261.132-1.x86_64 is filtered out by exclude filtering You can try to add to command line: --skip-broken to skip uninstallable packages
This works fine using dnf4. Is this the behavior now in dnf5? I didn't see anything in the configuration that would account for this, but perhaps I'm looking in the wrong place, or this is unintended.
I'm currently using: dnf5-5.2.0.0-0.20240414010613.5.1.17+169.ga46355d0.fc40.x86_64
I've tried compare following command and both commandss resulted in the same behavior with a better message from DNF5.
dnf5 install acpi-1.7-20.fc38.x86_64.rpm -x acpi
dnf install acpi-1.7-20.fc38.x86_64.rpm -x acpi
This works fine using dnf4. Is this the behavior now in dnf5? I didn't see anything in the configuration that would account for this, but perhaps I'm looking in the wrong place, or this is unintended.
May I ask you to specify what working fine means? From the description I can only guess that DNF4 did not use the same configuration that DNF5 - may be there is some setting in overrides see https://dnf5.readthedocs.io/en/stable/dnf5.conf.5.html#drop-in-configuration-directories (this configurations are not supported in DNF4 therefore it might be reason of the different behavior).
Thanks for the reply. I want to make it clear that I am installing rpm files that reside in a directory on my system. These files are not in any repository.
What I mean is that when I enter:
dnf install thorium-browser_122.0.6261.132_SSE3.rpm
the command installs the package. No error messages.
When I use the command in dnf5:
dnf5 install thorium-browser_122.0.6261.132_SSE3.rpm
I receive the following error message:
Failed to resolve the transaction:
Problem: conflicting requests
- package thorium-browser-122.0.6261.132-1.x86_64 is filtered out by exclude filtering
You can try to add to command line:
--skip-broken to skip uninstallable packages
I went to the link you provided and I don't have any configuration files in the locations for overrides.
Nothing in: /etc/dnf/libdnf5.conf.d
Nothing in: /usr/share/dnf5/libdnf.conf.d/
I tried again with another file, this time for Bitwarden. I downloaded: Bitwarden-2024.4.1-x86_64.rpm
I currently have bitwarden-2024.3.0-1.x86_64 on my system.
Here are the results when trying to use dnf5:
dnf5 upgrade Bitwarden-2024.4.1-x86_64.rpm
Updating and loading repositories:
Repositories loaded.
Nothing to do.
dnf5 install Bitwarden-2024.4.1-x86_64.rpm
Updating and loading repositories:
Repositories loaded.
Failed to resolve the transaction:
Problem: conflicting requests
- package bitwarden-2024.4.1-1.x86_64 is filtered out by exclude filtering
You can try to add to command line:
--skip-broken to skip uninstallable packages
Here are the results using dnf4:
dnf upgrade Bitwarden-2024.4.1-x86_64.rpm
Last metadata expiration check: 0:01:32 ago on Mon Apr 15 07:30:03 2024.
Dependencies resolved.
=========================================================================
Package Architecture Version Repository Size
=========================================================================
Upgrading:
bitwarden x86_64 2024.4.1-1 @commandline 77 M
Transaction Summary
=========================================================================
Upgrade 1 Package
Total size: 77 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Upgrading : bitwarden-2024.4.1-1.x86_64 1/2
Running scriptlet: bitwarden-2024.4.1-1.x86_64 1/2
update-alternatives is /sbin/update-alternatives
Cleanup : bitwarden-2024.3.0-1.x86_64 2/2
Running scriptlet: bitwarden-2024.3.0-1.x86_64 2/2
/usr/bin/bitwarden has not been configured as an alternative for bitwarden
warning: %postun(bitwarden-2024.3.0-1.x86_64) scriptlet failed, exit status 2
Error in POSTUN scriptlet in rpm package bitwarden
Upgraded:
bitwarden-2024.4.1-1.x86_64
Complete!
OK, I found the issue, I'm opening a bug report on bugzilla. Thanks! https://bugzilla.redhat.com/show_bug.cgi?id=2275530
OK, I found the issue, I'm opening a bug report on bugzilla. Thanks! https://bugzilla.redhat.com/show_bug.cgi?id=2275530
Thanks for finding the cause! We'll try to look into it soon.