Requirements for DNF5 in Fedora 41

Hi, it’s Nicola, from the DNF5 team, I would like to start a discussion on the enablement of DNF5 in Fedora 41 asking specifically the quality-team about requirements/blockers that should be addressed before the F41 deadline gets too close.

The Fedora 41 development is starting now, and we are committed to fulfill all the requirements to enable DNF5 in Fedora 41.
Therefore, I would like to inform the Fedora quality-team on how we track all the requirements and how we prioritize and plan. We use this GH milestone to track all the requirements. This milestone is periodically reviewed to fulfill the Fedora release requirements and align with team capacity.

If there are missing points that need to be discussed, this would be a great time for our team to start any topic.

Furthermore, If we could use this discussion as a brainstorm for planning or asking questions, and then we could pull out some GH tickets that would be ideal for us.


1 Like

Does dnf update --refresh work? I think I heard it was not implemented?

I use this command all the time and if it is not in dnf5 then I need to know what I have to do to rewrite all my admin scripts that use its replacement.

Hi Barry, yes it’s already implemented and present in current Fedora builds. See also DNF5 Package Management Utility — dnf5 documentation.

1 Like

I was using “dnf clean all && dnf upgrade” in place of “dnf upgrade --refresh”. That’s a wasteful sledgehammer way but worked. I’m glad to see dnf5 finally has refresh back.

The other things I want is “dnf provides <path>” or equivalent in dnf5 and for the old system-upgrade and offline-upgrade to be implemented

Hello Mark, the provides command is also already available.

The other things I want is “dnf provides ” or equivalent in dnf5 and for the old system-upgrade and offline-upgrade to be implemented

Our current priority is completing the system-upgrade functionality in DNF5, which should be ready upstream I believe in about two months. We already have a proof of concept implementation in place, and it is crucial for Fedora 41 as it facilitates system upgrades to the subsequent version.

Regarding offline upgrades, we are working on establishing a unified approach across all commands to enable storing and replaying any transaction offline. You can follow the progress here. Changes in this area are expected, mainly extending the existing feature set from DNF4.

Hello Mark, the provides command is also already available.

Okay, that’s good, it wasn’t a while back and I don’t constantly check dnf5 against all the features it was missing.

Thanks for the update. I’ve seen the git activity and was going to ask when it would be available for testing. Once it hits I’ll be using DNF5 fulltime and reporting issues, if any.

1 Like

It is just nice how much faster dnf5 is. It is a real pleasure to work with it.

Thanks for starting this Topic to see the progress of it. Good work!

1 Like

Hi Nicola! It might seem interesting, but we (the Quality team) don’t seem to have too many DNF-specific criteria or test cases :slight_smile: Rather, a lot of them are implied by testing a different tool that internally uses DNF. So for example we care about anaconda being able to perform an installation, or gnome-software being able to manipulate RPM packages. We don’t really say which particular calls or commands must work, just that those workflows must work overall. Does this make sense?

We have some release criteria that we check when a new Fedora release is being created:
Basic Release Criteria - Fedora Project Wiki
Fedora 40 Beta Release Criteria - Fedora Project Wiki
Fedora 40 Final Release Criteria - Fedora Project Wiki

It would be great if you could look at those and try to find out which use cases DNF is involved in, and make sure they’re still going to work in F41.

I went through the criteria and these are my highlights:

When it comes to test cases, these could be interesting to you (note that they currently target dnf4, so if there are any specific commands, we’ll update them to dnf5 syntax once needed):


We did write a slightly more extensive set of dnf5-focused test cases for a test day when dnf5 was first slated to be made the default:

All from Test Day:2023-08-11 Fedora 39 DNF 5 - Fedora Project Wiki . That still kinda only just scratches the surface, though…