[oe-commits] Tom Zanussi : perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h

git at git.openembedded.org git at git.openembedded.org
Wed Oct 10 14:21:04 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: cbcfdeb1d55e2e76f199750bda401bad126ae234
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=cbcfdeb1d55e2e76f199750bda401bad126ae234

Author: Tom Zanussi <tom.zanussi at intel.com>
Date:   Tue Oct  9 19:48:24 2012 -0500

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

Fixes [YOCTO #3099].

Signed-off-by: Tom Zanussi <tom.zanussi at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-devtools/perl/perl-5.14.2/config.sh   |    1 +
 .../perl/perl-5.14.2/perl-archlib-exp.patch        |   40 ++++++++++++++++++++
 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 0d4ca1c..d1db02e 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 at -thread-multi'
 archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.14.2/@ARCH at -thread-multi'
+archlib_exp='@LIBDIR@/perl/5.14.2/@ARCH at -thread-multi'
 archname64=''
 archname='@ARCH at -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 0000000..d912d00
--- /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 at 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 09b2acb..d9206d8 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 \





More information about the Openembedded-commits mailing list