Hello community,
here is the log from the commit of package perl-Sereal for openSUSE:Factory checked in at 2019-09-05 12:34:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sereal (Old)
and /work/SRC/openSUSE:Factory/.perl-Sereal.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Sereal"
Thu Sep 5 12:34:26 2019 rev:4 rq:727955 version:4.007
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sereal/perl-Sereal.changes 2018-11-09 07:54:04.291735057 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Sereal.new.7948/perl-Sereal.changes 2019-09-05 12:34:28.935571390 +0200
@@ -1,0 +2,21 @@
+Wed Apr 10 05:23:51 UTC 2019 - Stephan Kulow
+
+- updated to 4.007
+ see /usr/share/doc/packages/perl-Sereal/Changes
+
+ 4.007 Tues Apr 9, 2019
+ * Sereal: restore write_sereal(), read_sereal() as aliases to write_sereal_file()
+ and read_sereal_file(). Better tests for exported subs. Add SRL_UNCOMPRESSED,
+ SRL_SNAPPY, SRL_ZLIB, SRL_ZSTD exports.
+ * Decoder: tweak docs for looks_like_sereal/scalar_looks_like_sereal
+
+ 4.006 Mon Apr 8, 2019
+ * Sereal: fix read_sereal_file(),
+
+-------------------------------------------------------------------
+Tue Apr 9 05:23:45 UTC 2019 - Stephan Kulow
+
+- updated to 4.006
+ see /usr/share/doc/packages/perl-Sereal/Changes
+
+-------------------------------------------------------------------
Old:
----
Sereal-4.005.tar.gz
New:
----
Sereal-4.007.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Sereal.spec ++++++
--- /var/tmp/diff_new_pack.cwDRDA/_old 2019-09-05 12:34:30.239571135 +0200
+++ /var/tmp/diff_new_pack.cwDRDA/_new 2019-09-05 12:34:30.243571134 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Sereal
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,10 +17,10 @@
Name: perl-Sereal
-Version: 4.005
+Version: 4.007
Release: 0
%define cpan_name Sereal
-Summary: Binary (de-)serialization module for Perl
+Summary: Binary serialization module for Perl
License: Artistic-1.0 OR GPL-1.0-or-later
Group: Development/Libraries/Perl
Url: https://metacpan.org/release/%{cpan_name}
@@ -30,13 +30,13 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Sereal::Decoder) >= 4.005
-BuildRequires: perl(Sereal::Encoder) >= 4.005
+BuildRequires: perl(Sereal::Decoder) >= 4.007
+BuildRequires: perl(Sereal::Encoder) >= 4.007
BuildRequires: perl(Test::LongString)
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::Warn)
-Requires: perl(Sereal::Decoder) >= 4.005
-Requires: perl(Sereal::Encoder) >= 4.005
+Requires: perl(Sereal::Decoder) >= 4.007
+Requires: perl(Sereal::Encoder) >= 4.007
%{perl_requires}
%description
@@ -67,8 +67,7 @@
%build
perl Makefile.PL INSTALLDIRS=vendor
-# Don't use smp_flags!
-make
+make %{?_smp_mflags}
%check
make test
++++++ Sereal-4.005.tar.gz -> Sereal-4.007.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sereal-4.005/Changes new/Sereal-4.007/Changes
--- old/Sereal-4.005/Changes 2018-01-23 21:43:42.000000000 +0100
+++ new/Sereal-4.007/Changes 2019-04-09 19:01:20.000000000 +0200
@@ -13,10 +13,19 @@
* Sereal package and instead install the Encoder or *
* Decoder independently. *
****************************************************************
+4.007 Tues Apr 9, 2019
+ * Sereal: restore write_sereal(), read_sereal() as aliases to write_sereal_file()
+ and read_sereal_file(). Better tests for exported subs. Add SRL_UNCOMPRESSED,
+ SRL_SNAPPY, SRL_ZLIB, SRL_ZSTD exports.
+ * Decoder: tweak docs for looks_like_sereal/scalar_looks_like_sereal
+
+4.006 Mon Apr 8, 2019
+ * Sereal: fix read_sereal_file(),
+
4.005 Tues Jan 23, 2018
* Encoder: Document encode_to_file()
* Decoder: Document and fix decode_from_file()
- * Sereal: fixup docs on write_file()/decode_file()
+ * Sereal: fixup docs on write_sereal_file()/read_sereal_file()
4.004 Sun Nov 12
* Fix build issues from C++ style comments
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sereal-4.005/MANIFEST new/Sereal-4.007/MANIFEST
--- old/Sereal-4.005/MANIFEST 2018-01-23 21:51:20.000000000 +0100
+++ new/Sereal-4.007/MANIFEST 2019-04-09 19:06:02.000000000 +0200
@@ -12,6 +12,7 @@
t/003_ptable.t
t/004_testset.t
t/005_flags.t
+t/006_sereal_file.t
t/010_desperate.t
t/011_aliased_dedupe.t
t/020_incremental.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sereal-4.005/META.json new/Sereal-4.007/META.json
--- old/Sereal-4.005/META.json 2018-01-23 21:51:20.000000000 +0100
+++ new/Sereal-4.007/META.json 2019-04-09 19:06:02.000000000 +0200
@@ -4,7 +4,7 @@
"Steffen Mueller "
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
@@ -32,8 +32,8 @@
},
"runtime" : {
"requires" : {
- "Sereal::Decoder" : "4.005",
- "Sereal::Encoder" : "4.005",
+ "Sereal::Decoder" : "4.007",
+ "Sereal::Encoder" : "4.007",
"perl" : "5.008"
}
},
@@ -42,8 +42,8 @@
"Data::Dumper" : "0",
"File::Spec" : "0",
"Scalar::Util" : "0",
- "Sereal::Decoder" : "4.005",
- "Sereal::Encoder" : "4.005",
+ "Sereal::Decoder" : "4.007",
+ "Sereal::Encoder" : "4.007",
"Test::LongString" : "0",
"Test::More" : "0.88",
"Test::Warn" : "0"
@@ -60,6 +60,6 @@
"url" : "git://github.com/Sereal/Sereal.git"
}
},
- "version" : "4.005",
- "x_serialization_backend" : "JSON::PP version 2.27400"
+ "version" : "4.007",
+ "x_serialization_backend" : "JSON::PP version 2.27400_02"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sereal-4.005/META.yml new/Sereal-4.007/META.yml
--- old/Sereal-4.005/META.yml 2018-01-23 21:51:20.000000000 +0100
+++ new/Sereal-4.007/META.yml 2019-04-09 19:06:02.000000000 +0200
@@ -7,15 +7,15 @@
ExtUtils::MakeMaker: '0'
File::Spec: '0'
Scalar::Util: '0'
- Sereal::Decoder: '4.005'
- Sereal::Encoder: '4.005'
+ Sereal::Decoder: '4.007'
+ Sereal::Encoder: '4.007'
Test::LongString: '0'
Test::More: '0.88'
Test::Warn: '0'
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -26,11 +26,11 @@
- t
- inc
requires:
- Sereal::Decoder: '4.005'
- Sereal::Encoder: '4.005'
+ Sereal::Decoder: '4.007'
+ Sereal::Encoder: '4.007'
perl: '5.008'
resources:
bugtracker: https://github.com/Sereal/Sereal/issues
repository: git://github.com/Sereal/Sereal.git
-version: '4.005'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.011'
+version: '4.007'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sereal-4.005/Makefile.PL new/Sereal-4.007/Makefile.PL
--- old/Sereal-4.005/Makefile.PL 2018-01-23 21:43:47.000000000 +0100
+++ new/Sereal-4.007/Makefile.PL 2019-04-09 19:01:31.000000000 +0200
@@ -4,7 +4,7 @@
use ExtUtils::MakeMaker;
use Cwd;
-our $VERSION = '4.005';
+our $VERSION = '4.007';
my $shared_dir = "../shared";
my $its_our_repo_file= "../this_is_the_Sereal_repo.txt";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sereal-4.005/lib/Sereal.pm new/Sereal-4.007/lib/Sereal.pm
--- old/Sereal-4.005/lib/Sereal.pm 2018-01-23 21:43:47.000000000 +0100
+++ new/Sereal-4.007/lib/Sereal.pm 2019-04-09 19:01:31.000000000 +0200
@@ -2,13 +2,23 @@
use 5.008;
use strict;
use warnings;
-our $VERSION = '4.005';
+our $VERSION = '4.007';
our $XS_VERSION = $VERSION; $VERSION= eval $VERSION;
-use Sereal::Encoder 4.005 qw(encode_sereal sereal_encode_with_object);
-use Sereal::Decoder 4.005 qw(
- decode_sereal looks_like_sereal decode_sereal_with_header_data
+use Sereal::Encoder 4.007 qw(
+ encode_sereal
+ sereal_encode_with_object
+ SRL_UNCOMPRESSED
+ SRL_SNAPPY
+ SRL_ZLIB
+ SRL_ZSTD
+);
+use Sereal::Decoder 4.007 qw(
+ decode_sereal
+ looks_like_sereal
+ decode_sereal_with_header_data
scalar_looks_like_sereal
- sereal_decode_with_object sereal_decode_with_header_with_object
+ sereal_decode_with_object
+ sereal_decode_with_header_with_object
sereal_decode_only_header_with_object
sereal_decode_only_header_with_offset_with_object
sereal_decode_with_header_and_offset_with_object
@@ -17,24 +27,35 @@
use Exporter 'import';
our @EXPORT_OK = qw(
- get_sereal_decoder
- get_sereal_encoder
- clear_sereal_object_cache
-
- encode_sereal
- decode_sereal
- write_sereal
- read_sereal
- looks_like_sereal
- sereal_encode_with_object
- sereal_decode_with_object
- decode_sereal_with_header_data
- scalar_looks_like_sereal
- sereal_decode_with_header_with_object
- sereal_decode_only_header_with_object
- sereal_decode_only_header_with_offset_with_object
- sereal_decode_with_header_and_offset_with_object
- sereal_decode_with_offset_with_object
+ get_sereal_decoder
+ get_sereal_encoder
+ clear_sereal_object_cache
+
+ encode_sereal
+ decode_sereal
+
+ read_sereal
+ read_sereal_file
+ write_sereal
+ write_sereal_file
+
+ looks_like_sereal
+ scalar_looks_like_sereal
+
+ sereal_encode_with_object
+ sereal_decode_with_object
+ decode_sereal_with_header_data
+
+ sereal_decode_with_header_with_object
+ sereal_decode_only_header_with_object
+ sereal_decode_only_header_with_offset_with_object
+ sereal_decode_with_header_and_offset_with_object
+ sereal_decode_with_offset_with_object
+
+ SRL_UNCOMPRESSED
+ SRL_SNAPPY
+ SRL_ZLIB
+ SRL_ZSTD
);
our %EXPORT_TAGS = (all => \@EXPORT_OK);
# export by default if run from command line
@@ -46,8 +67,10 @@
sub _key { join "\t", map { $_ => $_[0]->{$_} } sort keys %{$_[0]} }
sub clear_sereal_object_cache {
+ my $count= keys(%DECODERS) + keys(%ENCODERS);
%ENCODERS= ();
%DECODERS= ();
+ return $count;
}
sub get_sereal_encoder {
@@ -67,9 +90,14 @@
sub read_sereal_file {
my ($file, $opts)= @_;
- get_sereal_decoder($opts)->decode_from_file($file,$_[2]);
+ get_sereal_decoder($opts)->decode_from_file($file,@_ > 2 ? $_[2] : ());
}
+*read_sereal= *read_sereal= *read_sereal_file;
+*write_sereal= *write_sereal= *write_sereal_file;
+
+
+
1;
__END__
@@ -83,23 +111,35 @@
=head1 SYNOPSIS
use Sereal qw(
- get_sereal_decoder
- get_sereal_encoder
- clear_sereal_object_cache
- encode_sereal
- decode_sereal
- write_sereal
- read_sereal
- looks_like_sereal
- sereal_encode_with_object
- sereal_decode_with_object
- decode_sereal_with_header_data
- scalar_looks_like_sereal
- sereal_decode_with_header_with_object
- sereal_decode_only_header_with_object
- sereal_decode_only_header_with_offset_with_object
- sereal_decode_with_header_and_offset_with_object
- sereal_decode_with_offset_with_object
+ get_sereal_decoder
+ get_sereal_encoder
+ clear_sereal_object_cache
+
+ encode_sereal
+ decode_sereal
+
+ read_sereal
+ read_sereal_file
+ write_sereal
+ write_sereal_file
+
+ looks_like_sereal
+ scalar_looks_like_sereal
+
+ sereal_encode_with_object
+ sereal_decode_with_object
+ decode_sereal_with_header_data
+
+ sereal_decode_with_header_with_object
+ sereal_decode_only_header_with_object
+ sereal_decode_only_header_with_offset_with_object
+ sereal_decode_with_header_and_offset_with_object
+ sereal_decode_with_offset_with_object
+
+ SRL_UNCOMPRESSED
+ SRL_SNAPPY
+ SRL_ZLIB
+ SRL_ZSTD
);
# Note: For performance reasons, you should prefer the OO interface,
# or sereal_(en|de)code_with_object over the stateless
@@ -159,14 +199,27 @@
Returns a Sereal::Decoder with the given options. This encoder will be shared by other calls
to this function.
-=head2 write_sereal($FILENAME,$STRUCT,$APPEND,$OPTS)
+=head2 clear_sereal_object_cache
+
+Clears cache of objects created via get_sereal_encoder() and get_sereal_decoder(). Returns
+the number of objects that were removed from the cache (the sum of both types).
+
+=head2 write_sereal_file($FILENAME,$STRUCT,$APPEND,$OPTS)
Write a sereal packet to $FILENAME. See Sereal::Encoder::encode_to_file().
-=head2 read_sereal($FILENAME,$OPTS)
+=head2 write_sereal($FILENAME,$STRUCT,$APPEND,$OPTS)
+
+alias for write_sereal_file()
+
+=head2 read_sereal_file($FILENAME,$OPTS,$ROOT)
Read a sereal packet from a file. See Sereal::Decoder::decode_from_file().
+=head2 read_sereal($FILENAME,$OPTS,$ROOT)
+
+alias for read_sereal_file()
+
=head1 BUGS, CONTACT AND SUPPORT
For reporting bugs, please use the github bug tracker at
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sereal-4.005/t/006_sereal_file.t new/Sereal-4.007/t/006_sereal_file.t
--- old/Sereal-4.005/t/006_sereal_file.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Sereal-4.007/t/006_sereal_file.t 2019-04-09 19:01:20.000000000 +0200
@@ -0,0 +1,127 @@
+#!perl
+use strict;
+use warnings;
+use File::Spec;
+use lib File::Spec->catdir(qw(t lib));
+BEGIN {
+ lib->import('lib')
+ if !-d 't';
+}
+use Sereal::TestSet qw(:all);
+use Sereal qw(
+ get_sereal_decoder
+ get_sereal_encoder
+ clear_sereal_object_cache
+
+ encode_sereal
+ decode_sereal
+
+ read_sereal
+ read_sereal_file
+ write_sereal
+ write_sereal_file
+
+ looks_like_sereal
+ scalar_looks_like_sereal
+
+ sereal_encode_with_object
+ sereal_decode_with_object
+ decode_sereal_with_header_data
+
+ sereal_decode_with_header_with_object
+ sereal_decode_only_header_with_object
+ sereal_decode_only_header_with_offset_with_object
+ sereal_decode_with_header_and_offset_with_object
+ sereal_decode_with_offset_with_object
+
+ SRL_UNCOMPRESSED
+ SRL_SNAPPY
+ SRL_ZLIB
+ SRL_ZSTD
+);
+
+use Test::More tests => 30;
+use File::Temp;
+my $dir= File::Temp->newdir;
+my $source= {foo=>1};
+{
+ my $file= "$dir/test1.srl";
+ {
+ write_sereal_file($file,$source);
+ ok(-e $file, "write_sereal_file: file exists");
+ }
+ {
+ my $copy= read_sereal_file($file);
+ is_deeply($source,$copy,"read_sereal_file: simple read works");
+ }
+ {
+ read_sereal_file($file,{},my $copy);
+ is_deeply($source,$copy,"read_sereal_file: read to root works");
+ }
+ {
+ read_sereal_file($file,undef,my $copy);
+ is_deeply($source,$copy,"read_sereal_file: read to root works (undef opts)");
+ }
+}
+{
+ my $file= "$dir/test2.srl";
+ {
+ write_sereal($file,$source,{compress => SRL_ZLIB});
+ ok(-e $file, "write_sereal: file exists");
+ }
+ {
+ my $copy= read_sereal($file);
+ is_deeply($source,$copy,"read_sereal: simple read works");
+ }
+ {
+ read_sereal($file,{},my $copy);
+ is_deeply($source,$copy,"read_sereal: read to root works");
+ }
+ {
+ read_sereal($file,undef,my $copy);
+ is_deeply($source,$copy,"read_sereal: read to root works (undef opts)");
+ }
+}
+
+{
+ my $encoder_0= get_sereal_encoder({compress => SRL_ZLIB, compress_level => 9});
+ my $decoder_0= get_sereal_decoder({set_read_only => 1, use_undef => 1});
+ is(ref($encoder_0),"Sereal::Encoder","get_sereal_encoder returned an encoder");
+ is(ref($decoder_0),"Sereal::Decoder","get_sereal_decoder returned a decoder");
+ my $encoder_1= get_sereal_encoder();
+ my $decoder_1= get_sereal_decoder();
+ is(ref($encoder_1),"Sereal::Encoder","get_sereal_encoder returned an encoder");
+ is(ref($decoder_1),"Sereal::Decoder","get_sereal_decoder returned a decoder");
+ ok($encoder_0 != $encoder_1,"encoder_0 is different from encoder_1");
+ ok($decoder_0 != $decoder_1,"decoder_0 is different from decoder_1");
+ my $encoder_2= get_sereal_encoder({compress => SRL_ZLIB, compress_level => 9});
+ my $decoder_2= get_sereal_decoder({set_read_only => 1, use_undef => 1});
+ is(ref($encoder_2),"Sereal::Encoder","get_sereal_encoder returned an encoder");
+ is(ref($decoder_2),"Sereal::Decoder","get_sereal_decoder returned a decoder");
+ ok($encoder_0 == $encoder_2,"encoder_0 is same as encoder_2");
+ ok($decoder_0 == $decoder_2,"decoder_0 is same as decoder_2");
+ is(clear_sereal_object_cache(),4,"clear_sereal_object_cache returned the expected number of items");
+}
+
+{
+ my $encoded= encode_sereal(["foo"]);
+ my $decoded= decode_sereal($encoded);
+ is($decoded->[0],"foo","encode_sereal/decode_sereal seem to work");
+ is(looks_like_sereal($encoded),4, "functional looks_like_sereal() works as expected");
+ is(Sereal::Decoder->new()->looks_like_sereal($encoded),4,"object method looks_like_sereal() works as expected");
+ is(Sereal::Decoder->looks_like_sereal($encoded),4,"class method looks_like_sereal() works as expected");
+ is(scalar_looks_like_sereal($encoded),4, "functional scalar_looks_like_sereal() works as expected");
+ my $eval_ok= eval q{
+ scalar_looks_like_sereal("foo",$encoded);
+ 1;
+ };
+ my $error= $eval_ok ? "" : $@;
+ is($eval_ok,undef,"scalar_looks_like_sereal should die with two args");
+ like($error,qr/^Too many arguments for Sereal::Decoder::scalar_looks_like_sereal/,"error looks as expected");
+}
+{
+ is(SRL_UNCOMPRESSED,0,"SRL_UNCOMPRESSED has expected value");
+ is(SRL_SNAPPY,1,"SRL_SNAPPY has expected value");
+ is(SRL_ZLIB,2,"SRL_ZLIB has expected value");
+ is(SRL_ZSTD,3,"SRL_ZSTD has expected value");
+}