summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--failed.txt12
-rw-r--r--php-7.0.0-systzdata-v14.patch (renamed from php-7.0.0-systzdata-v13.patch)44
-rw-r--r--php.spec17
3 files changed, 47 insertions, 26 deletions
diff --git a/failed.txt b/failed.txt
index 90b5c99..3df3b4c 100644
--- a/failed.txt
+++ b/failed.txt
@@ -1,18 +1,20 @@
-===== 7.0.12 (2016-10-13)
+===== 7.0.13RC1 (2016-10-27)
$ grep -r 'Tests failed' /var/lib/mock/scl70*/build.log
/var/lib/mock/scl70el6x/build.log:Tests failed : 0
/var/lib/mock/scl70el7x/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 : 3
-/var/lib/mock/scl70fc25x/build.log:Tests failed : 3
+/var/lib/mock/scl70fc23x/build.log:Tests failed : 3
+/var/lib/mock/scl70fc24x/build.log:Tests failed : 0
+/var/lib/mock/scl70fc25x/build.log:Tests failed : 1
-fc24x, fc25x:
+fc23x
*** Bug #20382 [2] (strtotime ("Monday", $date) produces wrong result on DST changeover) [ext/date/tests/bug20382-2.phpt]
*** Bug #33414 [1] (Comprehensive list of incorrect days returned after strotime() / date() tests) [ext/date/tests/bug33414-1.phpt]
*** Bug #33415 [1] (Possibly invalid non-one-hour DST or timezone shifts) [ext/date/tests/bug33415-1.phpt]
+fc25x
+ * Bug #60120 proc_open hangs with stdin/out with 2048+ bytes [ext/standard/tests/streams/proc_open_bug60120.phpt]
* proc_open give erratic test results :(
diff --git a/php-7.0.0-systzdata-v13.patch b/php-7.0.0-systzdata-v14.patch
index 5efc47d..8ff32c8 100644
--- a/php-7.0.0-systzdata-v13.patch
+++ b/php-7.0.0-systzdata-v14.patch
@@ -2,6 +2,7 @@ Add support for use of the system timezone database, rather
than embedding a copy. Discussed upstream but was not desired.
History:
+r14: improve check for valid tz file
r13: adapt for upstream changes to use PHP allocator
r12: adapt for upstream changes for new zic
r11: use canonical names to avoid more case sensitivity issues
@@ -21,10 +22,10 @@ r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert)
r2: add filesystem trawl to set up name alias index
r1: initial revision
-diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/lib/parse_tz.c
---- php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata 2015-08-18 23:39:24.000000000 +0200
-+++ php-7.0.0RC1/ext/date/lib/parse_tz.c 2015-08-22 07:54:38.097258458 +0200
-@@ -20,6 +20,16 @@
+diff -up php-7.0.12RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.12RC1/ext/date/lib/parse_tz.c
+--- php-7.0.12RC1/ext/date/lib/parse_tz.c.systzdata 2016-09-27 17:31:31.000000000 +0200
++++ php-7.0.12RC1/ext/date/lib/parse_tz.c 2016-10-07 14:53:11.270619502 +0200
+@@ -24,6 +24,16 @@
#include "timelib.h"
@@ -41,7 +42,7 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
#include <stdio.h>
#ifdef HAVE_LOCALE_H
-@@ -32,8 +42,12 @@
+@@ -36,8 +46,12 @@
#include <strings.h>
#endif
@@ -54,7 +55,7 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
#if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
# if defined(__LITTLE_ENDIAN__)
-@@ -55,6 +69,11 @@ static int read_preamble(const unsigned
+@@ -59,6 +73,11 @@ static int read_preamble(const unsigned
{
uint32_t version;
@@ -66,7 +67,7 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
/* read ID */
version = (*tzf)[3] - '0';
*tzf += 4;
-@@ -298,7 +317,418 @@ void timelib_dump_tzinfo(timelib_tzinfo
+@@ -302,7 +321,429 @@ void timelib_dump_tzinfo(timelib_tzinfo
}
}
@@ -285,6 +286,7 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
+ && strcmp(ent->d_name, "posix") != 0
+ && strcmp(ent->d_name, "posixrules") != 0
+ && strcmp(ent->d_name, "right") != 0
++ && strstr(ent->d_name, ".list") == NULL
+ && strstr(ent->d_name, ".tab") == NULL;
+}
+
@@ -425,8 +427,18 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
+
+/* Returns true if the passed-in stat structure describes a
+ * probably-valid timezone file. */
-+static int is_valid_tzfile(const struct stat *st)
++static int is_valid_tzfile(const struct stat *st, int fd)
+{
++ if (fd) {
++ char buf[20];
++ if (read(fd, buf, 20)!=20) {
++ return 0;
++ }
++ lseek(fd, SEEK_SET, 0);
++ if (memcmp(buf, "TZif", 4)) {
++ return 0;
++ }
++ }
+ return S_ISREG(st->st_mode) && st->st_size > 20;
+}
+
@@ -464,11 +476,11 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
+ }
+
+ snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", canonical_tzname(timezone));
-+
++
+ fd = open(fname, O_RDONLY);
+ if (fd == -1) {
+ return NULL;
-+ } else if (fstat(fd, &st) != 0 || !is_valid_tzfile(&st)) {
++ } else if (fstat(fd, &st) != 0 || !is_valid_tzfile(&st, fd)) {
+ close(fd);
+ return NULL;
+ }
@@ -486,7 +498,7 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
{
int left = 0, right = tzdb->index_size - 1;
#ifdef HAVE_SETLOCALE
-@@ -337,21 +767,88 @@ static int seek_to_tz_position(const uns
+@@ -341,21 +782,88 @@ static int seek_to_tz_position(const uns
return 0;
}
@@ -568,7 +580,7 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
+
+ snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", canonical_tzname(timezone));
+
-+ return stat(fname, &st) == 0 && is_valid_tzfile(&st);
++ return stat(fname, &st) == 0 && is_valid_tzfile(&st, 0);
+ }
+#endif
+
@@ -576,7 +588,7 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
}
static void skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
-@@ -376,24 +873,54 @@ static void read_64bit_header(const unsi
+@@ -380,24 +888,54 @@ static void read_64bit_header(const unsi
timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb)
{
const unsigned char *tzf;
@@ -640,9 +652,9 @@ diff -up php-7.0.0RC1/ext/date/lib/parse_tz.c.systzdata php-7.0.0RC1/ext/date/li
} else {
tmp = NULL;
}
-diff -up php-7.0.0RC1/ext/date/lib/timelib.m4.systzdata php-7.0.0RC1/ext/date/lib/timelib.m4
---- php-7.0.0RC1/ext/date/lib/timelib.m4.systzdata 2015-08-18 23:39:24.000000000 +0200
-+++ php-7.0.0RC1/ext/date/lib/timelib.m4 2015-08-22 07:47:34.854055364 +0200
+diff -up php-7.0.12RC1/ext/date/lib/timelib.m4.systzdata php-7.0.12RC1/ext/date/lib/timelib.m4
+--- php-7.0.12RC1/ext/date/lib/timelib.m4.systzdata 2016-09-27 17:31:31.000000000 +0200
++++ php-7.0.12RC1/ext/date/lib/timelib.m4 2016-10-07 14:36:19.569469385 +0200
@@ -78,3 +78,17 @@ stdlib.h
dnl Check for strtoll, atoll
diff --git a/php.spec b/php.spec
index f53bbd7..46bdf66 100644
--- a/php.spec
+++ b/php.spec
@@ -26,7 +26,7 @@
%global zendver 20151012
%global pdover 20150127
# Extension version
-%global oci8ver 2.1.2
+%global oci8ver 2.1.3
# Adds -z now to the linker flags
%global _hardened_build 1
@@ -124,13 +124,13 @@
%global db_devel libdb-devel
%endif
-#global rcver RC1
-%global rpmrel 2
+%global rcver RC1
+%global rpmrel 1
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
-Version: 7.0.12
+Version: 7.0.13
Release: %{?rcver:0.}%{rpmrel}%{?rcver:.%{rcver}}%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
@@ -169,7 +169,7 @@ Patch9: php-7.0.7-curl.patch
# Functional changes
Patch40: php-7.0.0-dlopen.patch
-Patch42: php-7.0.0-systzdata-v13.patch
+Patch42: php-7.0.0-systzdata-v14.patch
# See http://bugs.php.net/53436
Patch43: php-5.4.0-phpize.patch
# Use -lldap_r for OpenLDAP
@@ -883,7 +883,9 @@ support for JavaScript Object Notation (JSON) to PHP.
%endif
%patch40 -p1 -b .dlopen
+%if 0%{?fedora} >= 23 || 0%{?rhel} >= 5
%patch42 -p1 -b .systzdata
+%endif
%patch43 -p1 -b .headers
%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
%patch45 -p1 -b .ldap_r
@@ -1824,6 +1826,11 @@ fi
%changelog
+* Tue Oct 25 2016 Remi Collet <remi@fedoraproject.org> 7.0.13-0.1.RC1
+- Update to 7.0.13RC1
+- oci8 version is now 2.1.3
+- update tzdata patch to v14, improve check for valid tz file
+
* Thu Oct 13 2016 Remi Collet <remi@fedoraproject.org> 7.0.12-2
- Update to 7.0.12 - http://www.php.net/releases/7_0_12.php
- rebuild with new sources