mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 03:49:32 +02:00
perl: Move perl-sanity -> perl
This was moved during the perl cleanup, it can/should be moved back now as its confusing too many people. (From OE-Core rev: ce69c21707aa19ab8a3f6c07dc5a560671ab53a4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
From 2f74a899474f428a4a5368a94accf801c5f97ae4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Mon, 4 Jun 2018 18:33:50 +0300
|
||||
Subject: [PATCH] ExtUtils-MakeMaker: add $(LDFLAGS) when linking binary
|
||||
modules
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
index fe53be1..249c048 100644
|
||||
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
@@ -1050,7 +1050,7 @@ sub xs_make_dynamic_lib {
|
||||
}
|
||||
|
||||
push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist;
|
||||
- %s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
|
||||
+ %s$(LD) %s $(LDDLFLAGS) %s %s $(LDFLAGS) $(OTHERLDFLAGS) %s $(MYEXTLIB) \
|
||||
$(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \
|
||||
$(INST_DYNAMIC_FIX)
|
||||
$(CHMOD) $(PERM_RWX) $@
|
||||
@@ -0,0 +1,34 @@
|
||||
From e8e095b9c71c58f8197d6315359446b6b084cb2b Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Tue, 5 Jun 2018 14:58:42 +0300
|
||||
Subject: [PATCH] Somehow this module breaks through the perl wrapper and
|
||||
declares perl binary to be 'perl.real'. This patch forces it back to perl.
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
index 948c476..f537526 100644
|
||||
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
|
||||
@@ -1110,6 +1110,9 @@ WARNING
|
||||
}
|
||||
|
||||
foreach my $name (@$names){
|
||||
+ # Getting MakeMaker.pm use perl wrapper instead of 'perl.real' directly
|
||||
+ $name =~ s/perl\.real/perl/ if ($name =~ /perl\.real/);
|
||||
+
|
||||
my ($abs, $use_dir);
|
||||
if ($self->file_name_is_absolute($name)) { # /foo/bar
|
||||
$abs = $name;
|
||||
@@ -2006,6 +2009,7 @@ sub init_PERL {
|
||||
|
||||
$self->{PERL} ||=
|
||||
$self->find_perl(5.0, \@perls, \@defpath, $Verbose );
|
||||
+
|
||||
|
||||
my $perl = $self->{PERL};
|
||||
$perl =~ s/^"//;
|
||||
@@ -0,0 +1,69 @@
|
||||
From 19c1987b455998d2959a5fdf3d1ed911d35e70f2 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 2 Jan 2019 17:55:35 +0100
|
||||
Subject: [PATCH] configure_path.sh: do not hardcode $prefix/lib as library
|
||||
path
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
cnf/configure_args.sh | 2 +-
|
||||
cnf/configure_path.sh | 11 ++++++-----
|
||||
2 files changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/cnf/configure_args.sh b/cnf/configure_args.sh
|
||||
index 29ca4f5..3297fb3 100644
|
||||
--- a/cnf/configure_args.sh
|
||||
+++ b/cnf/configure_args.sh
|
||||
@@ -155,7 +155,7 @@ while [ $i -le $# -o -n "$n" ]; do
|
||||
help) mode="help" ;;
|
||||
regen|regenerate) mode="regen" ;;
|
||||
keeplog) defuser "$a" 1 ;;
|
||||
- prefix|html[13]dir|libsdir) defuser $a "$v" ;;
|
||||
+ prefix|html[13]dir|libsdir|libdir) defuser $a "$v" ;;
|
||||
man[13]dir|otherlibsdir) defuser $a "$v" ;;
|
||||
siteprefix|sitehtml[13]dir) defuser $a "$v" ;;
|
||||
siteman[13]dir|vendorman[13]dir)defuser $a "$v" ;;
|
||||
diff --git a/cnf/configure_path.sh b/cnf/configure_path.sh
|
||||
index fe7eac7..bcba8b8 100644
|
||||
--- a/cnf/configure_path.sh
|
||||
+++ b/cnf/configure_path.sh
|
||||
@@ -30,6 +30,7 @@ definst() {
|
||||
define "$1" "$installpath$v"
|
||||
}
|
||||
|
||||
+define libdir "$prefix/lib"
|
||||
define sharedir "$prefix/share"
|
||||
define html1dir "$sharedir/doc/$perlname/html"
|
||||
define html3dir "$sharedir/doc/$perlname/html"
|
||||
@@ -38,16 +39,16 @@ define man1ext "1"
|
||||
define man3dir "$sharedir/man/man3"
|
||||
define man3ext "3"
|
||||
define bin "$prefix/bin"
|
||||
-define lib "$prefix/lib"
|
||||
+define lib "$libdir"
|
||||
define scriptdir "$prefix/bin"
|
||||
define libsdirs ' '
|
||||
-defrel privlib "$prefix/lib/$package/$version"
|
||||
-defrel archlib "$prefix/lib/$package/$version/$archname"
|
||||
+defrel privlib "$libdir/$package/$version"
|
||||
+defrel archlib "$libdir/$package/$version/$archname"
|
||||
define perlpath "$prefix/bin/$perlname"
|
||||
define d_archlib 'define'
|
||||
|
||||
define sitebin "$prefix/bin"
|
||||
-defrel sitelib_stem "$prefix/lib/$package/site_perl"
|
||||
+defrel sitelib_stem "$libdir/$package/site_perl"
|
||||
define sitelib "$sitelib_stem/$version"
|
||||
define sitearch "$sitelib_stem/$version/$archname"
|
||||
define siteprefix "$prefix"
|
||||
@@ -145,7 +146,7 @@ vendortest() {
|
||||
}
|
||||
|
||||
vendorpath vendorbin "$vendorprefix/bin"
|
||||
-vendorpath vendorlib_stem "$vendorprefix/lib/$package/vendor_perl"
|
||||
+vendorpath vendorlib_stem "$libdir/$package/vendor_perl"
|
||||
vendorpath vendorlib "$vendorlib_stem/$version"
|
||||
vendorpath vendorarch "$vendorlib_stem/$version/$archname"
|
||||
vendorpath vendorscript "$vendorprefix/bin"
|
||||
@@ -0,0 +1,29 @@
|
||||
From a66811c487ecf8ba8724879c253bb10dfa82aeb5 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Fri, 1 Jun 2018 19:57:32 +0300
|
||||
Subject: [PATCH] configure_tool.sh: do not quote the argument to 'command'
|
||||
|
||||
As it seems to break things if the argument has spaces and arguments in it.
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
cnf/configure_tool.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh
|
||||
index 32201c0..461bc68 100644
|
||||
--- a/cnf/configure_tool.sh
|
||||
+++ b/cnf/configure_tool.sh
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
tryprog() {
|
||||
log "trying $1=$2"
|
||||
- if command -v "$2" 1>/dev/null 2>/dev/null; then
|
||||
+ if command -v $2 1>/dev/null 2>/dev/null; then
|
||||
define "$1" "$2"
|
||||
result "$2"
|
||||
return 0
|
||||
--
|
||||
2.17.0
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From f824cbec9ac8f113a4ae35d57bd18625d415a71b Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Tue, 27 Nov 2018 15:37:40 +0100
|
||||
Subject: [PATCH] perl-cross: add LDFLAGS when linking libperl
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 01644cd..be811a7 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -180,7 +180,7 @@ endif
|
||||
|
||||
ifeq ($(useshrplib),true)
|
||||
$(LIBPERL):
|
||||
- $(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS)
|
||||
+ $(CC) $(LDFLAGS) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS)
|
||||
else
|
||||
$(LIBPERL):
|
||||
$(AR) cru $@ $(filter %$o,$^)
|
||||
--
|
||||
2.17.1
|
||||
|
||||
37
meta/recipes-devtools/perl/files/errno_ver.diff
Normal file
37
meta/recipes-devtools/perl/files/errno_ver.diff
Normal file
@@ -0,0 +1,37 @@
|
||||
From 8e1efba7560d8d55524c7a0f1b0539ddce419b86 Mon Sep 17 00:00:00 2001
|
||||
From: Brendan O'Dea <bod@debian.org>
|
||||
Date: Fri, 16 Dec 2005 01:32:14 +1100
|
||||
Subject: [PATCH 6/8] Remove Errno version check due to upgrade problems with
|
||||
long-running processes.
|
||||
|
||||
Bug-Debian: http://bugs.debian.org/343351
|
||||
|
||||
Remove version check which can cause problems for long running
|
||||
processes embedding perl when upgrading to a newer version,
|
||||
compatible, but built on a different machine.
|
||||
|
||||
Patch-Name: debian/errno_ver.diff
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
ext/Errno/Errno_pm.PL | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
|
||||
index 6251a3c..eeed445 100644
|
||||
--- a/ext/Errno/Errno_pm.PL
|
||||
+++ b/ext/Errno/Errno_pm.PL
|
||||
@@ -294,11 +294,6 @@ EDQ
|
||||
# they've already declared perl doesn't need to worry about this risk.
|
||||
if(!$ENV{'PERL_BUILD_EXPAND_CONFIG_VARS'}) {
|
||||
print <<"CONFIG_CHECK_END";
|
||||
-use Config;
|
||||
-"\$Config{'archname'}-\$Config{'osvers'}" eq
|
||||
-"$archname-$Config{'osvers'}" or
|
||||
- die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
|
||||
-
|
||||
CONFIG_CHECK_END
|
||||
}
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
||||
49
meta/recipes-devtools/perl/files/fix-setgroup.patch
Normal file
49
meta/recipes-devtools/perl/files/fix-setgroup.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
Test script to reproduce the problem:
|
||||
|
||||
#!/usr/bin/env perl
|
||||
$) = "2 2";
|
||||
print $!;
|
||||
|
||||
Result from perl 5.28 under strace:
|
||||
|
||||
setgroups(1, [2]) = 0
|
||||
setresgid(-1, 2, -1) = 0
|
||||
|
||||
Result from perl 5.30 under strace:
|
||||
|
||||
setgroups(1, [-1]) = -1 EINVAL (Invalid argument)
|
||||
setresgid(-1, 2, -1) = 0
|
||||
|
||||
Patch which broke this upstream:
|
||||
https://perl5.git.perl.org/perl.git/commitdiff/5d4a52b5c68a11bfc97c2e24806993b84a61eade
|
||||
|
||||
Issue is that the new function changes the endptr to the end of the
|
||||
scanned number and needs to be reset to the end of the string for
|
||||
each iteration of the loop.
|
||||
|
||||
[YOCTO #13391]
|
||||
|
||||
RP
|
||||
2019/6/14
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: perl-5.30.0/mg.c
|
||||
===================================================================
|
||||
--- perl-5.30.0.orig/mg.c
|
||||
+++ perl-5.30.0/mg.c
|
||||
@@ -3179,6 +3256,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
|
||||
const char *p = SvPV_const(sv, len);
|
||||
Groups_t *gary = NULL;
|
||||
const char* endptr = p + len;
|
||||
+ const char* realend = p + len;
|
||||
UV uv;
|
||||
#ifdef _SC_NGROUPS_MAX
|
||||
int maxgrp = sysconf(_SC_NGROUPS_MAX);
|
||||
@@ -3209,6 +3287,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
|
||||
Newx(gary, i + 1, Groups_t);
|
||||
else
|
||||
Renew(gary, i + 1, Groups_t);
|
||||
+ endptr = realend;
|
||||
if (grok_atoUV(p, &uv, &endptr))
|
||||
gary[i] = (Groups_t)uv;
|
||||
else {
|
||||
27
meta/recipes-devtools/perl/files/native-perlinc.patch
Normal file
27
meta/recipes-devtools/perl/files/native-perlinc.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
Upstream-Status:Inappropriate [embedded specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
|
||||
===================================================================
|
||||
--- perl-5.12.3.orig/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
|
||||
+++ perl-5.12.3/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
|
||||
@@ -1597,6 +1597,19 @@
|
||||
$self->{PERL_LIB} ||= $Config{privlibexp};
|
||||
$self->{PERL_ARCHLIB} ||= $Config{archlibexp};
|
||||
$self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
|
||||
+ # Check for environment override so we'll find the headers in the correct place
|
||||
+ if (defined $ENV{PERL_LIB})
|
||||
+ {
|
||||
+ $self->{PERL_LIB} = $ENV{PERL_LIB};
|
||||
+ }
|
||||
+ if (defined $ENV{PERL_ARCHLIB})
|
||||
+ {
|
||||
+ $self->{PERL_ARCHLIB} = $ENV{PERL_ARCHLIB};
|
||||
+ }
|
||||
+ if (defined $ENV{PERL_INC})
|
||||
+ {
|
||||
+ $self->{PERL_INC} = $ENV{PERL_INC};
|
||||
+ }
|
||||
my $perl_h;
|
||||
|
||||
if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h"))
|
||||
57
meta/recipes-devtools/perl/files/perl-configpm-switch.patch
Normal file
57
meta/recipes-devtools/perl/files/perl-configpm-switch.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
From 7f313cac31c55cbe62a4d0cdfa8321cc05a8eb3a Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Sun, 27 May 2007 21:04:11 +0000
|
||||
Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE)
|
||||
|
||||
This patch is used for perl-native only. It enables the switching of
|
||||
configuration files between Config_heavy.pl and
|
||||
Config_heavy-target.pl by setting the environment variables
|
||||
PERLCONFIGTARGET - the later containing settings for the target while
|
||||
the former contains those for the host. This will allow cpan.bbclass
|
||||
to use the settings appropriate for the native and/or target builds
|
||||
as required. This also disables the use of the cache since the cached
|
||||
values would be valid for the host only.
|
||||
|
||||
Upstream-Status: Inappropriate [native]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
configpm | 18 ++++++++++++++++--
|
||||
1 file changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configpm b/configpm
|
||||
index 09c4a3b..6a0a680 100755
|
||||
--- a/configpm
|
||||
+++ b/configpm
|
||||
@@ -687,7 +687,7 @@ sub FETCH {
|
||||
my($self, $key) = @_;
|
||||
|
||||
# check for cached value (which may be undef so we use exists not defined)
|
||||
- return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
|
||||
+ return $self->fetch_string($key);
|
||||
}
|
||||
|
||||
ENDOFEND
|
||||
@@ -845,7 +845,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fast_config;
|
||||
sub DESTROY { }
|
||||
|
||||
sub AUTOLOAD {
|
||||
- require 'Config_heavy.pl';
|
||||
+ my $cfgfile = 'Config_heavy.pl';
|
||||
+ if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes")
|
||||
+ {
|
||||
+ $cfgfile = 'Config_heavy-target.pl';
|
||||
+ }
|
||||
+ if (defined $ENV{PERL_ARCHLIB})
|
||||
+ {
|
||||
+ push @INC, $ENV{PERL_ARCHLIB};
|
||||
+ require $cfgfile;
|
||||
+ pop @INC;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ require $cfgfile;
|
||||
+ }
|
||||
goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
|
||||
die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
|
||||
}
|
||||
38
meta/recipes-devtools/perl/files/perl-dynloader.patch
Normal file
38
meta/recipes-devtools/perl/files/perl-dynloader.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
Upstream-Status:Inappropriate [embedded specific]
|
||||
|
||||
Allow the location that .so files are searched for for dynamic
|
||||
loading to be changed via an environment variable. This is to allow
|
||||
us to load .so's from the host system while building for the target
|
||||
system.
|
||||
|
||||
Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
|
||||
|
||||
Index: perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
|
||||
===================================================================
|
||||
--- perl-5.24.1.orig/dist/XSLoader/XSLoader_pm.PL
|
||||
+++ perl-5.24.1/dist/XSLoader/XSLoader_pm.PL
|
||||
@@ -52,6 +52,24 @@ sub load {
|
||||
my ($caller, $modlibname) = caller();
|
||||
my $module = $caller;
|
||||
|
||||
+ # OE: Allow env to form dynamic loader to look in a different place
|
||||
+ # This is so it finds the host .so files, not the targets
|
||||
+ if (defined $ENV{PERLHOSTLIB})
|
||||
+ {
|
||||
+ my $hostlib = $ENV{PERLHOSTLIB};
|
||||
+ my $hostarchlib = $ENV{PERLHOSTARCHLIB};
|
||||
+ print STDERR "*** Module name IN: $modlibname\n";
|
||||
+ ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/;
|
||||
+ print STDERR "*** p1: $p1 p3: $p3 p5: $p5 p7: $p7\n";
|
||||
+ if ( $p1 ne "" ) {
|
||||
+ $modlibname = $hostlib.$p7;
|
||||
+ }
|
||||
+ if ( $p6 ne "" ) {
|
||||
+ $modlibname = $hostarchlib.$p7;
|
||||
+ }
|
||||
+ print STDERR "*** Module name OUT: $modlibname\n";
|
||||
+ }
|
||||
+
|
||||
if (@_) {
|
||||
$module = $_[0];
|
||||
} else {
|
||||
4419
meta/recipes-devtools/perl/files/perl-rdepends.txt
Normal file
4419
meta/recipes-devtools/perl/files/perl-rdepends.txt
Normal file
File diff suppressed because it is too large
Load Diff
2
meta/recipes-devtools/perl/files/run-ptest
Normal file
2
meta/recipes-devtools/perl/files/run-ptest
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
cd t && PERL_BUILD_PACKAGING=1 ./TEST | sed -u -e 's|\(.*\) .* ok$|PASS: \1|' -e 's|\(.*\) .* skipped|SKIP: \1|' -e 's|\(.*\) \.\(.*\)|FAIL: \1|'
|
||||
57
meta/recipes-devtools/perl/perl-ptest.inc
Normal file
57
meta/recipes-devtools/perl/perl-ptest.inc
Normal file
@@ -0,0 +1,57 @@
|
||||
inherit ptest
|
||||
|
||||
SRC_URI += "file://run-ptest \
|
||||
"
|
||||
do_install_ptest () {
|
||||
mkdir -p ${D}${PTEST_PATH}
|
||||
sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
|
||||
sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl
|
||||
sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh
|
||||
tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=Makefile --exclude=makefile --exclude=hostperl \
|
||||
--exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \
|
||||
--exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \
|
||||
--exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
|
||||
--exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \
|
||||
--exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \
|
||||
--exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )
|
||||
|
||||
ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl
|
||||
|
||||
# Remove build host references from various scattered files...
|
||||
find "${D}${PTEST_PATH}" \
|
||||
\( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \
|
||||
-o -name 'h2xs' -o -name 'h2ph' \
|
||||
-o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man' -o -name 'pod2text' \) \
|
||||
-type f -exec sed -i \
|
||||
-e "s,${D},,g" \
|
||||
-e "s,--sysroot=${STAGING_DIR_HOST},,g" \
|
||||
-e "s,-isystem${STAGING_INCDIR} ,,g" \
|
||||
-e 's|${DEBUG_PREFIX_MAP}||g' \
|
||||
-e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
|
||||
-e "s,${STAGING_LIBDIR},${libdir},g" \
|
||||
-e "s,${STAGING_BINDIR},${bindir},g" \
|
||||
-e "s,${STAGING_INCDIR},${includedir},g" \
|
||||
-e "s,${STAGING_BINDIR_NATIVE}/,,g" \
|
||||
-e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
|
||||
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
|
||||
-e 's:${RECIPE_SYSROOT}::g' \
|
||||
{} +
|
||||
|
||||
# Remove a useless timestamp...
|
||||
sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst
|
||||
}
|
||||
|
||||
python populate_packages_prepend() {
|
||||
# Put all *.t files from the lib dir in the ptest package
|
||||
# do_split_packages requires a pair of () in the regex, but we have nothing
|
||||
# to match, so use an empty pair.
|
||||
if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d):
|
||||
do_split_packages(d, d.expand('${libdir}/perl/${PV}'), r'.*\.t()',
|
||||
'${PN}-ptest%s', '%s', recursive=True, match_path=True)
|
||||
}
|
||||
|
||||
RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc sed"
|
||||
|
||||
# The perl-ptest package contains Perl internal modules and generating file
|
||||
# dependencies for it causes problems.
|
||||
SKIP_FILEDEPS_${PN}-ptest = '1'
|
||||
315
meta/recipes-devtools/perl/perl_5.30.0.bb
Normal file
315
meta/recipes-devtools/perl/perl_5.30.0.bb
Normal file
@@ -0,0 +1,315 @@
|
||||
SUMMARY = "Perl scripting language"
|
||||
HOMEPAGE = "http://www.perl.org/"
|
||||
SECTION = "devel"
|
||||
LICENSE = "Artistic-1.0 | GPL-1.0+"
|
||||
LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \
|
||||
file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \
|
||||
"
|
||||
|
||||
|
||||
SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
|
||||
https://github.com/arsv/perl-cross/releases/download/1.3/perl-cross-1.3.tar.gz;name=perl-cross \
|
||||
file://perl-rdepends.txt \
|
||||
file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \
|
||||
file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \
|
||||
file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \
|
||||
file://errno_ver.diff \
|
||||
file://native-perlinc.patch \
|
||||
file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
|
||||
file://perl-dynloader.patch \
|
||||
file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \
|
||||
file://fix-setgroup.patch \
|
||||
"
|
||||
SRC_URI_append_class-native = " \
|
||||
file://perl-configpm-switch.patch \
|
||||
"
|
||||
|
||||
SRC_URI[perl.md5sum] = "9770584cdf9b5631c38097645ce33549"
|
||||
SRC_URI[perl.sha256sum] = "851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2"
|
||||
SRC_URI[perl-cross.md5sum] = "4dda3daf9c4fe42b3d6a5dd052852a48"
|
||||
SRC_URI[perl-cross.sha256sum] = "49edea1ea2cd6c5c47386ca71beda8d150c748835781354dbe7f75b1df27e703"
|
||||
|
||||
S = "${WORKDIR}/perl-${PV}"
|
||||
|
||||
inherit upstream-version-is-even
|
||||
|
||||
DEPENDS += "db gdbm zlib virtual/crypt"
|
||||
|
||||
PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0"
|
||||
|
||||
do_unpack_append() {
|
||||
bb.build.exec_func('do_copy_perlcross', d)
|
||||
}
|
||||
|
||||
do_copy_perlcross() {
|
||||
cp -rfp ${WORKDIR}/perl-cross*/* ${S}
|
||||
}
|
||||
|
||||
do_configure_class-target() {
|
||||
./configure --prefix=${prefix} --libdir=${libdir} \
|
||||
--target=${TARGET_SYS} \
|
||||
-Duseshrplib \
|
||||
-Dsoname=libperl.so.5 \
|
||||
-Dvendorprefix=${prefix} \
|
||||
-Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux
|
||||
|
||||
#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).
|
||||
|
||||
sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h
|
||||
}
|
||||
|
||||
do_configure_class-nativesdk() {
|
||||
./configure --prefix=${prefix} \
|
||||
--target=${TARGET_SYS} \
|
||||
-Duseshrplib \
|
||||
-Dsoname=libperl.so.5 \
|
||||
-Dvendorprefix=${prefix} \
|
||||
-Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux
|
||||
|
||||
# See the comment above
|
||||
sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h
|
||||
}
|
||||
|
||||
do_configure_class-native() {
|
||||
./configure --prefix=${prefix} \
|
||||
-Dbin=${bindir}/perl-native \
|
||||
-Duseshrplib \
|
||||
-Dsoname=libperl.so.5 \
|
||||
-Dvendorprefix=${prefix} \
|
||||
-Ui_xlocale
|
||||
}
|
||||
|
||||
do_configure_append() {
|
||||
if [ -n "$SOURCE_DATE_EPOCH" ]; then
|
||||
PERL_BUILD_DATE="$(${PYTHON} -c "\
|
||||
from datetime import datetime, timezone; \
|
||||
print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \
|
||||
")"
|
||||
echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h
|
||||
fi
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
oe_runmake
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
|
||||
install -d ${D}${libdir}/perl5
|
||||
install -d ${D}${libdir}/perl5/${PV}/
|
||||
install -d ${D}${libdir}/perl5/${PV}/ExtUtils/
|
||||
|
||||
# Save native config
|
||||
install config.sh ${D}${libdir}/perl5
|
||||
install lib/Config.pm ${D}${libdir}/perl5/${PV}/
|
||||
install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/
|
||||
|
||||
# Fix up shared library
|
||||
rm ${D}/${libdir}/perl5/${PV}/*/CORE/libperl.so
|
||||
ln -sf ../../../../libperl.so.${PERL_LIB_VER} $(echo ${D}/${libdir}/perl5/${PV}/*/CORE)/libperl.so
|
||||
}
|
||||
|
||||
do_install_append_class-target() {
|
||||
# This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
|
||||
ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
|
||||
|
||||
}
|
||||
|
||||
do_install_append_class-nativesdk() {
|
||||
# This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
|
||||
ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
|
||||
|
||||
create_wrapper ${D}${bindir}/perl \
|
||||
PERL5LIB='$PERL5LIB:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/site_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/vendor_perl/${PV}:$OECORE_NATIVE_SYSROOT/${libdir_nativesdk}/perl5/${PV}'
|
||||
}
|
||||
|
||||
do_install_append_class-native () {
|
||||
# Those wrappers mean that perl installed from sstate (which may change
|
||||
# path location) works and that in the nativesdk case, the SDK can be
|
||||
# installed to a different location from the one it was built for.
|
||||
create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}'
|
||||
|
||||
# Use /usr/bin/env nativeperl for the perl script.
|
||||
for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
|
||||
sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
|
||||
done
|
||||
}
|
||||
|
||||
PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess"
|
||||
|
||||
perl_package_preprocess () {
|
||||
# Fix up installed configuration
|
||||
sed -i -e "s,${D},,g" \
|
||||
-e "s,${DEBUG_PREFIX_MAP},,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" \
|
||||
-e 's:${RECIPE_SYSROOT}::g' \
|
||||
${PKGD}${bindir}/h2xs \
|
||||
${PKGD}${bindir}/h2ph \
|
||||
${PKGD}${bindir}/pod2man \
|
||||
${PKGD}${bindir}/pod2text \
|
||||
${PKGD}${bindir}/pod2usage \
|
||||
${PKGD}${bindir}/podchecker \
|
||||
${PKGD}${bindir}/podselect \
|
||||
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \
|
||||
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \
|
||||
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \
|
||||
${PKGD}${libdir}/perl5/${PV}/Config.pm \
|
||||
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \
|
||||
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \
|
||||
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \
|
||||
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \
|
||||
${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \
|
||||
${PKGD}${libdir}/perl5/${PV}/FileCache.pm \
|
||||
${PKGD}${libdir}/perl5/${PV}/pod/*.pod \
|
||||
${PKGD}${libdir}/perl5/config.sh
|
||||
}
|
||||
|
||||
require perl-ptest.inc
|
||||
|
||||
FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \
|
||||
${libdir}/perl5/site_perl \
|
||||
${libdir}/perl5/${PV}/Config.pm \
|
||||
${libdir}/perl5/${PV}/*/Config_git.pl \
|
||||
${libdir}/perl5/${PV}/*/Config_heavy-target.pl \
|
||||
${libdir}/perl5/config.sh \
|
||||
${libdir}/perl5/${PV}/strict.pm \
|
||||
${libdir}/perl5/${PV}/warnings.pm \
|
||||
${libdir}/perl5/${PV}/warnings \
|
||||
${libdir}/perl5/${PV}/vars.pm \
|
||||
${libdir}/perl5/site_perl \
|
||||
"
|
||||
RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
|
||||
perl-module-warnings-register"
|
||||
|
||||
FILES_${PN}-staticdev_append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a"
|
||||
|
||||
FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE"
|
||||
|
||||
FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \
|
||||
${libdir}/perl5/${PV}/*/.packlist \
|
||||
${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \
|
||||
${libdir}/perl5/${PV}/ExtUtils/xsubpp \
|
||||
${libdir}/perl5/${PV}/ExtUtils/typemap \
|
||||
${libdir}/perl5/${PV}/Encode/encode.h \
|
||||
"
|
||||
PACKAGES += "${PN}-misc"
|
||||
|
||||
FILES_${PN}-misc = "${bindir}/*"
|
||||
|
||||
PACKAGES += "${PN}-pod"
|
||||
|
||||
FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \
|
||||
${libdir}/perl5/${PV}/*.pod \
|
||||
${libdir}/perl5/${PV}/*/*.pod \
|
||||
${libdir}/perl5/${PV}/*/*/*.pod \
|
||||
${libdir}/perl5/${PV}/*/*/*/*.pod \
|
||||
"
|
||||
|
||||
PACKAGES += "${PN}-module-cpan ${PN}-module-unicore"
|
||||
|
||||
FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \
|
||||
"
|
||||
FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore"
|
||||
|
||||
# Create a perl-modules package recommending all the other perl
|
||||
# packages (actually the non modules packages and not created too)
|
||||
ALLOW_EMPTY_${PN}-modules = "1"
|
||||
PACKAGES += "${PN}-modules "
|
||||
|
||||
PACKAGESPLITFUNCS_prepend = "split_perl_packages "
|
||||
|
||||
python split_perl_packages () {
|
||||
libdir = d.expand('${libdir}/perl5/${PV}')
|
||||
do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False)
|
||||
do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
|
||||
do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
|
||||
do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
|
||||
do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
|
||||
do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False)
|
||||
|
||||
# perl-modules should recommend every perl module, and only the
|
||||
# modules. Don't attempt to use the result of do_split_packages() as some
|
||||
# modules are manually split (eg. perl-module-unicore).
|
||||
packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split())
|
||||
d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages))
|
||||
|
||||
# Read the pre-generated dependency file, and use it to set module dependecies
|
||||
for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines():
|
||||
splitline = line.split()
|
||||
module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}")
|
||||
depends = splitline[2].strip('"').replace("perl-module", "${PN}-module")
|
||||
d.appendVar(d.expand(module), " " + depends)
|
||||
}
|
||||
|
||||
PACKAGES_DYNAMIC_class-target += "^perl-module-.*"
|
||||
PACKAGES_DYNAMIC_class-nativesdk += "^nativesdk-perl-module-.*"
|
||||
|
||||
RDEPENDS_${PN}-misc += "perl perl-modules"
|
||||
RDEPENDS_${PN}-pod += "perl"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"
|
||||
|
||||
do_create_rdepends_inc() {
|
||||
cd ${WORKDIR}
|
||||
cat <<'EOPREAMBLE' > ${WORKDIR}/perl-rdepends.inc
|
||||
|
||||
# Some additional dependencies that the above doesn't manage to figure out
|
||||
RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix"
|
||||
RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc"
|
||||
RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes"
|
||||
RDEPENDS_${PN}-module-overload += "${PN}-module-overloading"
|
||||
|
||||
# Generated depends list beyond this line
|
||||
EOPREAMBLE
|
||||
test -e packages-split.new && rm -rf packages-split.new
|
||||
cp -r packages-split packages-split.new && cd packages-split.new
|
||||
find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d'
|
||||
egrep -r "^\s*(\<use .*|\<require .*);?" perl-module-* --include="*.pm" | \
|
||||
sed "s/\/.*\.pm: */ += /g;s/[\"\']//g;s/;.*/\"/g;s/+= .*\(require\|use\)\> */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:] | \
|
||||
awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \
|
||||
grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \
|
||||
sort -u | \
|
||||
sed 's/^/RDEPENDS_/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \
|
||||
egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-test2|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \
|
||||
egrep -wv '=>|module-algorithm-diff|module-carp|module-c<extutils-mm-unix>|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' >> ${WORKDIR}/perl-rdepends.generated
|
||||
cp ${WORKDIR}/perl-rdepends.generated ${THISDIR}/files/perl-rdepends.txt
|
||||
}
|
||||
|
||||
# bitbake perl -c create_rdepends_inc
|
||||
addtask do_create_rdepends_inc
|
||||
|
||||
SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
|
||||
|
||||
perl_sysroot_create_wrapper () {
|
||||
mkdir -p ${SYSROOT_DESTDIR}${bindir}
|
||||
# Create a wrapper that /usr/bin/env perl will use to get perl-native.
|
||||
# This MUST live in the normal bindir.
|
||||
cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF
|
||||
#!/bin/sh
|
||||
realpath=\`readlink -fn \$0\`
|
||||
exec \`dirname \$realpath\`/perl-native/perl "\$@"
|
||||
EOF
|
||||
chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl
|
||||
cat ${SYSROOT_DESTDIR}${bindir}/nativeperl
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user