Closed praiskup closed 1 month ago
The issue is valid.
When printing remote locations of the package, dnf4 (unlike dnf5) does not take into account the base url from the repository metadata.
This is how the location of the util-linux
package looks like in metadata:
<location xml:base="https://infrastructure.fedoraproject.org/repo/centos/centos-10/BaseOS/x86_64/os" href="Packages/util-linux-2.40.2-4.el10.x86_64.rpm"/>
dnf5 correctly uses xml:base
from the metadata, dnf4 ignores it and concatenates the href
of the package with the url of the repository.
Here is part of the dnf5 code to get package's remote location: https://github.com/rpm-software-management/dnf5/blob/a1a66ce16363d46dbd7a02604b816e2ceeb74d0e/libdnf5/rpm/package.cpp#L350-L356
And this is the equivalent in dnf4 which does not take base url into account: https://github.com/rpm-software-management/dnf/blob/f519e602a70ce6d3494a9d9d70464187eb9c263e/dnf/package.py#L292-L303
Reproducer:
These are non-existing files ^^^, and dnf5 repoquery behaves correctly:
Installed packages: