On Wed, Dec 30, 2020 at 2:49 PM Germano Massullo
<germano.massullo(a)gmail.com> wrote:
I am one of the keepassxc maintainers. Bugreport
"Missing dependency: qt5-qtsvg libQt5Svg.so.5"
https://bugzilla.redhat.com/show_bug.cgi?id=1911210
made me wonder about the following thing:
I just installed a basic Fedora server to do a test concerning keepassxc libs. Keepassxc
spec file [1] does not contain any Requires dependency, but when I install it, it triggers
the installation of these libraries [2] that are needed at runtime.
My question is: how can keepassxc trigger the installation of such libraries if the spec
file does not contain any Requires dependency that should be the attribute to identify
runtime dependencies that are needed by the package?
RPM can query ELF objects (executables and shared libraries) to find
DT_NEEDED fields. That gives it a list of libraries that are depended
on directly. It generates Requires for those dependencies
automatically; see /usr/lib/rpm/find-requires. So the keepassxc
package does contain Requires, they just don't appear explicitly in
the spec file (and shouldn't).
--
Jerry James
http://www.jamezone.org/