Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame] | 1 | From 7f313cac31c55cbe62a4d0cdfa8321cc05a8eb3a Mon Sep 17 00:00:00 2001 |
| 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
| 3 | Date: Sun, 27 May 2007 21:04:11 +0000 |
| 4 | Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE) |
| 5 | |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 6 | This patch is used for perl-native only. It enables the switching of |
| 7 | configuration files between Config_heavy.pl and |
| 8 | Config_heavy-target.pl by setting the environment variables |
| 9 | PERLCONFIGTARGET - the later containing settings for the target while |
| 10 | the former contains those for the host. This will allow cpan.bbclass |
| 11 | to use the settings appropriate for the native and/or target builds |
| 12 | as required. This also disables the use of the cache since the cached |
| 13 | values would be valid for the host only. |
| 14 | |
| 15 | Upstream-Status: Inappropriate [native] |
| 16 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
| 17 | |
Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame] | 18 | --- |
| 19 | configpm | 18 ++++++++++++++++-- |
| 20 | 1 file changed, 16 insertions(+), 2 deletions(-) |
| 21 | |
| 22 | diff --git a/configpm b/configpm |
| 23 | index 09c4a3b..6a0a680 100755 |
| 24 | --- a/configpm |
| 25 | +++ b/configpm |
| 26 | @@ -687,7 +687,7 @@ sub FETCH { |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 27 | my($self, $key) = @_; |
| 28 | |
| 29 | # check for cached value (which may be undef so we use exists not defined) |
| 30 | - return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key); |
| 31 | + return $self->fetch_string($key); |
| 32 | } |
| 33 | |
| 34 | ENDOFEND |
Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame] | 35 | @@ -845,7 +845,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fast_config; |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 36 | sub DESTROY { } |
| 37 | |
| 38 | sub AUTOLOAD { |
| 39 | - require 'Config_heavy.pl'; |
| 40 | + my $cfgfile = 'Config_heavy.pl'; |
| 41 | + if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes") |
| 42 | + { |
| 43 | + $cfgfile = 'Config_heavy-target.pl'; |
| 44 | + } |
| 45 | + if (defined $ENV{PERL_ARCHLIB}) |
| 46 | + { |
| 47 | + push @INC, $ENV{PERL_ARCHLIB}; |
| 48 | + require $cfgfile; |
| 49 | + pop @INC; |
| 50 | + } |
| 51 | + else |
| 52 | + { |
| 53 | + require $cfgfile; |
| 54 | + } |
| 55 | goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/; |
| 56 | die "&Config::AUTOLOAD failed on $Config::AUTOLOAD"; |
| 57 | } |