DevHeads.net

inject rpm dependency depending on library symbol?

I'm exploring possibilities on how to track usage of a particular library
symbol via rpm dependencies.

In particular, whenever a package is built that includes a dependency on
library symbol:
libQt5Core.so.5(Qt_5_PRIVATE_API)

I'd like to inject additional dependencies, something like:
Requires: qt5-qtbase = %{_qt5_version}

I've been told debian does a variant of this, but I've not been able to come
up with any good way to do that here. Any ideas or suggestions?

(I know this would be handled automatically if the Qt_5_PRIVATE_API symbol
was versioned, but that's an option we'd rather avoid if reasonably
possible)

-- Rex

Comments

Re: inject rpm dependency depending on library symbol?

By King InuYasha at 02/09/2018 - 10:39

On Fri, Feb 9, 2018 at 10:33 AM, Rex Dieter < ... at math dot unl.edu> wrote:
You can write a dependency generator that would call a script that
executes rpmdeps the same way as the real generator does. If it's
detected, you can have it emit that dependency back as a Requires.

Re: inject rpm dependency depending on library symbol?

By Rex Dieter at 02/09/2018 - 10:47

Can you be a little more specific?

In particular, I'm not interested in re-inventing any wheels here. I
included the phrase "reasonably possible" intentionally.

-- Rex