diff options
-rw-r--r-- | failed.txt | 14 | ||||
-rw-r--r-- | php-7.1.0-systzdata-v14.patch (renamed from php-7.0.0-systzdata-v13.patch) | 49 | ||||
-rw-r--r-- | php.spec | 15 |
3 files changed, 51 insertions, 27 deletions
@@ -1,16 +1,22 @@ -===== 7.1.0RC3 (2016-09-29) +===== 7.1.0RC4 (2016-10-19) $ grep -r 'Tests failed' /var/lib/mock/scl71*/build.log -/var/lib/mock/scl70el6x/build.log:Tests failed : 0 -/var/lib/mock/scl70el7x/build.log:Tests failed : 0 +/var/lib/mock/scl70el6x/build.log:Tests failed : 4 +/var/lib/mock/scl70el7x/build.log:Tests failed : 4 /var/lib/mock/scl70fc22x/build.log:Tests failed : 0 -/var/lib/mock/scl70fc23x/build.log:Tests failed : 0 +/var/lib/mock/scl70fc23x/build.log:Tests failed : 4 /var/lib/mock/scl70fc24x/build.log:Tests failed : 0 /var/lib/mock/scl70fc25x/build.log:Tests failed : 0 +el6x, el7x, 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] + *** Bug #51819 (Case discrepancy in timezone names cause Uncaught exception and fatal error) [ext/date/tests/bug51819.phpt] * proc_open give erratic test results :( ** fixed upstream +*** Related to tzdata 2016g (f24+) vs 2016f diff --git a/php-7.0.0-systzdata-v13.patch b/php-7.1.0-systzdata-v14.patch index 5efc47d..d4c8340 100644 --- a/php-7.0.0-systzdata-v13.patch +++ b/php-7.1.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.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/lib/parse_tz.c +--- php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata 2016-10-17 13:35:11.000000000 +0200 ++++ php-7.1.0RC4/ext/date/lib/parse_tz.c 2016-10-17 13:40:47.806358674 +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,13 +652,13 @@ 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 -@@ -78,3 +78,17 @@ stdlib.h +diff -up php-7.1.0RC4/ext/date/lib/timelib.m4.systzdata php-7.1.0RC4/ext/date/lib/timelib.m4 +--- php-7.1.0RC4/ext/date/lib/timelib.m4.systzdata 2016-10-17 13:40:47.807358679 +0200 ++++ php-7.1.0RC4/ext/date/lib/timelib.m4 2016-10-17 13:42:06.304743330 +0200 +@@ -78,3 +78,16 @@ stdlib.h dnl Check for strtoll, atoll - AC_CHECK_FUNCS(strtoll atoll strftime) + AC_CHECK_FUNCS(strtoll atoll strftime gettimeofday) + +PHP_ARG_WITH(system-tzdata, for use of system timezone data, +[ --with-system-tzdata[=DIR] to specify use of system timezone data], @@ -660,4 +672,3 @@ diff -up php-7.0.0RC1/ext/date/lib/timelib.m4.systzdata php-7.0.0RC1/ext/date/li + [Define for location of system timezone data]) + fi +fi -+ @@ -26,7 +26,7 @@ %global zendver 20160303 %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,8 +124,8 @@ %global db_devel libdb-devel %endif -%global rcver RC3 -%global rpmrel 10 +%global rcver RC4 +%global rpmrel 11 Summary: PHP scripting language for creating dynamic web sites @@ -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.1.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 +* Mon Oct 17 2016 Remi Collet <remi@fedoraproject.org> 7.1.0-0.11.RC4 +- Update to 7.1.0RC4 +- update tzdata patch to v14, improve check for valid tz file +- oci8 version is now 2.1.3 + * Wed Oct 5 2016 Remi Collet <remi@fedoraproject.org> 7.1.0-0.10.RC3 - rebuild |