summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bug71914.patch192
-rw-r--r--bug72564.patch67
-rw-r--r--failed.txt12
-rw-r--r--php-5.6.3-datetests.patch23
-rw-r--r--php-7.0.10-datetests.patch68
-rw-r--r--php.spec12
6 files changed, 78 insertions, 296 deletions
diff --git a/bug71914.patch b/bug71914.patch
deleted file mode 100644
index f52389e..0000000
--- a/bug71914.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From 2e6d70787c93413daecbea529bf0f74fa901d1db Mon Sep 17 00:00:00 2001
-From: Xinchen Hui <laruence@gmail.com>
-Date: Tue, 29 Mar 2016 17:14:36 +0800
-Subject: [PATCH] Fixed bug #71914 (Reference is lost in "switch")
-
----
- NEWS | 1 +
- Zend/tests/bug71914.phpt | 25 +++++++++++++++++++++++++
- Zend/zend_vm_def.h | 2 +-
- Zend/zend_vm_execute.h | 18 +++++++++---------
- 4 files changed, 36 insertions(+), 10 deletions(-)
- create mode 100644 Zend/tests/bug71914.phpt
-
-diff --git a/Zend/tests/bug71914.phpt b/Zend/tests/bug71914.phpt
-new file mode 100644
-index 0000000..8f825f8
---- /dev/null
-+++ b/Zend/tests/bug71914.phpt
-@@ -0,0 +1,25 @@
-+--TEST--
-+Bug #71914 (Reference is lost in "switch")
-+--FILE--
-+<?php
-+
-+function bug(&$value) {
-+ switch ($value) {
-+ case "xxxx":
-+ $value = true;
-+ break;
-+ }
-+}
-+
-+
-+function test($arr, &$dummy) {
-+ bug($arr["str"]);
-+ var_dump($arr["str"]);
-+}
-+
-+
-+$array = array("str" => "xxxx");
-+test($array, $array["str"]);
-+?>
-+--EXPECT--
-+bool(true)
-diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
-index 2c721c3..8e658f5 100644
---- a/Zend/zend_vm_def.h
-+++ b/Zend/zend_vm_def.h
-@@ -4903,7 +4903,7 @@ ZEND_VM_HANDLER(48, ZEND_CASE, CONST|TMPVAR|CV, CONST|TMPVAR|CV)
- SAVE_OPLINE();
- if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if ((OP1_TYPE & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if ((OP1_TYPE & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
-index c719aa2..bdc1bd7 100644
---- a/Zend/zend_vm_execute.h
-+++ b/Zend/zend_vm_execute.h
-@@ -5858,7 +5858,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CONST_CONST_HANDLER(
- SAVE_OPLINE();
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if ((IS_CONST & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if ((IS_CONST & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -9654,7 +9654,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CONST_CV_HANDLER(ZEN
- SAVE_OPLINE();
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if ((IS_CONST & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if ((IS_CONST & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -11428,7 +11428,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CONST_TMPVAR_HANDLER
- SAVE_OPLINE();
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if ((IS_CONST & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if ((IS_CONST & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -32184,7 +32184,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CV_CONST_HANDLER(ZEN
- SAVE_OPLINE();
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if ((IS_CV & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if ((IS_CV & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -37280,7 +37280,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CV_CV_HANDLER(ZEND_O
- SAVE_OPLINE();
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if ((IS_CV & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if ((IS_CV & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -39873,7 +39873,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_CV_TMPVAR_HANDLER(ZE
- SAVE_OPLINE();
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if ((IS_CV & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if ((IS_CV & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -42108,7 +42108,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_CONST_HANDLER
- SAVE_OPLINE();
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if (((IS_TMP_VAR|IS_VAR) & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -44256,7 +44256,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_CV_HANDLER(ZE
- SAVE_OPLINE();
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if (((IS_TMP_VAR|IS_VAR) & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
-@@ -45403,7 +45403,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CASE_SPEC_TMPVAR_TMPVAR_HANDLE
- SAVE_OPLINE();
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- op1 = GET_OP1_UNDEF_CV(op1, BP_VAR_R);
-- } else if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) && UNEXPECTED(Z_ISREF_P(op1))) {
-+ } else if (((IS_TMP_VAR|IS_VAR) & IS_VAR) && UNEXPECTED(Z_ISREF_P(op1))) {
- /* Don't keep lock on reference, lock the value instead */
- if (UNEXPECTED(Z_REFCOUNT_P(op1) == 1)) {
- ZVAL_UNREF(op1);
---
-2.1.4
-
-From 256593abcf0452d2a95cc1869baeeaea0d72d2a7 Mon Sep 17 00:00:00 2001
-From: Xinchen Hui <laruence@gmail.com>
-Date: Tue, 29 Mar 2016 17:52:58 +0800
-Subject: [PATCH] Update tests
-
----
- Zend/tests/bug71914.phpt | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/Zend/tests/bug71914.phpt b/Zend/tests/bug71914.phpt
-index 8f825f8..a43eb56 100644
---- a/Zend/tests/bug71914.phpt
-+++ b/Zend/tests/bug71914.phpt
-@@ -11,15 +11,30 @@ function bug(&$value) {
- }
- }
-
-+function returnArray() {
-+ $array = array();
-+ $array["str"] = "xxxx";
-+ return $array;
-+}
-+
-+class Foo {
-+ public $array = array("str" => "xxxx");
-+}
-
- function test($arr, &$dummy) {
- bug($arr["str"]);
- var_dump($arr["str"]);
- }
-
-+$foo = new Foo();
-+$arr = returnArray();
-
- $array = array("str" => "xxxx");
- test($array, $array["str"]);
-+test($arr, $arr["str"]);
-+test($foo->array, $foo->array["str"]);
- ?>
- --EXPECT--
- bool(true)
-+bool(true)
-+bool(true)
---
-2.1.4
-
diff --git a/bug72564.patch b/bug72564.patch
deleted file mode 100644
index 4d7e5c1..0000000
--- a/bug72564.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 99d6e09c3d6679bb522836c833d0cfd4f79c6014 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@php.net>
-Date: Fri, 8 Jul 2016 10:46:33 +0200
-Subject: [PATCH] Fixed Bug #72564 boolean always deserialized as "true"
-
----
- ext/wddx/wddx.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c
-index 2cc3c8b..cb0c01e 100644
---- a/ext/wddx/wddx.c
-+++ b/ext/wddx/wddx.c
-@@ -1013,9 +1013,9 @@ static void php_wddx_process_data(void *user_data, const XML_Char *s, int len)
-
- case ST_BOOLEAN:
- if (!strcmp((char *)s, "true")) {
-- Z_LVAL(ent->data) = 1;
-+ ZVAL_TRUE(&ent->data);
- } else if (!strcmp((char *)s, "false")) {
-- Z_LVAL(ent->data) = 0;
-+ ZVAL_FALSE(&ent->data);
- } else {
- zval_ptr_dtor(&ent->data);
- if (ent->varname) {
---
-2.1.4
-
-From bfc42211d3cc5aa6cd2bdb10ef5004ce22099acb Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@php.net>
-Date: Fri, 8 Jul 2016 10:45:13 +0200
-Subject: [PATCH] add test for bug #72564 (7.x regression)
-
----
- ext/wddx/tests/bug72564.phpt | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
- create mode 100644 ext/wddx/tests/bug72564.phpt
-
-diff --git a/ext/wddx/tests/bug72564.phpt b/ext/wddx/tests/bug72564.phpt
-new file mode 100644
-index 0000000..4711ef8
---- /dev/null
-+++ b/ext/wddx/tests/bug72564.phpt
-@@ -0,0 +1,20 @@
-+--TEST--
-+Bug #72564: wddx deserialization of boolean
-+--SKIPIF--
-+<?php if (!extension_loaded("wddx")) print "skip"; ?>
-+--FILE--
-+<?php
-+ foreach([true, false, NULL] as $v) {
-+ $x = wddx_serialize_value($v);
-+ var_dump($x, wddx_deserialize($x));
-+ }
-+?>
-+Done
-+--EXPECT--
-+string(84) "<wddxPacket version='1.0'><header/><data><boolean value='true'/></data></wddxPacket>"
-+bool(true)
-+string(85) "<wddxPacket version='1.0'><header/><data><boolean value='false'/></data></wddxPacket>"
-+bool(false)
-+string(68) "<wddxPacket version='1.0'><header/><data><null/></data></wddxPacket>"
-+NULL
-+Done
---
-2.1.4
-
diff --git a/failed.txt b/failed.txt
index c4bb775..5afcb8e 100644
--- a/failed.txt
+++ b/failed.txt
@@ -1,20 +1,14 @@
-===== 7.0.9 (2016-07-21)
+===== 7.0.10RC1 (2016-08-04)
$ grep -r 'Tests failed' /var/lib/mock/scl70*/build.log
-/var/lib/mock/scl70el6x/build.log:Tests failed : 2
-/var/lib/mock/scl70el7x/build.log:Tests failed : 4
+/var/lib/mock/scl70el6x/build.log:Tests failed : 0
+/var/lib/mock/scl70el7x/build.log:Tests failed : 0
/var/lib/mock/scl70fc21x/build.log:Tests failed : 0
/var/lib/mock/scl70fc22x/build.log:Tests failed : 0
/var/lib/mock/scl70fc23x/build.log:Tests failed : 0
/var/lib/mock/scl70fc24x/build.log:Tests failed : 0
-el6x, el7x
- Bug #33414 [2] (Comprehensive list of incorrect days returned after strotime() / date() tests) [ext/date/tests/bug33414-2.phpt]
- strtotime() function (64 bit) [ext/date/tests/strtotime3-64bit.phpt]
-el7x
- Bug #60120 proc_open hangs with stdin/out with 2048+ bytes [ext/standard/tests/streams/proc_open_bug60120.phpt]
- Bug #64438 proc_open hangs with stdin/out with 4097+ bytes [ext/standard/tests/streams/proc_open_bug64438.phpt]
* proc_open give erratic test results :(
diff --git a/php-5.6.3-datetests.patch b/php-5.6.3-datetests.patch
deleted file mode 100644
index a29bb63..0000000
--- a/php-5.6.3-datetests.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/ext/date/tests/bug66985.phpt 2014-10-30 07:32:03.297693403 +0100
-+++ b/ext/date/tests/bug66985.phpt 2014-10-30 07:32:45.138877977 +0100
-@@ -3,7 +3,7 @@
- --FILE--
- <?php
- $zones = array(
-- "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "Factory", "GB-Eire",
-+ "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "GB-Eire",
- "GMT0", "Greenwich", "Hongkong", "Iceland", "Iran", "Israel", "Jamaica",
- "Japan", "Kwajalein", "Libya", "MST7MDT", "Navajo", "NZ-CHAT", "Poland",
- "Portugal", "PST8PDT", "Singapore", "Turkey", "Universal", "W-SU",
-@@ -45,11 +45,6 @@
- )
- DateTimeZone Object
- (
-- [timezone_type] => 3
-- [timezone] => Factory
--)
--DateTimeZone Object
--(
- [timezone_type] => 3
- [timezone] => GB-Eire
- )
diff --git a/php-7.0.10-datetests.patch b/php-7.0.10-datetests.patch
new file mode 100644
index 0000000..c3a65e9
--- /dev/null
+++ b/php-7.0.10-datetests.patch
@@ -0,0 +1,68 @@
+--- a/ext/date/tests/bug66985.phpt 2014-10-30 07:32:03.297693403 +0100
++++ b/ext/date/tests/bug66985.phpt 2014-10-30 07:32:45.138877977 +0100
+@@ -3,7 +3,7 @@
+ --FILE--
+ <?php
+ $zones = array(
+- "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "Factory", "GB-Eire",
++ "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "GB-Eire",
+ "GMT0", "Greenwich", "Hongkong", "Iceland", "Iran", "Israel", "Jamaica",
+ "Japan", "Kwajalein", "Libya", "MST7MDT", "Navajo", "NZ-CHAT", "Poland",
+ "Portugal", "PST8PDT", "Singapore", "Turkey", "Universal", "W-SU",
+@@ -45,11 +45,6 @@
+ )
+ DateTimeZone Object
+ (
+- [timezone_type] => 3
+- [timezone] => Factory
+-)
+-DateTimeZone Object
+-(
+ [timezone_type] => 3
+ [timezone] => GB-Eire
+ )
+diff -up ./ext/date/tests/strtotime3-64bit.phpt.datetests ./ext/date/tests/strtotime3-64bit.phpt
+--- ./ext/date/tests/strtotime3-64bit.phpt.datetests 2016-07-21 02:23:03.000000000 +0200
++++ ./ext/date/tests/strtotime3-64bit.phpt 2016-07-26 07:39:45.713272263 +0200
+@@ -44,7 +44,7 @@ foreach ($strs as $str) {
+ }
+
+ ?>
+---EXPECT--
++--EXPECTF--
+ bool(false)
+ bool(false)
+ string(31) "Thu, 15 Jun 2006 00:00:00 +0100"
+@@ -53,7 +53,7 @@ bool(false)
+ string(31) "Fri, 16 Jun 2006 23:49:12 +0100"
+ bool(false)
+ string(31) "Fri, 16 Jun 2006 02:22:00 +0100"
+-string(31) "Sun, 16 Jun 0222 02:22:00 -0036"
++string(31) "Sun, 16 Jun 0222 02:22:00 %s"
+ string(31) "Fri, 16 Jun 2006 02:22:33 +0100"
+ bool(false)
+ string(31) "Tue, 02 Mar 2004 00:00:00 +0000"
+diff -up ./ext/date/tests/bug33414-2.phpt.datetests ./ext/date/tests/bug33414-2.phpt
+--- ./ext/date/tests/bug33414-2.phpt.datetests 2016-07-21 02:23:03.000000000 +0200
++++ ./ext/date/tests/bug33414-2.phpt 2016-07-26 07:28:10.323598643 +0200
+@@ -74,7 +74,7 @@ $strtotime_tstamp = strtotime("next Frid
+ print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n";
+ print "wanted=Friday 00:00:00\n\n";
+ ?>
+---EXPECT--
++--EXPECTF--
+ TZ=Pacific/Rarotonga - wrong day.
+ tStamp=Thursday 1970-01-01 17:17:17 CKT 0
+ result=Tuesday 1970-01-06 00:00:00 CKT 0
+@@ -106,8 +106,8 @@ result=Tuesday 2005-04-12 00:00:00 CDT 1
+ wanted=Tuesday 00:00:00
+
+ TZ=Pacific/Pitcairn - wrong day.
+-tStamp=Thursday 1970-01-01 17:17:17 PNT 0
+-result=Wednesday 1970-01-07 00:00:00 PNT 0
++tStamp=Thursday 1970-%s
++result=Wednesday 1970-%s
+ wanted=Wednesday 00:00:00
+
+ TZ=Pacific/Fakaofo - wrong day.
+
diff --git a/php.spec b/php.spec
index 212aa86..bfb0ae1 100644
--- a/php.spec
+++ b/php.spec
@@ -124,13 +124,13 @@
%global db_devel libdb-devel
%endif
-#global rcver RC1
+%global rcver RC1
%global rpmrel 1
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
-Version: 7.0.9
+Version: 7.0.10
Release: %{?rcver:0.}%{rpmrel}%{?rcver:.%{rcver}}%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
@@ -183,13 +183,12 @@ Patch47: php-5.6.3-phpinfo.patch
Patch91: php-5.6.3-oci8conf.patch
# Upstream fixes (100+)
-Patch100: bug72564.patch
# Security fixes (200+)
# Fixes for tests (300+)
# Factory is droped from system tzdata
-Patch300: php-5.6.3-datetests.patch
+Patch300: php-7.0.10-datetests.patch
# Revert changes for pcre < 8.34
Patch301: php-7.0.0-oldpcre.patch
@@ -895,7 +894,6 @@ support for JavaScript Object Notation (JSON) to PHP.
%patch91 -p1 -b .remi-oci8
# upstream patches
-%patch100 -p1 -b .bug72564
# security patches
@@ -1826,6 +1824,10 @@ fi
%changelog
+* Wed Aug 3 2016 Remi Collet <remi@fedoraproject.org> 7.0.10-0.1.RC1
+- Update to 7.0.10RC1
+- relax 2 date tests (failing on EL with system tzdata)
+
* Wed Jul 20 2016 Remi Collet <remi@fedoraproject.org> 7.0.9-1
- Update to 7.0.9 - http://www.php.net/releases/7_0_9.php
- wddx: add upstream patch for https://bugs.php.net/72564