[OE-core] Regression with RPM4 and unversioned DSOs

Martin Jansa martin.jansa at gmail.com
Thu May 4 11:34:55 UTC 2017


You might want to check the output of package_do_shlibs function in
meta/classes/package.bbclass
in case it's already missing there.

On Thu, May 4, 2017 at 1:30 PM, Peter Kjellerstedt <
peter.kjellerstedt at axis.com> wrote:

> > -----Original Message-----
> > From: Alexander Kanavin [mailto:alexander.kanavin at linux.intel.com]
> > Sent: den 4 maj 2017 11:54
> > To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> > Cc: OE Core (openembedded-core at lists.openembedded.org) <openembedded-
> > core at lists.openembedded.org>
> > Subject: Re: Regression with RPM4 and unversioned DSOs
> >
> > On 05/04/2017 11:46 AM, Peter Kjellerstedt wrote:
> > > Since I would very much like to avoid having to add explicit runtime
> > > dependencies for all those dependencies that were previously
> > automatically
> > > detected, which would be a nightmare, I am now looking for any help
> > as to
> > > where to find the code that adds the dependencies on the packages
> > providing
> > > DSOs and to see if it is possible to change it to also detect
> > dependencies
> > > on unversioned DSOs.
> >
> > I'm not sure such implicit dependency detection at rpm generation point
> > is guaranteed to work in the first place. Don't we have a package_qa
> > check for this that should be failing? Can you publish a minimal layer
> > so I can reproduce locally?
> >
> > If you want to poke in rpm4 source, I think grepping for
> > use_internal_dependency_generator is a good starting point.
>
> I was more thinking of the code in OE-core that generates the list of
> Requires that goes into the spec file. The matching sections from the
> spec files for the apta-utility package that I used as example in my
> first mail are (for Pyro):
>
> Requires: libc6 >= 2.25
>
> and (for Morty):
>
> Requires: ld.so.1
> Requires: ld.so.1(GLIBC_2.4)
> Requires: libapta.so
> Requires: libc.so.6
> Requires: libc.so.6(GLIBC_2.0)
> Requires: libc.so.6(GLIBC_2.2)
> Requires: libc.so.6(GLIBC_2.3)
> Requires: libc.so.6(GLIBC_2.3.4)
> Requires: libc.so.6(GLIBC_2.4)
> Requires: libc.so.6(GLIBC_2.7)
> Requires: libc6 >= 2.24
> Requires: libubihelper.so
> Provides: elf(buildid) = 097a4862c4d6275838e8eb5759501630b7913485
>
> So I think it is quite obvious that something has changed in OE-core in
> how these lists are generated... It is also apparent that the problem
> with lack of dependencies on packages with unversioned DSOs was already
> present in Morty. However, since it was hidden by the direct dependencies
> on the DSOs it was not apparent before.
>
> Does RPM4 support dependencies on DSOs, or was that an RPM5 feature?
> If RPM4 supports it, why was it removed when dnf was introduced?
>
> > Alex
>
> //Peter
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170504/a57b3a68/attachment-0002.html>


More information about the Openembedded-core mailing list