ppisar pushed to perl-Storable (master). "2.53 bump in order to dual-live with perl 5.22"

notifications at fedoraproject.org notifications at fedoraproject.org
Wed May 6 08:04:57 UTC 2015


>From a63f7cf247001f4c76443615afbfbf044122d22b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
Date: Wed, 6 May 2015 09:44:49 +0200
Subject: 2.53 bump in order to dual-live with perl 5.22


diff --git a/Storable-2.51-Upgrade-to-2.53.patch b/Storable-2.51-Upgrade-to-2.53.patch
new file mode 100644
index 0000000..f88f45f
--- /dev/null
+++ b/Storable-2.51-Upgrade-to-2.53.patch
@@ -0,0 +1,307 @@
+From fd2e79041c553c1220c6eca796293873246c5682 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Wed, 6 May 2015 09:39:53 +0200
+Subject: [PATCH] Upgrade to 2.53
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ ChangeLog         |  2 +-
+ MANIFEST          |  3 +++
+ Storable.pm       |  6 +++---
+ t/attach.t        | 42 ++++++++++++++++++++++++++++++++++++
+ t/attach_errors.t |  2 +-
+ t/canonical.t     |  2 +-
+ t/code.t          |  2 +-
+ t/leaks.t         | 34 +++++++++++++++++++++++++++++
+ t/tied_store.t    | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ t/utf8.t          |  6 ++++--
+ 10 files changed, 154 insertions(+), 9 deletions(-)
+ create mode 100644 t/attach.t
+ create mode 100644 t/leaks.t
+ create mode 100644 t/tied_store.t
+
+diff --git a/ChangeLog b/ChangeLog
+index 4df921e..cbfdbab 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -209,7 +209,7 @@ Fri Jun  7 23:55:41 BST 2002   Nicholas Clark
+ 	The bug was introduced as development perl change 16442 (on
+ 	2002/05/07), so has been present since 2.00.
+ 	Patches to introduce more regression tests to reduce the chance of
+-	a reoccurence of this sort of goof are always welcome.
++	a reoccurrence of this sort of goof are always welcome.
+ 	
+ Thu May 30 20:31:08 BST 2002   Nicholas Clark <nick at ccl4.org>
+ 
+diff --git a/MANIFEST b/MANIFEST
+index 84b72f1..2f5b725 100644
+--- a/MANIFEST
++++ b/MANIFEST
+@@ -9,6 +9,7 @@ ppport.h
+ README
+ Storable.pm
+ Storable.xs
++t/attach.t
+ t/attach_errors.t
+ t/attach_singleton.t
+ t/blessed.t
+@@ -33,6 +34,7 @@ t/HAS_OVERLOAD.pm
+ t/integer.t
+ t/interwork56.t
+ t/just_plain_nasty.t
++t/leaks.t
+ t/lock.t
+ t/make_56_interwork.pl
+ t/make_downgrade.pl
+@@ -51,6 +53,7 @@ t/threads.t
+ t/tied.t
+ t/tied_hook.t
+ t/tied_items.t
++t/tied_store.t
+ t/utf8.t
+ t/utf8hash.t
+ t/weak.t
+diff --git a/Storable.pm b/Storable.pm
+index 839c1d1..9d8b621 100644
+--- a/Storable.pm
++++ b/Storable.pm
+@@ -22,7 +22,7 @@ package Storable; @ISA = qw(Exporter);
+ 
+ use vars qw($canonical $forgive_me $VERSION);
+ 
+-$VERSION = '2.51';
++$VERSION = '2.53';
+ 
+ BEGIN {
+     if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) {
+@@ -1088,8 +1088,8 @@ deal with them.
+ 
+ The store functions will C<croak> if they run into such references
+ unless you set C<$Storable::forgive_me> to some C<TRUE> value. In that
+-case, the fatal message is turned in a warning and some
+-meaningless string is stored instead.
++case, the fatal message is converted to a warning and some meaningless
++string is stored instead.
+ 
+ Setting C<$Storable::canonical> may not yield frozen strings that
+ compare equal due to possible stringification of numbers. When the
+diff --git a/t/attach.t b/t/attach.t
+new file mode 100644
+index 0000000..5ffdae5
+--- /dev/null
++++ b/t/attach.t
+@@ -0,0 +1,42 @@
++#!./perl -w
++#
++# This file tests that Storable correctly uses STORABLE_attach hooks
++
++sub BEGIN {
++	unshift @INC, 't';
++	unshift @INC, 't/compat' if $] < 5.006002;
++	require Config; import Config;
++	if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bStorable\b/) {
++		print "1..0 # Skip: Storable was not built\n";
++		exit 0;
++	}
++}
++
++use Test::More tests => 3;
++use Storable ();
++
++{
++	my $destruct_cnt = 0;
++	my $obj = bless {data => 'ok'}, 'My::WithDestructor';
++	my $target = Storable::thaw( Storable::freeze( $obj ) );
++	is( $target->{data}, 'ok', 'We got correct object after freeze/thaw' );
++	is( $destruct_cnt, 0, 'No tmp objects created by Storable' );
++	undef $obj;
++	undef $target;
++	is( $destruct_cnt, 2, 'Only right objects destroyed at the end' );
++
++	package My::WithDestructor;
++
++	sub STORABLE_freeze {
++		my ($self, $clone) = @_;
++		return $self->{data};
++	}
++
++	sub STORABLE_attach {
++		my ($class, $clone, $string) = @_;
++		return bless {data => $string}, 'My::WithDestructor';
++	}
++
++	sub DESTROY { $destruct_cnt++; }
++}
++
+diff --git a/t/attach_errors.t b/t/attach_errors.t
+index c163ca0..6cebd97 100644
+--- a/t/attach_errors.t
++++ b/t/attach_errors.t
+@@ -234,7 +234,7 @@ use Storable ();
+ 	isa_ok( $thawed->[1], 'My::GoodAttach::MultipleReferences' );
+ 
+ 	is($thawed->[0], $thawed->[1], 'References to the same object are attached properly');
+-	is($thawed->[1]{id}, $obj->{id}, 'Object with multiple references attchached properly');
++	is($thawed->[1]{id}, $obj->{id}, 'Object with multiple references attached properly');
+ 
+     package My::GoodAttach::MultipleReferences;
+ 
+diff --git a/t/canonical.t b/t/canonical.t
+index 23e012f..35046de 100644
+--- a/t/canonical.t
++++ b/t/canonical.t
+@@ -34,7 +34,7 @@ $maxarraysize = 100;
+ 
+ eval { require Digest::MD5; };
+ $gotmd5 = !$@;
+-diag "Will use Digest::MD5" if $gotmd5;
++note "Will use Digest::MD5" if $gotmd5;
+ 
+ # Use Data::Dumper if debugging and it is available to create an ASCII dump
+ 
+diff --git a/t/code.t b/t/code.t
+index c383142..7fc40ba 100644
+--- a/t/code.t
++++ b/t/code.t
+@@ -102,7 +102,7 @@ is($thawed->{"b"}->(), "JAPH");
+ $freezed = freeze $obj[2];
+ $thawed  = thaw $freezed;
+ 
+-is($thawed->(), 42);
++is($thawed->(), (ord "A") == 193 ? -118 : 42);
+ 
+ ######################################################################
+ 
+diff --git a/t/leaks.t b/t/leaks.t
+new file mode 100644
+index 0000000..06360d6
+--- /dev/null
++++ b/t/leaks.t
+@@ -0,0 +1,34 @@
++#!./perl
++
++use Test::More;
++use Storable ();
++BEGIN {
++eval "use Test::LeakTrace";
++plan 'skip_all' => 'Test::LeakTrace required for this tests' if $@;
++}
++plan 'tests' => 1;
++
++{
++    my $c = My::Simple->new;
++    my $d;
++    my $freezed = Storable::freeze($c);
++    no_leaks_ok
++    {
++        $d = Storable::thaw($freezed);
++        undef $d;
++    };
++
++    package My::Simple;
++    sub new {
++        my ($class, $arg) = @_;
++        bless {t=>$arg}, $class;
++    }
++    sub STORABLE_freeze {
++        return "abcderfgh";
++    }
++    sub STORABLE_attach {
++        my ($class, $c, $serialized) = @_;
++        return $class->new($serialized);
++    }
++}
++
+diff --git a/t/tied_store.t b/t/tied_store.t
+new file mode 100644
+index 0000000..c657f95
+--- /dev/null
++++ b/t/tied_store.t
+@@ -0,0 +1,64 @@
++#!./perl
++
++sub BEGIN {
++    unshift @INC, 't';
++    unshift @INC, 't/compat' if $] < 5.006002;
++    require Config; import Config;
++    if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bStorable\b/) {
++        print "1..0 # Skip: Storable was not built\n";
++        exit 0;
++    }
++}
++
++use Storable ();
++use Test::More tests => 3;
++
++our $f;
++
++package TIED_HASH;
++
++sub TIEHASH { bless({}, $_[0]) }
++
++sub STORE {
++	$f = Storable::freeze(\$_[2]);
++	1;
++}
++
++package TIED_ARRAY;
++
++sub TIEARRAY { bless({}, $_[0]) }
++
++sub STORE {
++	$f = Storable::freeze(\$_[2]);
++	1;
++}
++
++package TIED_SCALAR;
++
++sub TIESCALAR { bless({}, $_[0]) }
++
++sub STORE {
++	$f = Storable::freeze(\$_[1]);
++	1;
++}
++
++package main;
++
++my($s, @a, %h);
++tie $s, "TIED_SCALAR";
++tie @a, "TIED_ARRAY";
++tie %h, "TIED_HASH";
++
++$f = undef;
++$s = 111;
++is $f, Storable::freeze(\111);
++
++$f = undef;
++$a[3] = 222;
++is $f, Storable::freeze(\222);
++
++$f = undef;
++$h{foo} = 333;
++is $f, Storable::freeze(\333);
++
++1;
+diff --git a/t/utf8.t b/t/utf8.t
+index fd20ef6..a8dd6cd 100644
+--- a/t/utf8.t
++++ b/t/utf8.t
+@@ -32,8 +32,10 @@ is($x, ${thaw freeze \$x});
+ $x = join '', map {chr $_} (0..1023);
+ is($x, ${thaw freeze \$x});
+ 
+-# Char in the range 127-255 (probably) in utf8
+-$x = chr (175) . chr (256);
++# Char in the range 127-255 (probably) in utf8.  This just won't work for
++# EBCDIC for early Perls.
++$x = ($] lt 5.007_003) ? chr(175) : chr(utf8::unicode_to_native(175))
++   . chr (256);
+ chop $x;
+ is($x, ${thaw freeze \$x});
+ 
+-- 
+2.1.0
+
diff --git a/perl-Storable.spec b/perl-Storable.spec
index b212068..91a29ac 100644
--- a/perl-Storable.spec
+++ b/perl-Storable.spec
@@ -1,12 +1,16 @@
+%global base_version 2.51
+
 Name:           perl-Storable
 Epoch:          1
