update to 7.3.0RC2

bump API numbers
switch from libpcre to libpcre2
temporarily disable pcre jit on s390x see https://bugzilla.redhat.com/1636032
This commit is contained in:
Remi Collet 2018-10-04 12:40:52 +02:00
parent 98fbc8e0f1
commit 41adca282e
6 changed files with 133 additions and 81 deletions

1
.gitignore vendored
View File

@ -28,3 +28,4 @@ php-7.1.*.xz
/php-7.2.10RC1.tar.xz
/php-7.2.10.tar.xz
/php-7.2.11RC1.tar.xz
/php-7.3.0RC2.tar.xz

View File

@ -42,18 +42,15 @@ opcache.max_accelerated_files=4000
; size of the optimized code.
;opcache.save_comments=1
; If enabled, a fast shutdown sequence is used for the accelerated code
; Depending on the used Memory Manager this may cause some incompatibilities.
;opcache.fast_shutdown=0
; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0
; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
;opcache.optimization_level=0xffffffff
;opcache.optimization_level=0x7FFFBFFF
;opcache.inherited_hack=1
; This hack should only be enabled to work around "Cannot redeclare class"
; errors.
;opcache.dups_fix=0
; The location of the OPcache blacklist file (wildcards allowed).
@ -128,3 +125,6 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
; This should improve performance, but requires appropriate OS configuration.
opcache.huge_code_pages=0
; If specified, it produces opcode dumps for debugging different stages of
; optimizations.
;opcache.opt_debug_level=0

View File

