Bug 2263771

Summary: dnf5 requires full filepath metadata even for operations on "allowed" paths
Product: [Fedora] Fedora Reporter: Zbigniew JÄ™drzejewski-Szmek <zbyszek>
Component: dnf5Assignee: rpm-software-management
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 42CC: daan.j.demeyer, jkolarik, nilskemail, nsella, pkratoch, rpm-software-management
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Zbigniew Jędrzejewski-Szmek 2024-02-11 18:42:11 UTC
We noticed this when building images in mkosi, where 'dnf5 install systemd' would fail, because systemd.rpm has Requires:/usr/bin/getfacl.

It's easy to show with any install command:
$ sudo dnf5 install /usr/sbin/zfs
Updating and loading repositories:
 Fedora - Rawhide - Developmental packages for the next Fedora release                100% |   3.0 MiB/s |  56.8 MiB |  00m19s
...

This is the full filepath metadata. But this path is "allowlisted" to be in primary metadata:
$ unzck -c /var/cache/dnf/rawhide-2d95c80a1fa0a67d/repodata/1f05eb1a7a3e817da09b554f3199980b5bbfb7cca4636e0e3490c628963d1885-primary.xml.zck|grep '<file>/usr/sbin/zfs<'
    <file>/usr/sbin/zfs</file>

Paths that are allow-listed must be special-cased. I suspect that this issue is caused by the recent changes to be more informative when (non-allowlisted) file dependencies are used. 


Reproducible: Always

Comment 1 Jan Kolarik 2024-02-12 09:35:15 UTC
I believe this is a problem of our simple mechanism that automatically requests filelists metadata for any filepath specs: "pattern[0] == '/' || (pattern[0] == '*' && pattern[1] == '/');". This should be addressed also for dnf4.

Comment 2 Daan De Meyer 2025-01-21 11:21:02 UTC
Ping this has been open for more than a year and should be a trivial thing to fix

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