On Sun, 02 Aug 2015 08:35:46 +0200, Ralf Corsepius wrote:
> On 08/01/2015 09:25 PM, Jan Kratochvil wrote:
> >(1) How to make a dependency on librpm.so.7?
> >
> >librpm.so.7 is in rpm-libs-4.12.90-3.fc24.x86_64 which --provides:
> >     librpm.so.7()(64bit)
> >     librpmio.so.7()(64bit)
> >     rpm-libs = 4.12.90-3.fc24
> >     rpm-libs(x86-64) = 4.12.90-3.fc24
> >So there is no easy way to Requires: rpm-libs = NVRA
> 
> How about:
> 
> R: rpm-libs%{?_isa} = NVRA

But NVRA is 4.12.90-3.fc24 while I want 7.


> >(2) The other possibility does work:
> >
> >     BuildRequires: %{_libdir}/librpm.so.7
> 
> I guess you mean "Requires:" and not "BuildRequires:" ?

Yes but that does not matter much here.


> [1] IMO, dlopen'ing libs from standard paths is a very questionable design,
> IMO, because it doesn't provide many advantages over ordinary shared
> linkage.

It was reworked from ordinary DT_NEEDED to this dlopen() approach because
librpm.so is (was) the only incompatible shared library dependency between
various versions of RHELs/CentOSes and Fedoras.  So with dlopen()ed librpm one
can take latest Fedora Rawhide rpm build and run the GDB binary in
RHEL/CentOS.  This makes sense for non-x86* archs where a rebuild of new GDB
from sources would take too much time.

At least this situation was in 2009.  Since that non-x86* archs got faster,
there is also DTS (Developer ToolSet), I also currently do not maintain RHEL
GDB etc., maybe DT_NEEDED would be OK nowadays.


Jan
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Reply via email to