-Version:        2.51
-Release:        4%{?dist}
+Version:        2.53
+Release:        1%{?dist}
 Summary:        Persistence for Perl data structures
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 URL:            http://search.cpan.org/dist/Storable/
-Source0:        http://www.cpan.org/authors/id/A/AM/AMS/Storable-%{version}.tar.gz
+Source0:        http://www.cpan.org/authors/id/A/AM/AMS/Storable-%{base_version}.tar.gz
+# Unbundled form perl 5.21.11
+Patch0:         Storable-2.51-Upgrade-to-2.53.patch
 BuildRequires:  perl
 BuildRequires:  perl(Config)
 BuildRequires:  perl(ExtUtils::MakeMaker)
@@ -24,11 +28,13 @@ BuildRequires:  perl(XSLoader)
 BuildRequires:  perl(bytes)
 BuildRequires:  perl(integer)
 BuildRequires:  perl(overload)
+BuildRequires:  perl(utf8)
 BuildRequires:  perl(Test::More)
 BuildRequires:  perl(threads)
 BuildRequires:  perl(Safe)
 BuildRequires:  perl(Scalar::Util)
 BuildRequires:  perl(strict)
+BuildRequires:  perl(warnings)
 # Optional tests:
 # Data::Dump not used
 # Data::Dumper not used
@@ -53,7 +59,8 @@ containing scalar, array, hash or reference objects, i.e. anything that
 can be conveniently stored to disk and retrieved at a later time.
 
 %prep
-%setup -q -n Storable-%{version}
+%setup -q -n Storable-%{base_version}
+%patch0 -p1
 # Remove bundled modules
 rm -rf t/compat
 sed -i -e '/^t\/compat\//d' MANIFEST
@@ -80,6 +87,9 @@ make test
 %{_mandir}/man3/*
 
 %changelog
+* Wed May 06 2015 Petr Pisar <ppisar at redhat.com> - 1:2.53-1
+- 2.53 bump in order to dual-live with perl 5.22
+
 * Wed Sep 03 2014 Jitka Plesnikova <jplesnik at redhat.com> - 1:2.51-4
 - Increase Epoch to favour standalone package
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/perl-Storable.git/commit/?h=master&id=a63f7cf247001f4c76443615afbfbf044122d22b


More information about the perl-devel mailing list