[OE-core] [PATCH 0/6] Fix RPM4 regressions based on Pyro

Mark Hatle mark.hatle at windriver.com
Tue Aug 15 21:36:40 UTC 2017


On 8/15/17 4:19 PM, Mark Hatle wrote:
> Work is available at:
> 
> git://git.openembedded.org/openembedded-core-contrib mgh/rpm_dep_regression
> 
> This is work based on Peter Kjellerstedt's fixes for the rpm dependency
> generation.  (See poky-contrib pkj/rpm_regressions2 for the original work.)
> 
> The major difference is the last commit which disabled the perl requirement
> generation.  This resolves the only problem I found in Peter's patches.

Sorry, I forgot to mention, Peter's patches 2 and 3 attempt to address this in a
few places.  The last patch serves the same general purpose -- but it's better
in my opinion to fix these perl scripts when we find problems with them then
just ignore them.  (Even though ignoring is the standard behavior!)

--Mark

> From the comments to the original patch, the only not addressed was adding
> an OE self-test for this behavior.  I tried to do this, but I don't see any
> existing tests that build a recipe and inspect the results of the built
> package.  I'm not sure of any other way to identify if things are working or
> not.
> 
> To give you an idea of what this does, the provides for libc6, x86-64, prior
> to this change were:
> eglibc
> glibc = 2.26
> libc6 = 2.26-r0
> 
> After the change, the following were added (other remain):
> ld-linux-x86-64.so.2()(64bit)
> ld-linux-x86-64.so.2(GLIBC_2.2.5)(64bit)
> ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
> ld-linux-x86-64.so.2(GLIBC_2.4)(64bit)
> ld-linux-x86-64.so.2(GLIBC_PRIVATE)(64bit)
> libanl.so.1()(64bit)
> libanl.so.1(GLIBC_2.2.5)(64bit)
> libBrokenLocale.so.1()(64bit)
> libBrokenLocale.so.1(GLIBC_2.2.5)(64bit)
> libcrypt.so.1()(64bit)
> libcrypt.so.1(GLIBC_2.2.5)(64bit)
> libc.so.6()(64bit)
> libc.so.6(GLIBC_2.10)(64bit)
> libc.so.6(GLIBC_2.11)(64bit)
> libc.so.6(GLIBC_2.12)(64bit)
> libc.so.6(GLIBC_2.13)(64bit)
> libc.so.6(GLIBC_2.14)(64bit)
> libc.so.6(GLIBC_2.15)(64bit)
> libc.so.6(GLIBC_2.16)(64bit)
> libc.so.6(GLIBC_2.17)(64bit)
> libc.so.6(GLIBC_2.18)(64bit)
> libc.so.6(GLIBC_2.22)(64bit)
> libc.so.6(GLIBC_2.23)(64bit)
> libc.so.6(GLIBC_2.24)(64bit)
> libc.so.6(GLIBC_2.2.5)(64bit)
> libc.so.6(GLIBC_2.25)(64bit)
> libc.so.6(GLIBC_2.2.6)(64bit)
> libc.so.6(GLIBC_2.26)(64bit)
> libc.so.6(GLIBC_2.3.2)(64bit)
> libc.so.6(GLIBC_2.3.3)(64bit)
> libc.so.6(GLIBC_2.3.4)(64bit)
> libc.so.6(GLIBC_2.3)(64bit)
> libc.so.6(GLIBC_2.4)(64bit)
> libc.so.6(GLIBC_2.5)(64bit)
> libc.so.6(GLIBC_2.6)(64bit)
> libc.so.6(GLIBC_2.7)(64bit)
> libc.so.6(GLIBC_2.8)(64bit)
> libc.so.6(GLIBC_2.9)(64bit)
> libc.so.6(GLIBC_PRIVATE)(64bit)
> libdl.so.2()(64bit)
> libdl.so.2(GLIBC_2.2.5)(64bit)
> libdl.so.2(GLIBC_2.3.3)(64bit)
> libdl.so.2(GLIBC_2.3.4)(64bit)
> libdl.so.2(GLIBC_PRIVATE)(64bit)
> libm.so.6()(64bit)
> libm.so.6(GLIBC_2.15)(64bit)
> libm.so.6(GLIBC_2.18)(64bit)
> libm.so.6(GLIBC_2.23)(64bit)
> libm.so.6(GLIBC_2.24)(64bit)
> libm.so.6(GLIBC_2.2.5)(64bit)
> libm.so.6(GLIBC_2.25)(64bit)
> libm.so.6(GLIBC_2.26)(64bit)
> libm.so.6(GLIBC_2.4)(64bit)
> libmvec.so.1()(64bit)
> libmvec.so.1(GLIBC_2.22)(64bit)
> libnsl.so.1()(64bit)
> libnsl.so.1(GLIBC_2.2.5)(64bit)
> libnsl.so.1(GLIBC_PRIVATE)(64bit)
> libnss_compat.so.2()(64bit)
> libnss_compat.so.2(GLIBC_PRIVATE)(64bit)
> libnss_dns.so.2()(64bit)
> libnss_dns.so.2(GLIBC_PRIVATE)(64bit)
> libnss_files.so.2()(64bit)
> libnss_files.so.2(GLIBC_PRIVATE)(64bit)
> libpthread.so.0()(64bit)
> libpthread.so.0(GLIBC_2.11)(64bit)
> libpthread.so.0(GLIBC_2.12)(64bit)
> libpthread.so.0(GLIBC_2.18)(64bit)
> libpthread.so.0(GLIBC_2.2.5)(64bit)
> libpthread.so.0(GLIBC_2.2.6)(64bit)
> libpthread.so.0(GLIBC_2.3.2)(64bit)
> libpthread.so.0(GLIBC_2.3.3)(64bit)
> libpthread.so.0(GLIBC_2.3.4)(64bit)
> libpthread.so.0(GLIBC_2.4)(64bit)
> libpthread.so.0(GLIBC_PRIVATE)(64bit)
> libresolv.so.2()(64bit)
> libresolv.so.2(GLIBC_2.2.5)(64bit)
> libresolv.so.2(GLIBC_2.3.2)(64bit)
> libresolv.so.2(GLIBC_2.9)(64bit)
> libresolv.so.2(GLIBC_PRIVATE)(64bit)
> librt.so.1()(64bit)
> librt.so.1(GLIBC_2.2.5)(64bit)
> librt.so.1(GLIBC_2.3.3)(64bit)
> librt.so.1(GLIBC_2.3.4)(64bit)
> librt.so.1(GLIBC_2.4)(64bit)
> librt.so.1(GLIBC_2.7)(64bit)
> libutil.so.1()(64bit)
> libutil.so.1(GLIBC_2.2.5)(64bit)
> rtld(GNU_HASH)
> 
> 
> I have built and tested this for:
> 
> core-image-base core-image-minimal core-image-full-cmdline 
> core-image-kernel-dev core-image-lsb core-image-lsb-dev 
> core-image-lsb-sdk core-image-testmaster core-image-clutter 
> core-image-weston core-image-x11 core-image-sato core-image-sato-dev 
> core-image-sato-sdk core-image-sato-sdk-ptest
> 
> Also using qemux86, qemux86-64 and qemuarm64.
> 
> The following description is from Peter's original pull request:
> 
> Right before the release of Pyro (about a month ago), we noticed a
> problem with missing automatically determined runtime file
> dependencies after the transition to rpm4 and dnf. Unfortunately it
> has taken me quite a while to work out all the details, but here is
> the result finally.
> 
> ....
> 
> Then rpm is updated to make it possible to yet again access the
> runtime dependencies we need, and finally package.bbclass is updated
> to make use of them.
> 
> See the patches, especially the last one, for more in depth
> information on what went wrong during the transition to rpm4 and dnf,
> and how to solve it.
> 
> 
> Mark Hatle (1):
>   rpm: Disable perl dependency generation
> 
> Peter Kjellerstedt (5):
>   rpm: Add dependencies on bash, perl and python3-core
>   git: Do not install git cvsserver and git svn by default
>   texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs)
>   package_rpm.bbclass: Filter out unwanted file deps for nativesdk
>     packages
>   package.bbclass: Restore functionality to detect RPM dependencies
> 
>  meta/classes/package.bbclass                       |  5 +-
>  meta/classes/package_rpm.bbclass                   | 25 ++++++++-
>  meta/lib/oe/package.py                             | 60 +++++++++++++++-------
>  meta/recipes-devtools/git/git.inc                  | 21 ++++++++
>  .../rpm/files/0001-perl-disable-auto-reqs.patch    | 30 +++++++++++
>  meta/recipes-devtools/rpm/rpm_git.bb               |  6 +++
>  meta/recipes-extended/texinfo/texinfo_6.3.bb       |  6 +++
>  7 files changed, 130 insertions(+), 23 deletions(-)
>  create mode 100644 meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch
> 




More information about the Openembedded-core mailing list