[OE-core] [PATCH 2/3] perl: remove sysroot path leakage into packaged files

Koen Kooi koen at dominion.thruhere.net
Wed Dec 11 08:50:08 UTC 2013


A grep in $D shows a lot of leakage which breaks things like CPAN:

[koen at rrmbp image]$ grep sysroot . -rn | grep -v Binary
./usr/lib/perl/5.14.3/cacheout.pl:50:if (open(PARAM,'/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/sys/param.h')) {
./usr/lib/perl/5.14.3/CORE/pp.h:53:#undef SP /* Solaris 2.7 i386 has this in /build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/sys/reg.h */
./usr/lib/perl/5.14.3/Config.pod:8076:used. Typically F</build/v2013.06/build/tmp>-angstrom_v2013_06-F<eglibc/sysroots/beaglebone/usr/include/string.h> or F</build/v2013.06/build/tmp>-angstrom_v2013_06-F<eglibc/sysroots/beaglebone/usr/include/strings.h>.
./usr/lib/perl/5.14.3/FileCache.pm:119:    foreach my $param ( '/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/sys/param.h' ){
./usr/lib/perl/5.14.3/Config.pm:87:    archlibexp => '/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/lib/perl/5.14.3/',
./usr/lib/perl/5.14.3/Config.pm:89:    cc => 'arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone',
./usr/lib/perl/5.14.3/Config.pm:101:    full_ar => '/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/x86_64-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ar',
./usr/lib/perl/5.14.3/Config.pm:114:    ld => 'arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone',
./usr/lib/perl/5.14.3/Config_heavy.pl:169:archlibexp='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/lib/perl/5.14.3/'
./usr/lib/perl/5.14.3/Config_heavy.pl:186:cc="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone"
./usr/lib/perl/5.14.3/Config_heavy.pl:191:ccname="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone"
./usr/lib/perl/5.14.3/Config_heavy.pl:245:cpprun="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone -E"
./usr/lib/perl/5.14.3/Config_heavy.pl:246:cppstdin="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone -E"
./usr/lib/perl/5.14.3/Config_heavy.pl:745:full_ar='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/x86_64-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ar'
./usr/lib/perl/5.14.3/Config_heavy.pl:927:ld="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone"
./usr/lib/perl/5.14.3/Config_heavy.pl:1167:strings='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/string.h'
./usr/lib/perl/5.14.3/Config_heavy.pl:1177:timeincl='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/sys/time.h /build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/time.h '
./usr/lib/perl/5.14.3/Config_heavy.pl:1229:usrinc='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include'
./usr/lib/perl/5.14.3/ExtUtils/Liblist/Kid.pm:58:    push(@libpath, "/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/lib");
./usr/lib/perl/config.sh:56:archlibexp='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/lib/perl/5.14.3/'
./usr/lib/perl/config.sh:73:cc="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone"
./usr/lib/perl/config.sh:78:ccname="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone"
./usr/lib/perl/config.sh:100:cpprun="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone -E"
./usr/lib/perl/config.sh:101:cppstdin="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone -E"
./usr/lib/perl/config.sh:591:full_ar='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/x86_64-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-ar'
./usr/lib/perl/config.sh:769:ld="arm-angstrom-linux-gnueabi-gcc  -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone"
./usr/lib/perl/config.sh:986:strings='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/string.h'
./usr/lib/perl/config.sh:996:timeincl='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/sys/time.h /build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include/time.h '
./usr/lib/perl/config.sh:1042:usrinc='/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone/usr/include'

Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
---
 meta/recipes-devtools/perl/perl_5.14.3.bb | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-devtools/perl/perl_5.14.3.bb b/meta/recipes-devtools/perl/perl_5.14.3.bb
index 1e14e17..3829d4b 100644
--- a/meta/recipes-devtools/perl/perl_5.14.3.bb
+++ b/meta/recipes-devtools/perl/perl_5.14.3.bb
@@ -210,7 +210,6 @@ do_install() {
         install config.sh ${D}${libdir}/perl
 
         ln -s Config_heavy.pl ${D}${libdir}/perl/${PV}/Config_heavy-target.pl
-
 }
 
 do_install_append_class-nativesdk () {
@@ -223,12 +222,14 @@ PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
 perl_package_preprocess () {
         # Fix up installed configuration
         sed -i -e "s,${D},,g" \
+               -e "s,--sysroot=${STAGING_DIR_HOST},,g" \
                -e "s,-isystem${STAGING_INCDIR} ,,g" \
                -e "s,${STAGING_LIBDIR},${libdir},g" \
                -e "s,${STAGING_BINDIR},${bindir},g" \
                -e "s,${STAGING_INCDIR},${includedir},g" \
                -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
                -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
+               -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
             ${PKGD}${bindir}/h2xs \
             ${PKGD}${bindir}/h2ph \
             ${PKGD}${bindir}/pod2man \
@@ -236,14 +237,17 @@ perl_package_preprocess () {
             ${PKGD}${bindir}/pod2usage \
             ${PKGD}${bindir}/podchecker \
             ${PKGD}${bindir}/podselect \
-            ${PKGD}${libdir}/perl/${PV}/pod/*.pod \
-            ${PKGD}${libdir}/perl/${PV}/cacheout.pl \
-            ${PKGD}${libdir}/perl/${PV}/FileCache.pm \
-            ${PKGD}${libdir}/perl/config.sh \
+            ${PKGD}${libdir}/perl/${PV}/CORE/config.h \
+            ${PKGD}${libdir}/perl/${PV}/CORE/perl.h \
+            ${PKGD}${libdir}/perl/${PV}/CORE/pp.h \
             ${PKGD}${libdir}/perl/${PV}/Config.pm \
+            ${PKGD}${libdir}/perl/${PV}/Config.pod \
             ${PKGD}${libdir}/perl/${PV}/Config_heavy.pl \
-            ${PKGD}${libdir}/perl/${PV}/CORE/perl.h \
-            ${PKGD}${libdir}/perl/${PV}/CORE/pp.h
+            ${PKGD}${libdir}/perl/${PV}/ExtUtils/Liblist/Kid.pm \
+            ${PKGD}${libdir}/perl/${PV}/FileCache.pm \
+            ${PKGD}${libdir}/perl/${PV}/cacheout.pl \
+            ${PKGD}${libdir}/perl/${PV}/pod/*.pod \
+            ${PKGD}${libdir}/perl/config.sh
 }
 
 PACKAGES = "perl-dbg perl perl-misc perl-dev perl-pod perl-doc perl-lib \
-- 
1.8.4.2




More information about the Openembedded-core mailing list