#3097 Change: DNF Conditional File Lists
Closed: Accepted a year ago by zbyszek. Opened a year ago by amoloney.

Change the DNF behavior to not download filelists by default. These metadata, which describe all the files contained within each package, are unnecessary in the majority of use cases. Additionally, these metadata files can be large in size, leading to a significant slowdown in the user experience.

Owners, do not implement this work until the FESCo vote has explicitly ended.
The Fedora Program Manager will create a tracking bug in Bugzilla for this Change, which is your indication to proceed.
See the FESCo ticket policy and the Changes policy for more information.

REMINDER: This ticket is for FESCo members to vote on the proposal. Further discussion should happen in the devel list thread linked above.


please fix title: "Change" misspelled

I am not particularly pleased with the expected user experience in this scenario, and my feedback about how to address this was ignored in the discussion.

-1

Metadata Update from @ngompa:
- Issue tagged with: meeting

a year ago

I agree. No packages in Fedora repositories should require manual intervention to install them, but the currently proposed dnf behaviour cannot guarantee that. If dnf cannot (or will not) be changed to fix that, I really think the Packaging Guidelines need to be changed to make these specific path dependencies a MUST NOT instead of a SHOULD NOT.

So -1 for now as well.

FTR, previous discussion on changing Packaging Guidelines:
https://pagure.io/packaging-committee/pull-request/1256

Yeah, I'm going to vote -1 for the moment also. I think I could get behind this if we forbid the use of file dependencies outside of the "blessed" locations. FWIW, I don't think that necessarily implies a mass packaging effort; individual packages that use non-standard dependencies may start failing, but that will be treated as a package bug to be fixed.

This will be discussed today at 17:00 UTC in #fedora-meeting-2.

I am not particularly pleased with the expected user experience in this scenario, and my feedback about how to address this was ignored in the discussion.

-1

I am not particularly pleased with the expected user experience in this scenario, and my feedback about how to address this was ignored in the discussion.

-1

My apology that you think that your suggestion was overlooked. I added a comment to your suggestion where I explain some details.

I agree. No packages in Fedora repositories should require manual intervention to install them, but the currently proposed dnf behaviour cannot guarantee that.

We could create PRs for remaining 5 source rpms in Fedora to ensure that all Fedora packages will be installable.

If dnf cannot (or will not) be changed to fix that, I really think the Packaging Guidelines need to be changed to make these specific path dependencies a MUST NOT instead of a SHOULD NOT.

I agree that packaging guidelines must be changed

Yeah, I'm going to vote -1 for the moment also. I think I could get behind this if we forbid the use of file dependencies outside of the "blessed" locations. FWIW, I don't think that necessarily implies a mass packaging effort; individual packages that use non-standard dependencies may start failing, but that will be treated as a package bug to be fixed.

in Rawhide (Fedora 40), only 7 packages from 5 sources are effected by the change (they will have unsatisfied dependencies). I think we can suggest a solution (create a PRs) for them.

in Rawhide (Fedora 40), only 7 packages from 5 sources are effected by the change

I agree that we should update those 5 sources regardless of any other changes. In a few of the tickets, I argued that we should do this because it provides a significant runtime optimization for people using dnf5 (a download is skipped and the file is not loaded into memory). Even if we change dnf5 to transparently load the additional metadata, it makes sense to have our packages not need it.

No packages in Fedora repositories should require manual intervention to install them, but the currently proposed dnf behaviour cannot guarantee that.
If dnf cannot (or will not) be changed to fix that, I really think the Packaging Guidelines need to be changed to make these specific path dependencies a MUST NOT instead of a SHOULD NOT.

This was discussed before, but I don't know what the final answer was. Even after we update Fedora packages to not need the additional file metadata, there might be foreign packages that use it. And based on previous discussions, this seems to be an important feature for some of our downstreams. So… can dnf or dnf5 be updated to load file metadata automatically if a file Requires (outside of the allowed set) is found? If the answer is yes, then great, we can make this change more smoothly, and if no, then also good, we can simplify the discussion a bit.

in Rawhide (Fedora 40), only 7 packages from 5 sources are effected by the change

I agree that we should update those 5 sources regardless of any other changes. In a few of the tickets, I argued that we should do this because it provides a significant runtime optimization for people using dnf5 (a download is skipped and the file is not loaded into memory). Even if we change dnf5 to transparently load the additional metadata, it makes sense to have our packages not need it.

No packages in Fedora repositories should require manual intervention to install them, but the currently proposed dnf behaviour cannot guarantee that.
If dnf cannot (or will not) be changed to fix that, I really think the Packaging Guidelines need to be changed to make these specific path dependencies a MUST NOT instead of a SHOULD NOT.

This was discussed before, but I don't know what the final answer was. Even after we update Fedora packages to not need the additional file metadata, there might be foreign packages that use it. And based on previous discussions, this seems to be an important feature for some of our downstreams. So… can dnf or dnf5 be updated to load file metadata automatically if a file Requires (outside of the allowed set) is found? If the answer is yes, then great, we can make this change more smoothly, and if no, then also good, we can simplify the discussion a bit.

If I understand it correctly, we're talking about the lazy filelists loading = automatic filelists metadata loading without user intervention. I've already tried to address this on the discussion thread. Shortly, I don't think it's manageable in the dnf and speaking about dnf5, it's challenging to discuss having it implemented already for Fedora 41.

We could create PRs for remaining 5 source rpms in Fedora to ensure that all Fedora packages will be installable.

That would be great.

I agree that packaging guidelines must be changed

Can you submit a PR for this here, please? https://pagure.io/packaging-committee

We could create PRs for remaining 5 source rpms in Fedora to ensure that all Fedora packages will be installable.

That would be great.

Done. See https://bugzilla.redhat.com/show_bug.cgi?id=2180842#c10. Thank you @zbyszek and @jkolarik for the great work.

https://pagure.io/packaging-committee/pull-request/1321
is a trivial pull request for the Packaging Guidelines to say "MUST NOT".

I'm +1 on this now. Thank you for incorporating the feedback.

+1

(missed the update or would have put this here sooner)

This was discussed in today's meeting:
AGREED: APPROVED (+5, 0, -2)

Metadata Update from @zbyszek:
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

a year ago

Metadata Update from @zbyszek:
- Issue untagged with: meeting

a year ago

Log in to comment on this ticket.

Metadata