diff options
-rw-r--r-- | 07625b9a51a96d8402fd01b373edd58befa4e3fb.patch | 64 | ||||
-rw-r--r-- | 7bed3124e797dcfcb9e2e6c2b30c3e289ac5eff4.patch | 41 | ||||
-rw-r--r-- | PHPINFO | 2 | ||||
-rw-r--r-- | REFLECTION | 2 | ||||
-rw-r--r-- | e24aca97b8925ac9d21f718c0e38274bde949866.patch | 186 | ||||
-rw-r--r-- | php-pecl-igbinary.spec | 13 |
6 files changed, 6 insertions, 302 deletions
diff --git a/07625b9a51a96d8402fd01b373edd58befa4e3fb.patch b/07625b9a51a96d8402fd01b373edd58befa4e3fb.patch deleted file mode 100644 index 63a80d4..0000000 --- a/07625b9a51a96d8402fd01b373edd58befa4e3fb.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 07625b9a51a96d8402fd01b373edd58befa4e3fb Mon Sep 17 00:00:00 2001 -From: Tyson Andre <tysonandre775@hotmail.com> -Date: Wed, 6 May 2020 09:57:04 -0400 -Subject: [PATCH] Update tests of serializing ArrayObject for 7.4.6+ - -Fixes #274 ---- - .appveyor.yml | 12 ++++++------ - tests/__serialize_012.phpt | 20 +++++++++++++++++--- - 2 files changed, 23 insertions(+), 9 deletions(-) - -diff --git a/tests/__serialize_012.phpt b/tests/__serialize_012.phpt -index 13f1d32..488a87d 100644 ---- a/tests/__serialize_012.phpt -+++ b/tests/__serialize_012.phpt -@@ -1,7 +1,7 @@ - --TEST-- - Test unserialization of classes derived from ArrayIterator - --SKIPIF-- --<?php if (PHP_VERSION_ID < 70400) { echo "Skip requires php 7.4+"; } ?> -+<?php if (PHP_VERSION_ID < 70406) { echo "Skip requires php 7.4.6+"; } ?> - --FILE-- - <?php - // based on bug45706.phpt from php-src -@@ -12,13 +12,25 @@ class Foo2 { - } - $x = array(new Foo1(),new Foo2); - $s = igbinary_serialize($x); -+var_dump(igbinary_unserialize($s)); - $s = str_replace("Foo", "Bar", $s); - $y = igbinary_unserialize($s); - var_dump($y); - --EXPECTF-- - array(2) { - [0]=> -- object(__PHP_Incomplete_Class)#3 (4) { -+ object(Foo1)#3 (1) { -+ ["storage":"ArrayIterator":private]=> -+ array(0) { -+ } -+ } -+ [1]=> -+ object(Foo2)#4 (0) { -+ } -+} -+array(2) { -+ [0]=> -+ object(__PHP_Incomplete_Class)#4 (5) { - ["__PHP_Incomplete_Class_Name"]=> - string(4) "Bar1" - ["0"]=> -@@ -29,9 +41,11 @@ array(2) { - ["2"]=> - array(0) { - } -+ ["3"]=> -+ NULL - } - [1]=> -- object(__PHP_Incomplete_Class)#4 (1) { -+ object(__PHP_Incomplete_Class)#3 (1) { - ["__PHP_Incomplete_Class_Name"]=> - string(4) "Bar2" - } diff --git a/7bed3124e797dcfcb9e2e6c2b30c3e289ac5eff4.patch b/7bed3124e797dcfcb9e2e6c2b30c3e289ac5eff4.patch deleted file mode 100644 index 7445fa5..0000000 --- a/7bed3124e797dcfcb9e2e6c2b30c3e289ac5eff4.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 7bed3124e797dcfcb9e2e6c2b30c3e289ac5eff4 Mon Sep 17 00:00:00 2001 -From: Andy Postnikov <apostnikov@gmail.com> -Date: Sat, 11 Jul 2020 22:51:04 +0300 -Subject: [PATCH] Replace usage call_user_function_ex() with - call_user_function() - ---- - src/php7/igbinary.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/php7/igbinary.c b/src/php7/igbinary.c -index c76b12a..775f585 100644 ---- a/src/php7/igbinary.c -+++ b/src/php7/igbinary.c -@@ -542,7 +542,7 @@ static int igbinary_finish_deferred_calls(struct igbinary_unserialize_data *igsd - zval retval; /* return value of __wakeup */ - zval rval; - ZVAL_OBJ(&rval, obj); -- if (UNEXPECTED(call_user_function_ex(CG(function_table), &rval, &wakeup_name, &retval, 0, 0, 1, NULL) == FAILURE || Z_ISUNDEF(retval))) { -+ if (UNEXPECTED(call_user_function(CG(function_table), &rval, &wakeup_name, &retval, 0, 0) == FAILURE || Z_ISUNDEF(retval))) { - delayed_call_failed = 1; - GC_ADD_FLAGS(obj, IS_OBJ_DESTRUCTOR_CALLED); - } -@@ -1727,7 +1727,7 @@ inline static int igbinary_serialize_object(struct igbinary_serialize_data *igsd - - ZVAL_UNDEF(&h); - /* calling z->__sleep */ -- r = call_user_function_ex(CG(function_table), z, &f, &h, 0, 0, 1, NULL); -+ r = call_user_function(CG(function_table), z, &f, &h, 0, 0); - - zval_dtor(&f); - -@@ -2693,7 +2693,7 @@ inline static int igbinary_unserialize_object(struct igbinary_unserialize_data * - /* FIXME: Release arg[0] */ - /* FIXME: Release class_name */ - ZVAL_STR_COPY(&args[0], class_name); -- if (call_user_function_ex(CG(function_table), NULL, &user_func, &retval, 1, args, 0, NULL) != SUCCESS) { -+ if (call_user_function(CG(function_table), NULL, &user_func, &retval, 1, args) != SUCCESS) { - php_error_docref(NULL, E_WARNING, "defined (%s) but not found", ZSTR_VAL(class_name)); - incomplete_class = 1; - ce = PHP_IC_ENTRY; @@ -2,7 +2,7 @@ igbinary igbinary support => enabled -igbinary version => 3.1.2 +igbinary version => 3.1.3 igbinary APCu serializer ABI => 0 igbinary session support => yes @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #74 igbinary version 3.1.2 ] { +Extension [ <persistent> extension #77 igbinary version 3.1.3 ] { - Dependencies { Dependency [ standard (Required) ] diff --git a/e24aca97b8925ac9d21f718c0e38274bde949866.patch b/e24aca97b8925ac9d21f718c0e38274bde949866.patch deleted file mode 100644 index 4d6e444..0000000 --- a/e24aca97b8925ac9d21f718c0e38274bde949866.patch +++ /dev/null @@ -1,186 +0,0 @@ -From e24aca97b8925ac9d21f718c0e38274bde949866 Mon Sep 17 00:00:00 2001 -From: Tyson Andre <tysonandre775@hotmail.com> -Date: Sat, 11 Apr 2020 15:14:41 -0400 -Subject: [PATCH] Fix 2 of the test failures in php8 - -serialize() started throwing an exception in later releases of php 7.4 -for uninitialized typed properties, so these no longer need tests of -unserialization. - -The way php serializes floats (avoiding losing precision when -unserializing) seems to have changed. ---- - tests/__serialize_015.phpt | 1 - - tests/__serialize_015_php8.phpt | 58 --------------------------------- - tests/igbinary_044.phpt | 36 ++++++++++---------- - 3 files changed, 18 insertions(+), 77 deletions(-) - delete mode 100644 tests/__serialize_015_php8.phpt - -diff --git a/tests/__serialize_015.phpt b/tests/__serialize_015.phpt -index 0610e50..66816ed 100644 ---- a/tests/__serialize_015.phpt -+++ b/tests/__serialize_015.phpt -@@ -3,7 +3,6 @@ __serialize() mechanism (015): Uninitialized properties from __sleep should thro - --SKIPIF-- - <?php - if (PHP_VERSION_ID < 70400) { echo "skip __serialize/__unserialize not supported in php < 7.4 for compatibility with igbinary_serialize()"; } --if (PHP_VERSION_ID >= 80000) { echo "skip different error message format"; } - ?> - --FILE-- - <?php -diff --git a/tests/__serialize_015_php8.phpt b/tests/__serialize_015_php8.phpt -deleted file mode 100644 -index 8eda7b0..0000000 ---- a/tests/__serialize_015_php8.phpt -+++ /dev/null -@@ -1,58 +0,0 @@ ----TEST-- --__serialize() mechanism (015): Uninitialized properties from __sleep can be serialized and unserialized ----SKIPIF-- --<?php if (PHP_VERSION_ID < 80000) { echo "skip __serialize/__unserialize error message different in php < 8"; } ?> ----FILE-- --<?php --error_reporting(E_ALL); --set_error_handler(function ($errno, $message) { -- echo $message . "\n"; --}); --class OSI { -- public stdClass $o; -- public string $s; -- public ?int $i; -- public float $f; -- public function __sleep() { -- return ['o', 's', 'i']; -- } --} --// 00000002 -- header --// 17 03 4d79436c617373 -- object of type "MyClass" --// 14 03 000000 -- with 3 uninitialized properties --$m = new OSI(); --var_dump($m); --var_dump($s = serialize($m)); --try { -- var_dump(unserialize($s)); --} catch (Error $e) { -- // TODO: Double check if this is a deliberate design decision. -- echo "unserialize: {$e->getMessage()}\n"; --} --var_dump(bin2hex($s = igbinary_serialize($m))); --try { -- var_dump(igbinary_unserialize($s)); --} catch (Error $e) { -- echo "igbinary_unserialize: {$e->getMessage()}\n"; --} ----EXPECT-- --object(OSI)#2 (0) { -- ["o"]=> -- uninitialized(stdClass) -- ["s"]=> -- uninitialized(string) -- ["i"]=> -- uninitialized(?int) -- ["f"]=> -- uninitialized(float) --} --serialize(): "o" returned as member variable from __sleep() but does not exist --serialize(): "s" returned as member variable from __sleep() but does not exist --serialize(): "i" returned as member variable from __sleep() but does not exist --string(44) "O:3:"OSI":3:{s:1:"o";N;s:1:"s";N;s:1:"i";N;}" --unserialize: Cannot assign null to property OSI::$o of type stdClass --igbinary_serialize(): "o" returned as member variable from __sleep() but does not exist --igbinary_serialize(): "s" returned as member variable from __sleep() but does not exist --igbinary_serialize(): "i" returned as member variable from __sleep() but does not exist --string(46) "0000000217034f5349140311016f001101730011016900" --igbinary_unserialize: Cannot assign null to property OSI::$o of type stdClass -\ No newline at end of file -diff --git a/tests/igbinary_044.phpt b/tests/igbinary_044.phpt -index bcf1c89..1d37aa2 100644 ---- a/tests/igbinary_044.phpt -+++ b/tests/igbinary_044.phpt -@@ -67,50 +67,50 @@ test('double min', -1.7976931348623157e308); - - --EXPECTF-- - double subnormal: --float(-4.9445841251603E-314) --float(-4.9445841251603E-314) -+float(-4.944584125%S-314) -+float(-4.944584125%S-314) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - 1000000000000000000000000000001001010100100001010011000101110110 - - double 1 max subnormal: --float(2.2250738585072E-308) --float(2.2250738585072E-308) -+float(2.2250738585072%SE-308) -+float(2.2250738585072%SE-308) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - 0000000000001111111111111111111111111111111111111111111111111111 - - double 2 max subnormal: --float(2.2250738585072E-308) --float(2.2250738585072E-308) -+float(2.2250738585072%SE-308) -+float(2.2250738585072%SE-308) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - 0000000000001111111111111111111111111111111111111111111111111111 - - double 3 max subnormal: --float(2.2250738585072E-308) --float(2.2250738585072E-308) -+float(2.2250738585072%SE-308) -+float(2.2250738585072%SE-308) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - ACCEPTABLE - - double 4 max subnormal: --float(2.2250738585072E-308) --float(2.2250738585072E-308) -+float(2.2250738585072%SE-308) -+float(2.2250738585072%SE-308) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - ACCEPTABLE - - double 5 max subnormal: --float(2.2250738585072E-308) --float(2.2250738585072E-308) -+float(2.2250738585072%SE-308) -+float(2.2250738585072%SE-308) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - 0000000000010000000000000000000000000000000000000000000000000000 - - double min subnormal: --float(-4.9406564584125E-324) --float(-4.9406564584125E-324) -+float(-%SE-324) -+float(-%SE-324) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - 1000000000000000000000000000000000000000000000000000000000000001 -@@ -123,8 +123,8 @@ float(-1.79769E+308) - 1111111111101111111111111111110001010111110010101000001010101110 - - double max: --float(1.7976931348623E+308) --float(1.7976931348623E+308) -+float(1.7976931348623%SE+308) -+float(1.7976931348623%SE+308) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - 0111111111101111111111111111111111111111111111111111111111111111 -@@ -137,8 +137,8 @@ float(-2.225E-308) - 1000000000001111111111111101110100110001101000000000110001101101 - - double min: --float(-1.7976931348623E+308) --float(-1.7976931348623E+308) -+float(-1.7976931348623%SE+308) -+float(-1.7976931348623%SE+308) - 6 5 4 3 2 1 - 3210987654321098765432109876543210987654321098765432109876543210 - 1111111111101111111111111111111111111111111111111111111111111111 diff --git a/php-pecl-igbinary.spec b/php-pecl-igbinary.spec index c2deaf5..b8649f9 100644 --- a/php-pecl-igbinary.spec +++ b/php-pecl-igbinary.spec @@ -25,7 +25,7 @@ #global gh_date 20161018 %global ini_name 40-%{pecl_name}.ini -%global upstream_version 3.1.2 +%global upstream_version 3.1.3 #global upstream_prever a1 Summary: Replacement for the standard PHP serializer @@ -41,10 +41,6 @@ Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upst License: BSD URL: https://pecl.php.net/package/igbinary -Patch0: https://github.com/igbinary/igbinary/commit/e24aca97b8925ac9d21f718c0e38274bde949866.patch -Patch1: https://github.com/igbinary/igbinary/commit/07625b9a51a96d8402fd01b373edd58befa4e3fb.patch -Patch2: https://github.com/igbinary/igbinary/commit/7bed3124e797dcfcb9e2e6c2b30c3e289ac5eff4.patch - BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-pear BuildRequires: %{?scl_prefix}php-devel > 7 @@ -148,10 +144,6 @@ mv %{pecl_name}-%{upstream_version}%{?upstream_prever} NTS %{?_licensedir:sed -e '/COPYING/s/role="doc"/role="src"/' -i package.xml} cd NTS -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 - # Check version subdir="php$(%{__php} -r 'echo (PHP_MAJOR_VERSION < 7 ? 5 : 7);')" extver=$(sed -n '/#define PHP_IGBINARY_VERSION/{s/.* "//;s/".*$//;p}' src/$subdir/igbinary.h) @@ -316,6 +308,9 @@ fi %changelog +* Wed Aug 5 2020 Remi Collet <remi@remirepo.net> - 3.1.3-1 +- update to 3.1.3 + * Wed Jul 22 2020 Remi Collet <remi@remirepo.net> - 3.1.2-4 - rebuild for PHP 8.0.0alpha3 |