diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2015-06-17 00:19:42 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-07-01 15:38:20 +0100 |
commit | 06d43a90acbe63baea62d220659149a3ff2f9198 (patch) | |
tree | 7bc9adc24b74694192fba12119e87b0d86521fb5 /meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff | |
parent | eb54c29d0566e01c287bdccbdb26c188aac66033 (diff) | |
download | openembedded-core-contrib-06d43a90acbe63baea62d220659149a3ff2f9198.tar.gz |
perl: 5.20.0 -> 5.22.0
* Remove:
- perl-5.14.3-fix-CVE-2010-4777.patch: backport
- fix-FF_MORE-crash.patch: backport
- perl-rprovides.inc: it was introduced by 5.8.7, the lines in it are like:
RPROVIDES_perl-module-b-asmdata = "perl-module-${TARGET_SYS}-b-asmdata"
If some packages do RPDEND on something like
perl-module-${TARGET_SYS}-b-asmdatam, we need update the package rather
than keep use RPROVIDES in perl-rprovides.inc, so remove it.
- perl-rprovides_5.20.0.inc: it only has one line:
RPROVIDES_perl-module-module-build, but the perl-module-module-build
is gone in 5.22.0, so remove it.
* Update:
- debian patches from http://ftp.de.debian.org/debian/pool/main/p/perl/perl_5.20.0-1.debian.tar.xz
- Makefile.SH.patch
- Merge 0001-Makefile.SH-fix-do_install-failed.patch into Makefile.SH.patch
- native-nopacklist.patch
- config.sh
* The CGI.pm and Module::Build disappear from core, so no
perl-module-module-build.rpm any more, more info:
http://perltricks.com/article/165/2015/4/10/A-preview-of-Perl-5-22
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Diffstat (limited to 'meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff')
-rw-r--r-- | meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff b/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff new file mode 100644 index 0000000000..525f962c1a --- /dev/null +++ b/meta/recipes-devtools/perl/perl/debian/fixes/memoize_storable_nstore.diff @@ -0,0 +1,110 @@ +From 55d430eb02fc116581847304ca20321687978269 Mon Sep 17 00:00:00 2001 +From: Jonathan Nieder <jrnieder@gmail.com> +Date: Fri, 27 Jul 2012 10:35:07 -0500 +Subject: Memoize::Storable: respect 'nstore' option not respected +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Memoize(3perl) says: + + tie my %cache => 'Memoize::Storable', $filename, 'nstore'; + memoize 'function', SCALAR_CACHE => [HASH => \%cache]; + + Include the ‘nstore’ option to have the "Storable" database + written in ‘network order’. (See Storable for more details + about this.) + +In fact the "nstore" option does no such thing. Option parsing looks +like this: + + @options{@_} = (); + +$self->{OPTIONS}{'nstore'} is accordingly set to undef. Later +Memoize::Storable checks if the option is true, and since undef is +not true, the "else" branch is always taken. + + if ($self->{OPTIONS}{'nstore'}) { + Storable::nstore($self->{H}, $self->{FILENAME}); + } else { + Storable::store($self->{H}, $self->{FILENAME}); + } + +Correcting the condition to (exists $self->{OPTIONS}{'nstore'}) fixes +it. + +Noticed because git-svn, which uses the 'nstore' option for its +on-disk caches, was producing + + Byte order is not compatible at ../../lib/Storable.pm + +when run using a perl with a different integer size (and hence +byteorder). + +Reported by Tim Retout (RT#77790) + +Bug-Debian: http://bugs.debian.org/587650 +Bug: https://rt.cpan.org/Public/Bug/Display.html?id=77790 +Forwarded: https://rt.cpan.org/Public/Bug/Display.html?id=77790 +Patch-Name: fixes/memoize_storable_nstore.diff +--- + cpan/Memoize/Memoize/Storable.pm | 2 +- + cpan/Memoize/t/tie_storable.t | 24 ++++++++++++++++++++---- + 2 files changed, 21 insertions(+), 5 deletions(-) + +diff --git a/cpan/Memoize/Memoize/Storable.pm b/cpan/Memoize/Memoize/Storable.pm +index 1314797..87876f2 100644 +--- a/cpan/Memoize/Memoize/Storable.pm ++++ b/cpan/Memoize/Memoize/Storable.pm +@@ -55,7 +55,7 @@ sub DESTROY { + require Carp if $Verbose; + my $self= shift; + print STDERR "Memoize::Storable::DESTROY(@_)\n" if $Verbose; +- if ($self->{OPTIONS}{'nstore'}) { ++ if (exists $self->{OPTIONS}{'nstore'}) { + Storable::nstore($self->{H}, $self->{FILENAME}); + } else { + Storable::store($self->{H}, $self->{FILENAME}); +diff --git a/cpan/Memoize/t/tie_storable.t b/cpan/Memoize/t/tie_storable.t +index de3b8dc..a624238 100644 +--- a/cpan/Memoize/t/tie_storable.t ++++ b/cpan/Memoize/t/tie_storable.t +@@ -31,18 +31,34 @@ if ($@) { + exit 0; + } + +-print "1..4\n"; ++print "1..9\n"; + + $file = "storable$$"; + 1 while unlink $file; + tryout('Memoize::Storable', $file, 1); # Test 1..4 + 1 while unlink $file; ++tryout('Memoize::Storable', $file, 5, 'nstore'); # Test 5..8 ++assert_netorder($file, 9); # Test 9 ++1 while unlink $file; ++ ++ ++sub assert_netorder { ++ my ($file, $testno) = @_; ++ ++ my $netorder = Storable::file_magic($file)->{'netorder'}; ++ print ($netorder ? "ok $testno\n" : "not ok $testno\n"); ++} + + sub tryout { +- my ($tiepack, $file, $testno) = @_; ++ my ($tiepack, $file, $testno, $option) = @_; + +- tie my %cache => $tiepack, $file +- or die $!; ++ if (defined $option) { ++ tie my %cache => $tiepack, $file, $option ++ or die $!; ++ } else { ++ tie my %cache => $tiepack, $file ++ or die $!; ++ } + + memoize 'c5', + SCALAR_CACHE => [HASH => \%cache], |