[OE-core] [PATCH] perl: Allow perl to cross build and native build in a directory named "t"
Khem Raj
raj.khem at gmail.com
Tue May 29 19:59:32 UTC 2012
On (23/05/12 00:03), Jason Wessel wrote:
> If any directory in leading up to your tmp directory has the name "t"
> perl will fail to build with a very cryptic error shown below:
>
> pod/buildtoc: no pods at pod/buildtoc line 305.
> make[1]: *** [pod/perltoc.pod] Error 255
>
> This is a result of the perl file checking making an assumption
> that it is only looking at files and directories with in the perl
> source directory. This assumption fails with the way bitbake
> sets up perl to properly cross compile.
Bump PR too please.
>
> Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
> ---
> .../perl/perl-5.14.2/perl-build-in-t-dir.patch | 35 ++++++++++++++++++++
> meta/recipes-devtools/perl/perl-native_5.14.2.bb | 3 +-
> meta/recipes-devtools/perl/perl_5.14.2.bb | 1 +
> 3 files changed, 38 insertions(+), 1 deletions(-)
> create mode 100644 meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch
>
> diff --git a/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch
> new file mode 100644
> index 0000000..cd36ec5
> --- /dev/null
> +++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch
> @@ -0,0 +1,35 @@
> +Upstream-Status:Pending
> +
> +Perl cannot cross build in a path containing a directory that
> +has the name of "t".
> +
> +You get an error like:
> +
> +
> +Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
> +---
> + pod/buildtoc | 4 +++-
> + 1 file changed, 3 insertions(+), 1 deletion(-)
> +
> +--- a/pod/buildtoc
> ++++ b/pod/buildtoc
> +@@ -274,8 +274,10 @@ if ($Build{toc}) {
> + find \&getpods => abs_from_top('lib/');
> +
> + sub getpods {
> ++ my $Top = $FindBin::Bin;
> + if (/\.p(od|m)$/) {
> + my $file = $File::Find::name;
> ++ $file =~ s!^$Top!!;
> + return if $file =~ qr!/lib/Pod/Functions.pm\z!; # Used only by pod itself
> + return if $file =~ m!(?:^|/)t/!;
> + return if $file =~ m!lib/Attribute/Handlers/demo/!;
> +@@ -283,7 +285,7 @@ if ($Build{toc}) {
> + return if $file =~ m!lib/Math/BigInt/t/!;
> + return if $file =~ m!/Devel/PPPort/[Hh]arness|lib/Devel/Harness!i;
> + return if $file =~ m!XS/(?:APItest|Typemap)!;
> +- my $pod = $file;
> ++ my $pod = $file = $File::Find::name;
> + return if $pod =~ s/pm$/pod/ && -e $pod;
> + unless (open my $f, '<', $_) {
> + warn "$0: bogus <$file>: $!";
> diff --git a/meta/recipes-devtools/perl/perl-native_5.14.2.bb b/meta/recipes-devtools/perl/perl-native_5.14.2.bb
> index c904c37..429a029 100644
> --- a/meta/recipes-devtools/perl/perl-native_5.14.2.bb
> +++ b/meta/recipes-devtools/perl/perl-native_5.14.2.bb
> @@ -14,7 +14,8 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
> file://perl-configpm-switch.patch \
> file://native-nopacklist.patch \
> file://native-perlinc.patch \
> - file://MM_Unix.pm.patch"
> + file://MM_Unix.pm.patch \
> + file://perl-build-in-t-dir.patch"
>
> SRC_URI[md5sum] = "3306fbaf976dcebdcd49b2ac0be00eb9"
> SRC_URI[sha256sum] = "6488359573bd7d41761bf935f66f827dc220fb3df961ef9b775d51fbd66548d3"
> diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
> index 809fc72..2149b30 100644
> --- a/meta/recipes-devtools/perl/perl_5.14.2.bb
> +++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
> @@ -65,6 +65,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
> file://perl-enable-gdbm.patch \
> file://cross-generate_uudmap.patch \
> file://fix_bad_rpath.patch \
> + file://perl-build-in-t-dir.patch \
> \
> file://config.sh \
> file://config.sh-32 \
> --
> 1.6.6.2
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
--
-Khem
More information about the Openembedded-core
mailing list