https://bugzilla.redhat.com/show_bug.cgi?id=2209413
Bug ID: 2209413 Summary: Prepare for DNF 5, don't depend on `dnf` Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: system-config-language Severity: high Assignee: pnemade@redhat.com Reporter: egoode@redhat.com QA Contact: extras-qa@fedoraproject.org CC: i18n-bugs@lists.fedoraproject.org, pnemade@redhat.com Target Milestone: --- Classification: Fedora
(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 system-config-language 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/dnf-nightly/, and documentation is available here: https://dnf5.readthedocs.io/en/latest/. - Alternatively, or in the meantime, change the system-config-language 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 system-config-language 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
https://bugzilla.redhat.com/show_bug.cgi?id=2209413
Evan Goode egoode@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |2166026
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2166026 [Bug 2166026] Make DNF5 The Default
https://bugzilla.redhat.com/show_bug.cgi?id=2209413
Evan Goode egoode@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Comment|0 |updated
--- Comment #0 has been edited ---
(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 system-config-language 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 system-config-language 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 system-config-language 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
https://bugzilla.redhat.com/show_bug.cgi?id=2209413
Evan Goode egoode@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |CLOSED Resolution|--- |DEFERRED Last Closed| |2023-08-16 18:31:40
--- Comment #2 from Evan Goode egoode@redhat.com --- Hi, as you may be aware, the switch to DNF 5 has been postponed, likely to Fedora 41. In Fedora 39, the `dnf` command will be provided by the `dnf` package, and DNF 5 will not be installed by default.
Since no action needs to be taken for a while, I am closing this bug.
FYI, in the meantime, we have set up a testing [COPR repository](https://copr.fedorainfracloud.org/coprs/rpmsoftwaremanagement/dnf5-testing/) that provides a version of DNF 5 that obsoletes DNF 4. It can be used to test software in an environment similar to the future release of Fedora (whichever that will be) when DNF 5 replaces DNF 4:
``` sudo dnf-3 copr enable rpmsoftwaremanagement/dnf5-testing ```
Enabling the COPR and upgrading your system should replace DNF 4 (the `dnf` package) with DNF 5 (`dnf5`), and `/usr/bin/dnf` will be DNF 5.
https://bugzilla.redhat.com/show_bug.cgi?id=2209413
Evan Goode egoode@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |NEW Resolution|DEFERRED |--- Keywords| |Reopened
--- Comment #3 from Evan Goode egoode@redhat.com --- Reopening this since 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+.
https://bugzilla.redhat.com/show_bug.cgi?id=2209413
Parag Nemade pnemade@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|39 |rawhide
i18n-bugs@lists.fedoraproject.org