Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Sereal-Encoder for
openSUSE:Factory checked in at 2022-08-16 17:08:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sereal-Encoder (Old)
and /work/SRC/openSUSE:Factory/.perl-Sereal-Encoder.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Sereal-Encoder"
Tue Aug 16 17:08:28 2022 rev:12 rq:997341 version:4.025
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sereal-Encoder/perl-Sereal-Encoder.changes
2022-02-24 18:24:43.466638620 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Sereal-Encoder.new.1521/perl-Sereal-Encoder.changes
2022-08-16 17:08:33.692024838 +0200
@@ -1,0 +2,19 @@
+Fri Jul 29 03:09:42 UTC 2022 - Tina M??ller <[email protected]>
+
+- updated to 4.025
+ see /usr/share/doc/packages/perl-Sereal-Encoder/Changes
+
+ 4.025 Thr Jul 28, 2022
+ * Release with build fixes for the Decoder under threaded
+ perls and MANIFEST update.
+
+ 4.024 Wed Jul 27, 2022
+ * Changes to the FREEZE/THAW mechanism. Remove the part that
+ says that FREEZE cannot return a list. It can, and we have
+ supported it for a very long time, although I have not checked
+ how far back this support goes. If you use the FREEZE/THAW
+ API's you should upgrade to this version.
+ * Test fixes for t/020_sort_keys.t hanging on some perls
+ which do not come bundled with Hash::Util.
+
+-------------------------------------------------------------------
Old:
----
Sereal-Encoder-4.023.tar.gz
New:
----
Sereal-Encoder-4.025.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Sereal-Encoder.spec ++++++
--- /var/tmp/diff_new_pack.Punq9N/_old 2022-08-16 17:08:34.252026512 +0200
+++ /var/tmp/diff_new_pack.Punq9N/_new 2022-08-16 17:08:34.256026525 +0200
@@ -18,7 +18,7 @@
%define cpan_name Sereal-Encoder
Name: perl-Sereal-Encoder
-Version: 4.023
+Version: 4.025
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Binary serialization module for Perl (encoder part)
++++++ Sereal-Encoder-4.023.tar.gz -> Sereal-Encoder-4.025.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/Changes
new/Sereal-Encoder-4.025/Changes
--- old/Sereal-Encoder-4.023/Changes 2022-02-20 05:05:20.000000000 +0100
+++ new/Sereal-Encoder-4.025/Changes 2022-07-28 13:57:13.000000000 +0200
@@ -5,6 +5,19 @@
* of the decoder before upgrading to version 4 of the *
* encoder! *
****************************************************************
+4.025 Thr Jul 28, 2022
+ * Release with build fixes for the Decoder under threaded
+ perls and MANIFEST update.
+
+4.024 Wed Jul 27, 2022
+ * Changes to the FREEZE/THAW mechanism. Remove the part that
+ says that FREEZE cannot return a list. It can, and we have
+ supported it for a very long time, although I have not checked
+ how far back this support goes. If you use the FREEZE/THAW
+ API's you should upgrade to this version.
+ * Test fixes for t/020_sort_keys.t hanging on some perls
+ which do not come bundled with Hash::Util.
+
4.023 Sun Feb 20, 2022
* Make it possible to upgrade with passing tests when using
Sereal::Decoder 4.015 - 4.019 on threaded debugging perls.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/META.json
new/Sereal-Encoder-4.025/META.json
--- old/Sereal-Encoder-4.023/META.json 2022-02-20 05:13:14.000000000 +0100
+++ new/Sereal-Encoder-4.025/META.json 2022-07-28 14:05:01.000000000 +0200
@@ -4,7 +4,7 @@
"Steffen Mueller <[email protected]>, Yves Orton <[email protected]>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 7.38, CPAN::Meta::Converter
version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter
version 2.150010",
"license" : [
"perl_5"
],
@@ -27,6 +27,7 @@
"File::Find" : "0",
"File::Path" : "0",
"File::Spec" : "0",
+ "Hash::Util" : "0",
"Scalar::Util" : "0",
"Test::Deep" : "0",
"Test::Differences" : "0",
@@ -50,6 +51,7 @@
"requires" : {
"Data::Dumper" : "0",
"File::Spec" : "0",
+ "Hash::Util" : "0",
"Scalar::Util" : "0",
"Sereal::Decoder" : "4.002",
"Test::Deep" : "0",
@@ -70,6 +72,6 @@
"url" : "git://github.com/Sereal/Sereal.git"
}
},
- "version" : "4.023",
- "x_serialization_backend" : "JSON::PP version 4.04"
+ "version" : "4.025",
+ "x_serialization_backend" : "JSON::PP version 4.07"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/META.yml
new/Sereal-Encoder-4.025/META.yml
--- old/Sereal-Encoder-4.023/META.yml 2022-02-20 05:13:14.000000000 +0100
+++ new/Sereal-Encoder-4.025/META.yml 2022-07-28 14:05:01.000000000 +0200
@@ -8,6 +8,7 @@
File::Find: '0'
File::Path: '0'
File::Spec: '0'
+ Hash::Util: '0'
Scalar::Util: '0'
Sereal::Decoder: '4.002'
Test::Deep: '0'
@@ -18,7 +19,7 @@
configure_requires:
ExtUtils::MakeMaker: '7.0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.38, CPAN::Meta::Converter version
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version
2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -34,5 +35,5 @@
resources:
bugtracker: https://github.com/Sereal/Sereal/issues
repository: git://github.com/Sereal/Sereal.git
-version: '4.023'
+version: '4.025'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/Makefile.PL
new/Sereal-Encoder-4.025/Makefile.PL
--- old/Sereal-Encoder-4.023/Makefile.PL 2022-02-20 05:05:20.000000000
+0100
+++ new/Sereal-Encoder-4.025/Makefile.PL 2022-07-28 13:04:56.000000000
+0200
@@ -64,6 +64,7 @@
TEST_REQUIRES => {
'Data::Dumper' => '0',
'File::Spec' => '0',
+ 'Hash::Util' => '0',
'Scalar::Util' => '0',
'Sereal::Decoder' => '4.002',
'Test::Deep' => '0',
@@ -78,6 +79,7 @@
'File::Find' => '0',
'File::Path' => '0',
'File::Spec' => '0',
+ 'Hash::Util' => '0',
'Scalar::Util' => '0',
'Test::Deep' => '0',
'Test::Differences' => '0',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/lib/Sereal/Encoder/Constants.pm
new/Sereal-Encoder-4.025/lib/Sereal/Encoder/Constants.pm
--- old/Sereal-Encoder-4.023/lib/Sereal/Encoder/Constants.pm 2022-02-20
05:06:44.000000000 +0100
+++ new/Sereal-Encoder-4.025/lib/Sereal/Encoder/Constants.pm 2022-07-28
13:57:13.000000000 +0200
@@ -4,7 +4,7 @@
require Exporter;
our @ISA= qw(Exporter);
-our $VERSION= '4.023'; # Don't forget to update the TestCompat set for testing
against installed encoders!
+our $VERSION= '4.025'; # Don't forget to update the TestCompat set for testing
against installed encoders!
our ( @EXPORT_OK, %DEFINE, %TAG_INFO_HASH, @TAG_INFO_ARRAY );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/lib/Sereal/Encoder.pm
new/Sereal-Encoder-4.025/lib/Sereal/Encoder.pm
--- old/Sereal-Encoder-4.023/lib/Sereal/Encoder.pm 2022-02-20
05:06:44.000000000 +0100
+++ new/Sereal-Encoder-4.025/lib/Sereal/Encoder.pm 2022-07-28
13:57:13.000000000 +0200
@@ -5,7 +5,7 @@
use Carp qw/croak/;
use XSLoader;
-our $VERSION= '4.023'; # Don't forget to update the TestCompat set for testing
against installed decoders!
+our $VERSION= '4.025'; # Don't forget to update the TestCompat set for testing
against installed decoders!
our $XS_VERSION= $VERSION; $VERSION= eval $VERSION;
# not for public consumption, just for testing.
@@ -534,19 +534,20 @@
=head1 FREEZE/THAW CALLBACK MECHANISM
+Some objects do not lend themselves naturally to naive perl
+datastructure level serialization. For instance XS code might use a
+hidden structure that would not get serialized, or an object may contain
+volatile data like a filehandle that would not be reconstituted
+properly. To support cases like this C<Sereal> supports a FREEZE and
+THAW api. When objects are serialized their FREEZE method is asked for a
+replacement representation, and when objects are deserialized their THAW
+method is asked to convert that replacement back to something useful.
+
This mechanism is enabled using the C<freeze_callbacks> option of the encoder.
-It is inspired by the equivalent mechanism in L<CBOR::XS> and differs only
-in one minor detail, explained below. The general mechanism is documented
-in the I<A GENERIC OBJECT SERIALIATION PROTOCOL> section of
L<Types::Serialiser>.
-Similar to CBOR using C<CBOR>, Sereal uses the string C<Sereal> as a serializer
-identifier for the callbacks.
-
-The one difference to the mechanism as supported by CBOR is that in Sereal,
-the C<FREEZE> callback must return a single value. That value can be any
-data structure supported by Sereal (hopefully without causing infinite
recursion
-by including the original object). But C<FREEZE> can't return a list as with
CBOR.
-This should not be any practical limitation whatsoever. Just return an array
-reference instead of a list.
+It is inspired by the equivalent mechanism in L<CBOR::XS>. The general
mechanism
+is documented in the I<A GENERIC OBJECT SERIALIATION PROTOCOL> section of
+L<Types::Serialiser>. Similar to CBOR using C<CBOR>, Sereal uses the string
+C<Sereal> as a serializer identifier for the callbacks.
Here is a contrived example of a class implementing the C<FREEZE> / C<THAW>
mechanism.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/ptable.h
new/Sereal-Encoder-4.025/ptable.h
--- old/Sereal-Encoder-4.023/ptable.h 2017-10-03 19:46:10.000000000 +0200
+++ new/Sereal-Encoder-4.025/ptable.h 2022-07-28 13:04:56.000000000 +0200
@@ -70,7 +70,6 @@
struct PTABLE_entry *cur_entry;
};
-/*
SRL_STATIC_INLINE PTABLE_t * PTABLE_new(void);
SRL_STATIC_INLINE PTABLE_t * PTABLE_new_size(const U8 size_base2_exponent);
SRL_STATIC_INLINE PTABLE_ENTRY_t * PTABLE_find(PTABLE_t *tbl, const void *key);
@@ -84,9 +83,9 @@
SRL_STATIC_INLINE PTABLE_ITER_t * PTABLE_iter_new(PTABLE_t *tbl);
SRL_STATIC_INLINE PTABLE_ITER_t * PTABLE_iter_new_flags(PTABLE_t *tbl, int
flags);
+SRL_STATIC_INLINE PTABLE_ITER_t * PTABLE_iter_reset(PTABLE_ITER_t *iter);
SRL_STATIC_INLINE PTABLE_ENTRY_t * PTABLE_iter_next(PTABLE_ITER_t *iter);
SRL_STATIC_INLINE void PTABLE_iter_free(PTABLE_ITER_t *iter);
-*/
/* create a new pointer => pointer table */
SRL_STATIC_INLINE PTABLE_t *
@@ -302,11 +301,20 @@
PTABLE_ITER_t *iter;
Newx(iter, 1, PTABLE_ITER_t);
iter->table = tbl;
- iter->bucket_num = 0;
- iter->cur_entry = NULL;
if (flags & PTABLE_FLAG_AUTOCLEAN)
tbl->cur_iter = iter;
+ return PTABLE_iter_reset(iter);
+}
+
+/* setup or reset new iterator object */
+SRL_STATIC_INLINE PTABLE_ITER_t *
+PTABLE_iter_reset(PTABLE_ITER_t *iter)
+{
+ PTABLE_t *tbl = iter->table;
+ iter->bucket_num = 0;
+ iter->cur_entry = NULL;
+
if (tbl->tbl_items == 0) {
/* Prevent hash bucket scanning.
* This can be a significant optimization on large, empty hashes. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.023/t/020_sort_keys.t
new/Sereal-Encoder-4.025/t/020_sort_keys.t
--- old/Sereal-Encoder-4.023/t/020_sort_keys.t 2022-02-18 05:14:23.000000000
+0100
+++ new/Sereal-Encoder-4.025/t/020_sort_keys.t 2022-07-28 13:04:56.000000000
+0200
@@ -14,9 +14,21 @@
use Test::More;
BEGIN {
- eval "use Hash::Util 'num_buckets'; 1"
- or eval "sub num_buckets(\\%) { (split( m!/!, scalar %{\$_[0]}))[-1] }
1"
- or die "Failed to set up num_buckets: $@";
+ if (!eval "use Hash::Util 'num_buckets'; 1") {
+ my %hash= ( test => 1);
+ my $scalar= scalar(%hash);
+ if ($scalar=~m!/!) {
+ eval "sub num_buckets(\\%) { (split( m!/!, scalar %{\$_[0]}))[-1]
} 1"
+ } else {
+ plan skip_all => "Hash::Util not installed, this is perl $],
scalar(%h)='$scalar'";
+ }
+ }
+}
+
+my %test= ( foo => 1, bar => 2);
+my $num_buckets= num_buckets(%test);
+if ($num_buckets < 8) {
+ plan skip_all => "num_buckets() not working as expected.";
}
# This logic needs to be revisted...
@@ -52,7 +64,7 @@
my $copy_keys= join "", keys %copy;
my %bigger= %hash;
-keys(%bigger)= $max++ while num_buckets(%bigger) eq num_buckets(%hash);
+keys(%bigger)= 1024;
my %shuffled;
$shuffled{$_}= $hash{$_} for shuffle keys %hash;
@@ -88,4 +100,3 @@
}
}
}
-