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 <timueller+p...@suse.de>
+
+- 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 <smuel...@cpan.org>, Yves Orton <y...@cpan.org>"
    ],
    "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 @@
         }
     }
 }
-

Reply via email to