Bug 2209413

Summary: Prepare for DNF 5, don't depend on `dnf`
Product: [Fedora] Fedora Reporter: Evan Goode <egoode>
Component: system-config-languageAssignee: Parag Nemade <pnemade>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 42CC: i18n-bugs, pnemade
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: pnemade: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: system-config-language-3.5.0-16.fc43 system-config-language-3.5.0-16.fc42 system-config-language-3.5.0-16.fc41 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-04-21 09:30:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2166026    

Description Evan Goode 2023-05-23 19:46:22 UTC
(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

Comment 1 Fedora Release Engineering 2023-08-16 08:07:42 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.

Comment 2 Evan Goode 2023-08-16 18:31:40 UTC
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.

Comment 3 Evan Goode 2024-02-08 23:11:28 UTC
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+.

Comment 4 Aoife Moloney 2025-02-26 12:53:40 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.

Comment 5 Fedora Update System 2025-04-21 09:27:33 UTC
FEDORA-2025-1c56105a45 (system-config-language-3.5.0-16.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-1c56105a45

Comment 6 Fedora Update System 2025-04-21 09:30:58 UTC
FEDORA-2025-1c56105a45 (system-config-language-3.5.0-16.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 7 Fedora Update System 2025-04-21 10:00:42 UTC
FEDORA-2025-af21e25769 (system-config-language-3.5.0-16.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-af21e25769

Comment 8 Fedora Update System 2025-04-21 10:27:10 UTC
FEDORA-2025-443722c13a (system-config-language-3.5.0-16.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-443722c13a

Comment 9 Fedora Update System 2025-04-22 01:45:51 UTC
FEDORA-2025-af21e25769 has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-af21e25769`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-af21e25769

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2025-04-22 01:55:13 UTC
FEDORA-2025-443722c13a has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-443722c13a`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-443722c13a

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2025-04-29 20:38:45 UTC
FEDORA-2025-af21e25769 (system-config-language-3.5.0-16.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2025-04-30 01:37:26 UTC
FEDORA-2025-443722c13a (system-config-language-3.5.0-16.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.