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
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct