[OE-core] Regression with RPM4 and unversioned DSOs
Peter Kjellerstedt
peter.kjellerstedt at axis.com
Thu May 4 08:46:24 UTC 2017
There seems to be a serious regression with the introduction of RPM4
and packages that install unversioned DSOs. We unfortunately have a
lot of those, and after building one of our products with Pyro it is
now missing almost 80 packages due to missing generated runtime
dependencies.
Previously the RPMs had dependencies on the required DSOs, but that
no longer seems to be the case, and there are only dependencies on
the packages providing the DSOs.
Here is an example for one of our packages. First the output from
rpm -q --requires for the package built with Pyro:
$ rpm -q --requires -p tmp/deploy/rpm/mips32r2el_nf/apta-utility-1.3.0-r0.10.mips32r2el_nf.rpm
libc6 >= 2.25
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
And then the output for the same package built with Morty:
$ rpm -q --requires -p tmp/deploy/rpm/mips32r2el_nf/apta-utility-1.3.0-r0.2.mips32r2el_nf.rpm
ld.so.1
ld.so.1(GLIBC_2.4)
libapta.so
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libc.so.6(GLIBC_2.7)
libc6 >= 2.24
libubihelper.so
Please note the lack of dependencies on libapta and libubihelper in
the package built with Pyro.
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.
//Peter
More information about the Openembedded-core
mailing list