(I'm filing issues with all the packages that currently depend on `dnf`.) DNF 5 is a new package manager that will replace DNF 4 in Fedora 39+: Starting in Fedora 39, the `dnf` command will be provided by the `dnf5` package rather than the `dnf` package, and `dnf5` will obsolete `dnf`. Since rpmdistro-repoquery currently depends on DNF 4, it should choose one of the following strategies to avoid breaking the Fedora upgrade: - Add support for DNF 5, and depend on the `dnf5` package in Fedora 39+ instead of `dnf`. Builds of DNF 5 are available in this COPR repository: https://copr.fedorainfracloud.org/coprs/rpmsoftwaremanagement/dnf5-unstable/, and documentation is available here: https://dnf5.readthedocs.io/en/latest/. - Alternatively, or in the meantime, change the rpmdistro-repoquery package to depend on `python3-dnf` instead of `dnf`, and call the `dnf-3` binary instead of `dnf`. The old DNF 4 command will still be available in the distribution, but only as `dnf-3` (the binary is called `dnf-3` rather than `dnf4` for historical reasons; it is the "Python 3 version" of DNF). The first option is preferred to this one; it is not recommended to modify installed software using both DNF 4 and DNF 5 on the same system. - Or, if this package is no longer being maintained, consider removing it from Fedora. At some point, this project should adopt DNF 5, but the immediate issue is removing the dependency on `dnf`. We are planning to replace DNF with DNF5 in Fedora Rawhide very soon, by 2023-06-01, and the rpmdistro-repoquery package will break as long as it still depends on the `dnf` package. For more information about the switch to DNF 5, see https://fedoraproject.org/wiki/Changes/ReplaceDnfWithDnf5. Reproducible: Always
Thanks for the heads up! rpmdistro-repoquery is only used for querying, not installing packages, but I will test in a container if it can use dnf5 or not.
Confirmed that rpmdistro-repoquery works just fine when I edited it to use dnf5 instead of dnf on Fedora 38
I think this is still a valid issue since rpmdistro-repoquery still depends on dnf in all versions of Fedora: https://src.fedoraproject.org/rpms/rpmdistro-repoquery/blob/rawhide/f/rpmdistro-repoquery.spec#_17 The DNF 4 -> DNF 5 transition was delayed until Fedora 41, but now the Fedora 41 development cycle is beginning, and we are planning to obsolete DNF 4 by DNF 5 in Fedora Rawhide within the next few weeks. Again, libdnf is not going away, and the old DNF 4 command will still be available as `/usr/bin/dnf-3`, but `/usr/bin/dnf` will be DNF 5, which has a slightly different command-line interface. Packages should no longer depend on the `dnf` package in Fedora 41+.
I just opened https://src.fedoraproject.org/rpms/rpmdistro-repoquery/pull-request/1.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle. Changing version to 40.