]> code.ossystems Code Review - openembedded-core.git/commitdiff
libxml-parser-perl: fix "...contains bad RPATH"
authorJens Rehsack <sno@netbsd.org>
Wed, 22 Aug 2018 09:04:24 +0000 (11:04 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 23 Aug 2018 06:45:32 +0000 (07:45 +0100)
The perl distribution "XML-Parser" relies for configuration
on the tooling of Devel::CheckLib - which is not aware of
sysroot locations nor of reasonable compiler/link definitions
from outside.

This causes

    ERROR: libxml-parser-perl-2.44-r0 do_package_qa: QA Issue: package libxml-parser-perl contains bad RPATH ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/recipe-sysroot/usr/lib in file ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/packages-split/libxml-parser-perl/usr/lib/perl/vendor_perl/5.24.4/auto/XML/Parser/Expat/Expat.so
    package libxml-parser-perl contains bad RPATH ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/recipe-sysroot/usr/lib in file ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/packages-split/libxml-parser-perl/usr/lib/perl/vendor_perl/5.24.4/auto/XML/Parser/Expat/Expat.so [rpaths]
    ERROR: libxml-parser-perl-2.44-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
    ERROR: libxml-parser-perl-2.44-r0 do_package_qa: Function failed: do_package_qa

It's strongly encouraged to the maintainer @toddr to rework the
toolchain for up to date environments.

[RP: Added fix for nativesdk RPATH issues too]

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb

index c5e0ae6769735bebac81b52cb67ea0605aa288f7..194ed6ac48cc40990b5eb45319d1bdec57209ce7 100644 (file)
@@ -18,8 +18,22 @@ inherit cpan ptest-perl
 
 # fix up sub MakeMaker project as arguments don't get propagated though
 # see https://rt.cpan.org/Public/Bug/Display.html?id=28632
+do_configure_append_class-target() {
+       sed -E \
+           -e 's:-L${STAGING_LIBDIR}::g' -e 's:-I${STAGING_INCDIR}::g' \
+           -e 's:LD_RUN_PATH ?= ?"?[^"]*"?::g' \
+           -i Makefile Expat/Makefile
+}
+
+do_configure_append_class-nativesdk() {
+       sed -E \
+           -e 's:LD_RUN_PATH ?= ?"?[^"]*"?::g' \
+           -i Makefile Expat/Makefile
+}
+
 do_configure_append() {
-       sed 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' -i Makefile Expat/Makefile
+       sed -e 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' \
+           -i Makefile Expat/Makefile
        sed 's:^FULL_AR = .*:FULL_AR = ${AR}:g' -i Expat/Makefile
        # make sure these two do not build in parallel
        sed 's!^$(INST_DYNAMIC):!$(INST_DYNAMIC): $(BOOTSTRAP)!' -i Expat/Makefile