diff options
-rw-r--r-- | meta/recipes-devtools/perl/perl-5.14.2/config.sh | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch | 40 | ||||
-rw-r--r-- | meta/recipes-devtools/perl/perl_5.14.2.bb | 3 |
3 files changed, 43 insertions, 1 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/config.sh b/meta/recipes-devtools/perl/perl-5.14.2/config.sh index 0d4ca1cd91..d1db02e711 100644 --- a/meta/recipes-devtools/perl/perl-5.14.2/config.sh +++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh @@ -69,6 +69,7 @@ api_versionstring='5.14.0' ar='ar' archlib='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi' archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi' +archlib_exp='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi' archname64='' archname='@ARCH@-thread-multi' archobjs='' diff --git a/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch new file mode 100644 index 0000000000..d912d0031e --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch @@ -0,0 +1,40 @@ +perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h + +perl.c uses an ARCHLIB_EXP define to generate compile-time code that +adds the archlibexp path to @INC during run-time initialization of a +new perl interpreter. + +Because we've changed this value in a temporary way to make it +possible to use ExtUtils::Embed in the target build (the temporary +value in config.sh gets re-stripped out during packaging), the +ARCHLIB_EXP value that gets generated still uses the temporary version +instead of the original expected version (i.e. becauses it's in the +generated config.h, it doesn't get stripped out during packaging like +the others in config.sh). + +This creates an unmodified version called archlib_exp that gets used +by a modified config_h.SH to get the correct value into config.h + +This patch uses an unmodified version of archlibexp called +archlib_exp, introduced to config.sh, which is used to generate the +correct value of ARCHLIB_EXP into config.h + +See YOCTO #3099 for more info. + +Upstream-Status:Inappropriate [embedded specific] + +Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> + +Index: perl-5.14.2/config_h.SH +=================================================================== +--- perl-5.14.2.orig/config_h.SH ++++ perl-5.14.2/config_h.SH +@@ -996,7 +996,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#und + * in programs that are not prepared to deal with ~ expansion at run-time. + */ + #$d_archlib ARCHLIB "$archlib" /**/ +-#$d_archlib ARCHLIB_EXP "$archlibexp" /**/ ++#$d_archlib ARCHLIB_EXP "$archlib_exp" /**/ + + /* ARCHNAME: + * This symbol holds a string representing the architecture name. diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb index 09b2acb191..d9206d86d3 100644 --- a/meta/recipes-devtools/perl/perl_5.14.2.bb +++ b/meta/recipes-devtools/perl/perl_5.14.2.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ # We need gnugrep (for -I) DEPENDS = "virtual/db grep-native" DEPENDS += "gdbm zlib" -PR = "r10" +PR = "r11" # 5.10.1 has Module::Build built-in PROVIDES += "libmodule-build-perl" @@ -66,6 +66,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \ file://cross-generate_uudmap.patch \ file://fix_bad_rpath.patch \ file://perl-build-in-t-dir.patch \ + file://perl-archlib-exp.patch \ \ file://config.sh \ file://config.sh-32 \ |