@ -0,0 +1,37 @@
From bbfea4b470f30b3d92ad73e4addf37c3e247052a Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@php.net>
Date: Thu, 4 Oct 2018 11:45:35 +0200
Subject: [PATCH] Allow to disable pcre.jit when system library is used as it
is for now broken on some arch (s390x...)
---
ext/pcre/config0.m4 | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/ext/pcre/config0.m4 b/ext/pcre/config0.m4
index dd1b7d55aa69..3f7f04d4fc60 100644
--- a/ext/pcre/config0.m4
+++ b/ext/pcre/config0.m4
@@ -47,13 +47,15 @@ PHP_ARG_WITH(pcre-jit,,[ --with-pcre-jit Enable PCRE JIT functionality
fi
fi
- PHP_CHECK_LIBRARY(pcre2-8, pcre2_jit_compile_8,
- [
- AC_DEFINE(HAVE_PCRE_JIT_SUPPORT, 1, [ ])
- ],[
- ],[
- $PCRE2_LIB
- ])
+ if test "$PHP_PCRE_JIT" != "no"; then
+ PHP_CHECK_LIBRARY(pcre2-8, pcre2_jit_compile_8,
+ [
+ AC_DEFINE(HAVE_PCRE_JIT_SUPPORT, 1, [ ])
+ ],[
+ ],[
+ $PCRE2_LIB
+ ])
+ fi
PHP_EVAL_INCLINE($PCRE2_INC)
PHP_EVAL_LIBLINE($PCRE2_LIB)

125
php.ini
View File

@ -15,7 +15,7 @@
; 5. The web server's directory (for SAPI modules), or directory of PHP
; (otherwise in Windows)
; 6. The directory from the --with-config-file-path compile time option, or the
; Windows directory (C:\windows or C:\winnt)
; Windows directory (usually C:\windows)
; See the PHP docs for more specific information.
; http://php.net/configuration.file
@ -58,9 +58,9 @@
; An empty string can be denoted by simply not writing anything after the equal
; sign, or by using the None keyword:
; foo = ; sets foo to an empty string
; foo = None ; sets foo to an empty string
; foo = "None" ; sets foo to the string 'None'
; foo = ; sets foo to an empty string
; foo = None ; sets foo to an empty string
; foo = "None" ; sets foo to the string 'None'
; If you use constants in your value, and these constants belong to a
; dynamically loaded extension (either a PHP extension or a Zend extension),
@ -83,7 +83,7 @@
; development version only in development environments, as errors shown to
; application users can inadvertently leak otherwise secure information.
; This is php.ini-production INI file.
; This is the php.ini-production INI file.
;;;;;;;;;;;;;;;;;;;
; Quick Reference ;
@ -169,7 +169,7 @@
; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
;user_ini.filename = ".user.ini"
; To disable this feature set this option to empty value
; To disable this feature set this option to an empty value
;user_ini.filename =
; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
@ -248,7 +248,7 @@ output_buffering = 4096
; Production Value: "form="
;url_rewriter.tags
; URL rewriter will not rewrites absolute URL nor form by default. To enable
; URL rewriter will not rewrite absolute URL nor form by default. To enable
; absolute URL rewrite, allowed hosts must be defined at RUNTIME.
; Refer to session.trans_sid_hosts for more details.
; Default Value: ""
@ -397,7 +397,7 @@ max_input_time = 60
;max_input_nesting_level = 64
; How many GET/POST/COOKIE input variables may be accepted
; max_input_vars = 1000
;max_input_vars = 1000
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
@ -582,9 +582,27 @@ html_errors = On
; http://php.net/error-log
; Example:
;error_log = php_errors.log
; Log errors to syslog.
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
; The syslog ident is a string which is prepended to every message logged
; to syslog. Only used when error_log is set to syslog.
;syslog.ident = php
; The syslog facility is used to specify what type of program is logging
; the message. Only used when error_log is set to syslog.
;syslog.facility = user
; Set this to disable filtering control characters (the default).
; Some loggers only accept NVT-ASCII, others accept anything that's not
; control characters. If your logger accepts everything, then no filtering
; is needed at all.
; Allowed values are:
; ascii (only base ASCII characters)
; no_ctrl (all characters except control characters)
; all (all characters)
;syslog.filter = ascii
;windows.show_crt_warning
; Default value: 0
; Development value: 0
@ -734,13 +752,13 @@ user_dir =
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
;extension_dir = "./"
; On windows:
; extension_dir = "ext"
;extension_dir = "ext"
; Directory where the temporary files should be placed.
; Defaults to the system default (see sys_get_temp_dir)
; sys_temp_dir = "/tmp"
;sys_temp_dir = "/tmp"
; Whether or not to enable the dl() function. The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
@ -777,10 +795,9 @@ enable_dl = Off
; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
; of the web tree and people will not be able to circumvent .htaccess security.
; http://php.net/cgi.dicard-path
;cgi.discard_path=1
; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
; FastCGI under IIS supports the ability to impersonate
; security tokens of the calling client. This allows IIS to define the
; security context that the request runs under. mod_fastcgi under Apache
; does not currently support this feature (03/17/2002)
@ -872,7 +889,7 @@ default_socket_timeout = 60
; For example:
;
; extension=mysqli
;
;
; When the extension library to load is not located in the default extension
; directory, You may specify an absolute path to the library file:
;
@ -923,7 +940,7 @@ cli_server.color = On
[iconv]
; Use of this INI entry is deprecated, use global input_encoding instead.
; If empty, default_charset or input_encoding or iconv.input_encoding is used.
; The precedence is: default_charset < intput_encoding < iconv.input_encoding
; The precedence is: default_charset < input_encoding < iconv.input_encoding
;iconv.input_encoding =
; Use of this INI entry is deprecated, use global internal_encoding instead.
@ -950,19 +967,19 @@ cli_server.color = On
;sqlite3.extension_dir =
[Pcre]
;PCRE library backtracking limit.
; PCRE library backtracking limit.
; http://php.net/pcre.backtrack-limit
;pcre.backtrack_limit=100000
;PCRE library recursion limit.
;Please note that if you set this value to a high number you may consume all
;the available process stack and eventually crash PHP (due to reaching the
;stack size limit imposed by the Operating System).
; PCRE library recursion limit.
; Please note that if you set this value to a high number you may consume all
; the available process stack and eventually crash PHP (due to reaching the
; stack size limit imposed by the Operating System).
; http://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000
;Enables or disables JIT compilation of patterns. This requires the PCRE
;library to be compiled with JIT support.
; Enables or disables JIT compilation of patterns. This requires the PCRE
; library to be compiled with JIT support.
pcre.jit=0
[Pdo]
@ -973,13 +990,8 @@ pcre.jit=0
;pdo_odbc.db2_instance_name
[Pdo_mysql]
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/pdo_mysql.cache_size
pdo_mysql.cache_size = 2000
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket=
[Phar]
@ -1002,12 +1014,12 @@ sendmail_path = /usr/sbin/sendmail -t -i
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On
mail.add_x_header = Off
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog;
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog
[ODBC]
@ -1051,8 +1063,6 @@ odbc.defaultlrl = 4096
; http://php.net/odbc.defaultbinmode
odbc.defaultbinmode = 1
;birdstep.max_links = -1
[Interbase]
; Allow or prevent persistent links.
ibase.allow_persistent = 1
@ -1102,10 +1112,6 @@ mysqli.allow_persistent = On
; http://php.net/mysqli.max-links
mysqli.max_links = -1
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/mysqli.cache_size
mysqli.cache_size = 2000
; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
@ -1140,12 +1146,10 @@ mysqli.reconnect = Off
[mysqlnd]
; Enable / Disable collection of general statistics by mysqlnd which can be
; used to tune and monitor MySQL operations.
; http://php.net/mysqlnd.collect_statistics
mysqlnd.collect_statistics = On
; Enable / Disable collection of memory usage statistics by mysqlnd which can be
; used to tune and monitor MySQL operations.
; http://php.net/mysqlnd.collect_memory_statistics
mysqlnd.collect_memory_statistics = Off
; Records communication from all extensions using mysqlnd to the specified log
@ -1154,29 +1158,23 @@ mysqlnd.collect_memory_statistics = Off
;mysqlnd.debug =
; Defines which queries will be logged.
; http://php.net/mysqlnd.log_mask
;mysqlnd.log_mask = 0
; Default size of the mysqlnd memory pool, which is used by result sets.
; http://php.net/mysqlnd.mempool_default_size
;mysqlnd.mempool_default_size = 16000
; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
; http://php.net/mysqlnd.net_cmd_buffer_size
;mysqlnd.net_cmd_buffer_size = 2048
; Size of a pre-allocated buffer used for reading data sent by the server in
; bytes.
; http://php.net/mysqlnd.net_read_buffer_size
;mysqlnd.net_read_buffer_size = 32768
; Timeout for network requests in seconds.
; http://php.net/mysqlnd.net_read_timeout
;mysqlnd.net_read_timeout = 31536000
; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
; key.
; http://php.net/mysqlnd.sha256_server_public_key
;mysqlnd.sha256_server_public_key =
[PostgreSQL]
@ -1255,10 +1253,11 @@ session.save_handler = files
;session.save_path = "/tmp"
; Whether to use strict session mode.
; Strict session mode does not accept uninitialized session ID and regenerate
; session ID if browser sends uninitialized session ID. Strict mode protects
; applications from session fixation via session adoption vulnerability. It is
; disabled by default for maximum compatibility, but enabling it is encouraged.
; Strict session mode does not accept an uninitialized session ID, and
; regenerates the session ID if the browser sends an uninitialized session ID.
; Strict mode protects applications from session fixation via a session adoption
; vulnerability. It is disabled by default for maximum compatibility, but
; enabling it is encouraged.
; https://wiki.php.net/rfc/strict_sessions
session.use_strict_mode = 0
@ -1296,11 +1295,17 @@ session.cookie_path = /
; http://php.net/session.cookie-domain
session.cookie_domain =
; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
; Whether or not to add the httpOnly flag to the cookie, which makes it
; inaccessible to browser scripting languages such as JavaScript.
; http://php.net/session.cookie-httponly
session.cookie_httponly =
; Handler used to serialize data. php is the standard serializer of PHP.
; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF)
; Current valid values are "Lax" or "Strict"
; https://tools.ietf.org/html/draft-west-first-party-cookies-07
session.cookie_samesite =
; Handler used to serialize data. php is the standard serializer of PHP.
; http://php.net/session.serialize-handler
session.serialize_handler = php
@ -1309,7 +1314,7 @@ session.serialize_handler = php
; gc_probability/gc_divisor. Where session.gc_probability is the numerator
; and gc_divisor is the denominator in the equation. Setting this value to 1
; when the session.gc_divisor value is 100 will give you approximately a 1% chance
; the gc will run on any give request.
; the gc will run on any given request.
; Default Value: 1
; Development Value: 1
; Production Value: 1
@ -1319,10 +1324,10 @@ session.gc_probability = 1
; Defines the probability that the 'garbage collection' process is started on every
; session initialization. The probability is calculated by using the following equation:
; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
; session.gc_divisor is the denominator in the equation. Setting this value to 1
; when the session.gc_divisor value is 100 will give you approximately a 1% chance
; the gc will run on any give request. Increasing this value to 1000 will give you
; a 0.1% chance the gc will run on any give request. For high volume production servers,
; session.gc_divisor is the denominator in the equation. Setting this value to 100
; when the session.gc_probability value is 1 will give you approximately a 1% chance
; the gc will run on any given request. Increasing this value to 1000 will give you
; a 0.1% chance the gc will run on any given request. For high volume production servers,
; this is a more efficient approach.
; Default Value: 100
; Development Value: 1000
@ -1373,7 +1378,7 @@ session.use_trans_sid = 0
; Set session ID character length. This value could be between 22 to 256.
; Shorter length than default is supported only for compatibility reason.
; Users should use 32 or more chars.
; http://php.net/session.sid_length
; http://php.net/session.sid-length
; Default Value: 32
; Development Value: 26
; Production Value: 26
@ -1392,7 +1397,7 @@ session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
; URL rewriter does not rewrite absolute URLs by default.
; To enable rewrites for absolute pathes, target hosts must be specified
; To enable rewrites for absolute paths, target hosts must be specified
; at RUNTIME. i.e. use ini_set()
; <form> tags is special. PHP will check action attribute's URL regardless
; of session.trans_sid_tags setting.
@ -1481,7 +1486,7 @@ zend.assertions = -1
; http://php.net/assert.active
;assert.active = On
; Throw an AssertationException on failed assertions
; Throw an AssertionError on failed assertions
; http://php.net/assert.exception
;assert.exception = On
@ -1517,9 +1522,9 @@ zend.assertions = -1
; Use of this INI entry is deprecated, use global input_encoding instead.
; http input encoding.
; mbstring.encoding_traslation = On is needed to use this setting.
; mbstring.encoding_translation = On is needed to use this setting.
; If empty, default_charset or input_encoding or mbstring.input is used.
; The precedence is: default_charset < intput_encoding < mbsting.http_input
; The precedence is: default_charset < input_encoding < mbsting.http_input
; http://php.net/mbstring.http-input
;mbstring.http_input =

View File

@ -7,11 +7,11 @@
#
# API/ABI check
%global apiver 20170718
%global zendver 20170718
%global apiver 20180731
%global zendver 20180731
%global pdover 20170320
# Extension version
%global jsonver 1.6.0
%global jsonver 1.7.0
# we don't want -z defs linker flag
%undefine _strict_symbol_defs_build
@ -20,7 +20,7 @@
%global _hardened_build 1
# version used for php embedded library soname
%global embed_version 7.2
%global embed_version 7.3
%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock)
@ -58,12 +58,13 @@
%global with_lmdb 0
%endif
%global upver 7.2.11
%global rcver RC1
%global upver 7.3.0
%global rcver RC2
%global lower rc2
Summary: PHP scripting language for creating dynamic web sites
Name: php
Version: %{upver}%{?rcver:~%{rcver}}
Version: %{upver}%{?lower:~%{lower}}
Release: 1%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
@ -109,10 +110,9 @@ Patch45: php-7.2.3-ldap_r.patch
Patch46: php-7.2.4-fixheader.patch
# drop "Configure command" from phpinfo output
Patch47: php-5.6.3-phpinfo.patch
# getallheaders for FPM backported from 7.3
Patch48: php-7.2.8-getallheaders.patch
# Upstream fixes (100+)
Patch100: https://github.com/php/php-src/commit/bbfea4b470f30b3d92ad73e4addf37c3e247052a.patch
# Security fixes (200+)
@ -130,7 +130,7 @@ BuildRequires: nginx-filesystem
BuildRequires: libstdc++-devel, openssl-devel
BuildRequires: sqlite-devel >= 3.6.0
BuildRequires: zlib-devel, smtpdaemon, libedit-devel
BuildRequires: pcre-devel >= 6.6
BuildRequires: pcre2-devel >= 10.30
BuildRequires: bzip2
BuildRequires: perl-interpreter
BuildRequires: autoconf
@ -277,7 +277,7 @@ Requires: automake
Requires: gcc
Requires: gcc-c++
Requires: libtool
Requires: pcre-devel%{?_isa}
Requires: pcre2-devel%{?_isa}
Obsoletes: php-pecl-json-devel < %{jsonver}
Obsoletes: php-pecl-jsonc-devel < %{jsonver}
%if %{with_zts}
@ -712,9 +712,9 @@ low-level PHP extension for the libsodium cryptographic library.
%endif
%patch46 -p1 -b .fixheader
%patch47 -p1 -b .phpinfo
%patch48 -p1 -b .getallheaders
# upstream patches
%patch100 -p1 -b .jit
# security patches
@ -733,7 +733,6 @@ cp sapi/fpm/LICENSE fpm_LICENSE
cp ext/mbstring/libmbfl/LICENSE libmbfl_LICENSE
cp ext/mbstring/ucgendat/OPENLDAP_LICENSE ucgendat_LICENSE
cp ext/fileinfo/libmagic/LICENSE libmagic_LICENSE
cp ext/phar/LICENSE phar_LICENSE
cp ext/bcmath/libbcmath/COPYING.LIB libbcmath_COPYING
cp ext/date/lib/LICENSE.rst timelib_LICENSE
@ -754,6 +753,8 @@ rm ext/sockets/tests/mcast_ipv?_recv.phpt
# cause stack exhausion
rm Zend/tests/bug54268.phpt
rm Zend/tests/bug68412.phpt
# tar issue
rm ext/zlib/tests/004-mb.phpt
# Safety check for API version change.
pver=$(sed -n '/#define PHP_VERSION /{s/.* "//;s/".*$//;p}' main/php_version.h)
@ -875,6 +876,9 @@ ln -sf ../configure
--with-openssl \
--with-system-ciphers \
--with-pcre-regex=%{_prefix} \
%ifarch s390x
--without-pcre-jit \
%endif
--with-zlib \
--with-layout=GNU \
--with-kerberos \
@ -1416,7 +1420,6 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%doc CODING_STANDARDS CREDITS EXTENSIONS NEWS README*
%license LICENSE TSRM_LICENSE
%license libmagic_LICENSE
%license phar_LICENSE
%license timelib_LICENSE
%doc php.ini-*
%config(noreplace) %{_sysconfdir}/php.ini
@ -1556,6 +1559,12 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%changelog
* Thu Oct 4 2018 Remi Collet <remi@remirepo.net> - 7.3.0~rc2-1
- update to 7.3.0RC2
- bump API numbers
- switch from libpcre to libpcre2
- temporarily disable pcre jit on s390x see https://bugzilla.redhat.com/1636032
* Wed Sep 26 2018 Remi Collet <remi@remirepo.net> - 7.2.11~RC1-1
- update to 7.2.11RC1

View File

@ -1 +1 @@
SHA512 (php-7.2.11RC1.tar.xz) = 2705fff84b1cb0a5984ef1ee42f63c9cdd673329b8ccf76f878420cbe06e8188467826af9b3c365262cd8a6cd6012a32cfa767441cd2aae2ab6ff9dff557d6ad
SHA512 (php-7.3.0RC2.tar.xz) = 6fca734a4dfbd8ef85838439bc965f6d6773ba270207222b710ab75a0254f6c68378763274ba5d6cfe60b6ea14c134a64cb3ef607cc2ef86c7010bac1e282498