dnf4 reports the reason why it fails to parse which allows the user to fix errors, like getting the path to the spec file wrong. But dnf5 does not report a reason leaving the user unable to understand what is wrong. Reproducible: Always Steps to Reproduce: 1. sudo dnf builddep systemd.spec Actual Results: $ sudo dnf builddep systemd.spec [sudo] password for barry: Updating and loading repositories: Fedora 41 - aarch64 100% | 99.3 KiB/s | 18.3 KiB | 00m00s Fedora 41 - aarch64 - Test Updates 100% | 122.6 KiB/s | 19.9 KiB | 00m00s Fedora 41 - aarch64 - Updates 100% | 47.0 KiB/s | 20.9 KiB | 00m00s Copr repo for tools owned by barryascott 100% | 3.7 KiB/s | 1.5 KiB | 00m00s Copr repo for tools-testing owned by barryascott 100% | 10.0 KiB/s | 1.5 KiB | 00m00s Fedora 41 - aarch64 100% | 2.8 MiB/s | 3.9 MiB | 00m01s Fedora 41 - aarch64 - Test Updates 100% | 1.8 MiB/s | 1.7 MiB | 00m01s Repositories loaded. Failed to parse spec file "systemd.spec". Failed to parse some inputs. Expected Results: dnf reports why it failed to parse.
This is valid. RPM prints these errors to the RPM log rather than exposing them in via the API. The change to DNF 4 to add these error messages was https://github.com/rpm-software-management/dnf-plugins-core/commit/4e4c72f8c8ecd6531e4d97ecdd093e29f512edf2, I suspect we will need to add something similar to DNF 5.
Couldn't reproduce on latest version. DNF5 already show the error messages on latest version
The RPM spec parser errors are now printed to stderr. Tested with: dnf5-5.2.16.0-1.fc41.x86_64 rpm-libs-4.20.1-1.fc41.x86_64 It could be fixed in rpm-libs, probably in 4.20.0.