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.

Tanks

2 Likes

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.

2 Likes

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

4 Likes

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…

3 Likes

Has the python3-dnf-plugin-local been carried over to DNF5?

I have a few beta systems installed as virtual machines and the plugin seems to be broken.

I’ve used this plugin since the Fedora 2x days.

On new F41 beta installs you can still use dnf4. As dnf5 not claims to be backward compatible. Both dnf4 & dnf5 are installed.

ilikelinux@fe41:/usr/bin$ ls -al dnf*
lrwxrwxrwx. 1 root root       4 Aug  1 20:00 dnf -> dnf5
-rwxr-xr-x. 1 root root    1986 Aug 14 20:00 dnf-3
lrwxrwxrwx. 1 root root       5 Aug 14 20:00 dnf4 -> dnf-3
-rwxr-xr-x. 1 root root 1482344 Aug  1 20:00 dnf5

If you want to use dnf as on Fedora 40 you could make an alias to dnf4.

I propose that you make an own topic, to ask if, coping the packages local and make them available, will be implemented in dnf5 as whe had with the plugnin in dnf4 and add the dnf5 tag.

A silly question. I always used sudo dnf up --ref -y. Now ref doesn’t exist anymore and i just change it to refresh. No problem but, is there any plan to reimplement it? Thanks for the great work you guys do.

PD: Does anyone from the team or the community plan to write an article in fedoramagazine about the new features that dnf5 brings? What configuration differences are there in etc/dnf/dnf.conf? Thanks

Thanks @grumpey for posting a link. That answers the question from @glennzo .

Further questions or problems related to dnf plugins might be discussed in this fresh topic here:

2 Likes

On a new beta install the file is empty while I found a pre configuration in :

@fedora:/usr/share/dnf5/libdnf.conf.d$ cat 20-fedora-defaults.conf 
[main]
best=False
skip_if_unavailable=True

The description of the rest you find here:
DNF5 Configuration Reference — dnf5 documentation

A good start would be:
Releases/41/ChangeSet - Fedora Project Wiki

About the fedoramagazine, feel free to join the team:

Contribute to the Magazine

Fedora Magazine is looking for contributors!

1 Like

Thank you very much for the prompt reply.

1 Like