Bug 2263771
| Summary: | dnf5 requires full filepath metadata even for operations on "allowed" paths | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Zbigniew Jędrzejewski-Szmek <zbyszek> |
| Component: | dnf5 | Assignee: | rpm-software-management |
| Status: | NEW --- | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 42 | CC: | 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: | |||
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. Ping this has been open for more than a year and should be a trivial thing to fix This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42. |
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