dnf5 icon indicating copy to clipboard operation
dnf5 copied to clipboard

doc: Missing "Package filtering" section in dnf5 man page

Open m-blaha opened this issue 10 months ago • 7 comments

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.

m-blaha avatar Mar 28 '24 11:03 m-blaha

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.

jan-kolarik avatar Mar 28 '24 11:03 jan-kolarik

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

gbcox avatar Apr 14 '24 19:04 gbcox

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).

j-mracek avatar Apr 15 '24 08:04 j-mracek

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/

gbcox avatar Apr 15 '24 13:04 gbcox

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!

gbcox avatar Apr 15 '24 14:04 gbcox

OK, I found the issue, I'm opening a bug report on bugzilla. Thanks! https://bugzilla.redhat.com/show_bug.cgi?id=2275530

gbcox avatar Apr 17 '24 13:04 gbcox

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.

jan-kolarik avatar Apr 17 '24 13:04 jan-kolarik