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 <[email protected]> + +- 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 <[email protected]> + +- 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 <[email protected]>" ], "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"); +}
