Update to 7.2.0RC3

drop mcrypt extension
add sodium extension
use system oniguruma
drop .so suffix from ini files
refresh configuration files from upstream
This commit is contained in:
Remi Collet 2017-09-29 13:23:30 +02:00
parent 812fe826e9
commit 4d8d78d942
12 changed files with 153 additions and 233 deletions

1
.gitignore vendored
View File

@ -32,3 +32,4 @@ php-7.0.*.xz
/php-7.1.9.tar.xz
/php-7.1.10RC1.tar.xz
/php-7.1.10.tar.xz
/php-7.2.0RC3.tar.xz

View File

@ -1,5 +1,5 @@
; Enable Zend OPcache extension module
zend_extension=opcache.so
zend_extension=opcache
; Determines if Zend OPCache is enabled
opcache.enable=1
@ -14,7 +14,7 @@ opcache.memory_consumption=128
opcache.interned_strings_buffer=8
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
; Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=4000
; The maximum percentage of "wasted" memory until a restart is scheduled.
@ -43,6 +43,7 @@ opcache.max_accelerated_files=4000
;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.
@ -112,9 +113,15 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
;opcache.file_cache_fallback=1
; Validate cached file permissions.
; Leads OPcache to check file readability on each access to cached file.
; This directive should be enabled in shared hosting environment, when few
; users (PHP-FPM pools) reuse the common OPcache shared memory.
;opcache.validate_permission=0
; Prevent name collisions in chroot'ed environment.
; This directive prevents file name collisions in different "chroot"
; environments. It should be enabled for sites that may serve requests in
; different "chroot" environments.
;opcache.validate_root=0
; Enables or disables copying of PHP code (text segment) into HUGE PAGES.

View File

@ -1,23 +0,0 @@
Make generated php_config.h constant across rebuilds.
--- php-7.0.0/configure.in.fixheader
+++ php-7.0.0/configure.in
@@ -1278,7 +1278,7 @@ fi
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
-PHP_BUILD_DATE=`date '+%Y-%m-%d'`
+PHP_BUILD_DATE=`date '+%Y-%m-%d' -r $srcdir/NEWS`
AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
case $host_alias in
@@ -1289,7 +1289,7 @@ case $host_alias in
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[hardcode for each of the cross compiler host])
;;
*)
- PHP_UNAME=`uname -a | xargs`
+ PHP_UNAME=`uname | xargs`
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
PHP_OS=`uname | xargs`
AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])

View File

@ -1,52 +0,0 @@
Backported from PHP 7.2
From 58df6a3b61f5cb914d899fbb44eecadad8098700 Mon Sep 17 00:00:00 2001
From: Jakub Zelenka <bukka@php.net>
Date: Mon, 28 Aug 2017 18:48:25 +0100
Subject: [PATCH] Do not explicitly initialize and clean up OpenSSL for OpenSSL
1.1
From 1f843a8fb50de77a3f53a6b892a46d9e0afdfdd7 Mon Sep 17 00:00:00 2001
From: Jakub Zelenka <bukka@php.net>
Date: Mon, 28 Aug 2017 19:25:18 +0100
Subject: [PATCH] Automatically load OpenSSL configuration file
diff -up ./ext/openssl/openssl.c.loadconf ./ext/openssl/openssl.c
--- ./ext/openssl/openssl.c.loadconf 2017-08-30 18:13:18.000000000 +0200
+++ ./ext/openssl/openssl.c 2017-09-06 13:11:47.212803443 +0200
@@ -1409,6 +1409,8 @@ PHP_MINIT_FUNCTION(openssl)
le_x509 = zend_register_list_destructors_ex(php_x509_free, NULL, "OpenSSL X.509", module_number);
le_csr = zend_register_list_destructors_ex(php_csr_free, NULL, "OpenSSL X.509 CSR", module_number);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
+ OPENSSL_config(NULL);
SSL_library_init();
OpenSSL_add_all_ciphers();
OpenSSL_add_all_digests();
@@ -1421,6 +1423,9 @@ PHP_MINIT_FUNCTION(openssl)
#endif
SSL_load_error_strings();
+#else
+ OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL);
+#endif
/* register a resource id number with OpenSSL so that we can map SSL -> stream structures in
* OpenSSL callbacks */
@@ -1585,12 +1590,15 @@ PHP_MINFO_FUNCTION(openssl)
*/
PHP_MSHUTDOWN_FUNCTION(openssl)
{
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
EVP_cleanup();
/* prevent accessing locking callback from unloaded extension */
CRYPTO_set_locking_callback(NULL);
/* free allocated error strings */
ERR_free_strings();
+ CONF_modules_free();
+#endif
php_unregister_url_stream_wrapper("https");
php_unregister_url_stream_wrapper("ftps");

15
php-7.2.0-fixheader.patch Normal file
View File

@ -0,0 +1,15 @@
--- php-7.2.0/configure.ac.fixheader 2017-04-12 09:42:21.510812285 +0200
+++ php-7.2.0/configure.ac 2017-04-12 09:43:45.055224385 +0200
@@ -1263,10 +1263,10 @@
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
-PHP_BUILD_DATE=`date '+%Y-%m-%d'`
+PHP_BUILD_DATE=`date '+%Y-%m-%d' -r $srcdir/NEWS`
AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
-PHP_UNAME=`uname -a | xargs`
+PHP_UNAME=`uname | xargs`
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
PHP_OS=`uname | xargs`
AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])

View File

@ -1,6 +1,6 @@
--- php-7.0.0/configure.in.includedir
+++ php-7.0.0/configure.in
@@ -1245,7 +1245,7 @@
--- php-7.2.0/configure.ac.includedir
+++ php-7.2.0/configure.ac
@@ -1230,7 +1230,7 @@
EXPANDED_DATADIR=$datadir
EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`

View File

@ -1,7 +1,7 @@
diff -up php-7.0.2RC1/ext/dba/config.m4.libdb php-7.0.2RC1/ext/dba/config.m4
--- php-7.0.2RC1/ext/dba/config.m4.libdb 2015-12-27 07:54:48.669923462 +0100
+++ php-7.0.2RC1/ext/dba/config.m4 2015-12-27 07:55:03.607947034 +0100
@@ -312,61 +312,13 @@ if test "$PHP_DB4" != "no"; then
diff -up php-7.2.0alpha0/ext/dba/config.m4.libdb php-7.2.0alpha0/ext/dba/config.m4
--- php-7.2.0alpha0/ext/dba/config.m4.libdb 2017-05-29 08:56:06.000000000 +0200
+++ php-7.2.0alpha0/ext/dba/config.m4 2017-05-29 09:13:52.014823282 +0200
@@ -346,61 +346,13 @@ if test "$PHP_DB4" != "no"; then
dbdp4="/usr/local/BerkeleyDB.4."
dbdp5="/usr/local/BerkeleyDB.5."
for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do
@ -65,12 +65,12 @@ diff -up php-7.0.2RC1/ext/dba/config.m4.libdb php-7.0.2RC1/ext/dba/config.m4
fi
PHP_DBA_STD_RESULT(db4,Berkeley DB4)
diff -up php-7.0.2RC1/ext/dba/dba.c.libdb php-7.0.2RC1/ext/dba/dba.c
--- php-7.0.2RC1/ext/dba/dba.c.libdb 2015-12-22 16:19:29.000000000 +0100
+++ php-7.0.2RC1/ext/dba/dba.c 2015-12-27 07:52:30.381638216 +0100
@@ -52,6 +52,10 @@
#include "php_qdbm.h"
diff -up php-7.2.0alpha0/ext/dba/dba.c.libdb php-7.2.0alpha0/ext/dba/dba.c
--- php-7.2.0alpha0/ext/dba/dba.c.libdb 2017-05-29 09:16:15.736628202 +0200
+++ php-7.2.0alpha0/ext/dba/dba.c 2017-05-29 09:16:20.494654746 +0200
@@ -53,6 +53,10 @@
#include "php_tcadb.h"
#include "php_lmdb.h"
+#ifdef DB4_INCLUDE_FILE
+#include DB4_INCLUDE_FILE
@ -79,7 +79,7 @@ diff -up php-7.0.2RC1/ext/dba/dba.c.libdb php-7.0.2RC1/ext/dba/dba.c
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2)
ZEND_ARG_INFO(0, path)
@@ -552,6 +556,10 @@ PHP_MINFO_FUNCTION(dba)
@@ -558,6 +562,10 @@ PHP_MINFO_FUNCTION(dba)
php_info_print_table_start();
php_info_print_table_row(2, "DBA support", "enabled");

View File

@ -5,6 +5,7 @@ Add support for use of the system timezone database, rather
than embedding a copy. Discussed upstream but was not desired.
History:
r15: adapt for timelib 2017.05beta7 (in 7.2.0RC1)
r14: improve check for valid tz file
r13: adapt for upstream changes to use PHP allocator
r12: adapt for upstream changes for new zic
@ -25,13 +26,12 @@ 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.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 @@
diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c
--- ./ext/date/lib/parse_tz.c.systzdata 2017-08-22 09:40:38.000000000 +0200
+++ ./ext/date/lib/parse_tz.c 2017-08-22 12:16:00.370298079 +0200
@@ -25,8 +25,21 @@
#include "timelib.h"
#include "timelib_private.h"
+#ifdef HAVE_SYSTEM_TZDATA
+#include <sys/mman.h>
@ -41,16 +41,8 @@ diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/li
+#include <unistd.h>
+
+#include "php_scandir.h"
+#endif
+
#include <stdio.h>
#ifdef HAVE_LOCALE_H
@@ -36,8 +46,12 @@
#include <strings.h>
#endif
+#ifndef HAVE_SYSTEM_TZDATA
+#else
#define TIMELIB_SUPPORTS_V2DATA
#include "timezonedb.h"
+#endif
@ -59,7 +51,7 @@ diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/li
#if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
# if defined(__LITTLE_ENDIAN__)
@@ -59,6 +73,11 @@ static int read_preamble(const unsigned
@@ -67,6 +80,11 @@ static int read_php_preamble(const unsig
{
uint32_t version;
@ -71,7 +63,7 @@ diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/li
/* read ID */
version = (*tzf)[3] - '0';
*tzf += 4;
@@ -302,7 +321,429 @@ void timelib_dump_tzinfo(timelib_tzinfo
@@ -374,7 +392,429 @@ void timelib_dump_tzinfo(timelib_tzinfo
}
}
@ -502,7 +494,7 @@ diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/li
{
int left = 0, right = tzdb->index_size - 1;
#ifdef HAVE_SETLOCALE
@@ -341,21 +782,88 @@ static int seek_to_tz_position(const uns
@@ -419,9 +859,48 @@ static int seek_to_tz_position(const uns
return 0;
}
@ -550,17 +542,8 @@ diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/li
+#endif
}
const timelib_tzdb_index_entry *timelib_timezone_builtin_identifiers_list(int *count)
{
+#ifdef HAVE_SYSTEM_TZDATA
+ *count = timezonedb_system->index_size;
+ return timezonedb_system->index;
+#else
*count = sizeof(timezonedb_idx_builtin) / sizeof(*timezonedb_idx_builtin);
return timezonedb_idx_builtin;
+#endif
}
const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(timelib_tzdb *tzdb, int *count)
@@ -433,7 +912,30 @@ const timelib_tzdb_index_entry *timelib_
int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb)
{
const unsigned char *tzf;
@ -591,32 +574,27 @@ diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/li
+ return (inmem_seek_to_tz_position(&tzf, timezone, tzdb));
}
static void skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
@@ -380,24 +888,54 @@ static void read_64bit_header(const unsi
timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb)
static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
@@ -475,12 +977,14 @@ static timelib_tzinfo* timelib_tzinfo_ct
timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb, int *error_code)
{
const unsigned char *tzf;
+ char *memmap = NULL;
+ size_t maplen;
timelib_tzinfo *tmp;
int version;
int transitions_result, types_result;
unsigned int type; /* TIMELIB_TZINFO_PHP or TIMELIB_TZINFO_ZONEINFO */
- if (seek_to_tz_position(&tzf, timezone, tzdb)) {
+ if (seek_to_tz_position(&tzf, timezone, &memmap, &maplen, tzdb)) {
tmp = timelib_tzinfo_ctor(timezone);
version = read_preamble(&tzf, tmp);
read_header(&tzf, tmp);
read_transistions(&tzf, tmp);
read_types(&tzf, tmp);
- if (version == 2) {
- skip_64bit_preamble(&tzf, tmp);
- read_64bit_header(&tzf, tmp);
- skip_64bit_transistions(&tzf, tmp);
- skip_64bit_types(&tzf, tmp);
- skip_posix_string(&tzf, tmp);
- }
- read_location(&tzf, tmp);
version = read_preamble(&tzf, tmp, &type);
@@ -503,6 +1007,29 @@ timelib_tzinfo *timelib_parse_tzfile(cha
timelib_tzinfo_dtor(tmp);
return NULL;
}
+
+#ifdef HAVE_SYSTEM_TZDATA
+ if (memmap) {
@ -633,33 +611,30 @@ diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/li
+ tmp->bc = 1;
+ }
+ else {
+ strcpy(tmp->location.country_code, "??");
+ tmp->bc = 0;
+ tmp->location.comments = timelib_strdup("");
+ set_default_location_and_comments(&tzf, tmp);
+ }
+
+ /* Now done with the mmap segment - discard it. */
+ munmap(memmap, maplen);
+ } else
+ } else {
+#endif
if (version == 2 || version == 3) {
if (!skip_64bit_preamble(&tzf, tmp)) {
/* 64 bit preamble is not in place */
@@ -520,6 +1047,9 @@ timelib_tzinfo *timelib_parse_tzfile(cha
} else {
set_default_location_and_comments(&tzf, tmp);
}
+#ifdef HAVE_SYSTEM_TZDATA
+ }
+#endif
+ {
+ /* PHP-style - use the embedded info. */
+ if (version == 2) {
+ skip_64bit_preamble(&tzf, tmp);
+ read_64bit_header(&tzf, tmp);
+ skip_64bit_transistions(&tzf, tmp);
+ skip_64bit_types(&tzf, tmp);
+ skip_posix_string(&tzf, tmp);
+ }
+ read_location(&tzf, tmp);
+ }
} else {
*error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE;
tmp = NULL;
}
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
diff -up ./ext/date/lib/timelib.m4.systzdata ./ext/date/lib/timelib.m4
--- ./ext/date/lib/timelib.m4.systzdata 2017-08-22 09:40:38.000000000 +0200
+++ ./ext/date/lib/timelib.m4 2017-08-22 11:32:29.357799927 +0200
@@ -81,3 +81,16 @@ io.h
dnl Check for strtoll, atoll
AC_CHECK_FUNCS(strtoll atoll strftime gettimeofday)

View File

@ -49,7 +49,7 @@ error_log = /var/log/php-fpm/error.log
; Default Value: 0
;emergency_restart_threshold = 0
; Interval of time used by emergency_restart_interval to determine when
; Interval of time used by emergency_restart_interval to determine when
; a graceful restart will be initiated. This can be useful to work around
; accidental corruptions in an accelerator's shared memory.
; Available Units: s(econds), m(inutes), h(ours), or d(ays)
@ -63,7 +63,7 @@ error_log = /var/log/php-fpm/error.log
; Default Value: 0
;process_control_timeout = 0
; The maximum number of processes FPM will fork. This has been design to control
; The maximum number of processes FPM will fork. This has been designed to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
@ -71,10 +71,10 @@ error_log = /var/log/php-fpm/error.log
;process.max = 128
; Specify the nice(2) priority to apply to the master process (only if set)
; The value can vary from -19 (highest priority) to 20 (lower priority)
; The value can vary from -19 (highest priority) to 20 (lowest priority)
; Note: - It will only work if the FPM master process is launched as root
; - The pool process will inherit the master process priority
; unless it specified otherwise
; unless specified otherwise
; Default Value: no set
;process.priority = -19
@ -98,8 +98,8 @@ daemonize = yes
; Default Value: not set (auto detection)
;events.mechanism = epoll
; When FPM is build with systemd integration, specify the interval,
; in second, between health report notification to systemd.
; When FPM is built with systemd integration, specify the interval,
; in seconds, between health report notification to systemd.
; Set to 0 to disable.
; Available Units: s(econds), m(inutes), h(ours)
; Default Unit: seconds
@ -107,7 +107,7 @@ daemonize = yes
;systemd_interval = 10
;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ;
; Pool Definitions ;
;;;;;;;;;;;;;;;;;;;;
; Multiple pools of child processes may be started with different listening

45
php.ini
View File

@ -294,7 +294,7 @@ implicit_flush = Off
; callback-function.
unserialize_callback_func =
; When floats & doubles are serialized store serialize_precision significant
; When floats & doubles are serialized, store serialize_precision significant
; digits after the floating point. The default value ensures that when floats
; are decoded with unserialize, the data will remain the same.
; The value is also used for json_encode when encoding double values.
@ -338,7 +338,7 @@ disable_classes =
; be increased on systems where PHP opens many files to reflect the quantity of
; the file operations performed.
; http://php.net/realpath-cache-size
;realpath_cache_size = 16k
;realpath_cache_size = 4096k
; Duration of time, in seconds for which to cache realpath information for a given
; file or directory. For systems with rarely changing files, consider increasing this
@ -525,11 +525,12 @@ report_memleaks = On
; Store the last error/warning message in $php_errormsg (boolean). Setting this value
; to On can assist in debugging and is appropriate for development servers. It should
; however be disabled on production servers.
; This directive is DEPRECATED.
; Default Value: Off
; Development Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/track-errors
track_errors = Off
;track_errors = Off
; Turn off normal error reporting and emit XML-RPC error XML
; http://php.net/xmlrpc-errors
@ -866,22 +867,21 @@ default_socket_timeout = 60
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
; extension=modulename
;
; For example, on Windows:
; For example:
;
; extension=msql.dll
; extension=mysqli
;
; ... or under UNIX:
; When the extension library to load is not located in the default extension
; directory, You may specify an absolute path to the library file:
;
; extension=msql.so
; extension=/path/to/extension/mysqli.so
;
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
; deprecated in a future PHP major version. So, when it is possible, please
; move to the new ('extension=<ext>) syntax.
;;;;
; Note: packaged extension modules are now loaded via the .ini files
@ -1010,10 +1010,6 @@ mail.add_x_header = On
; Log mail to syslog;
;mail.log = syslog
[SQL]
; http://php.net/sql.safe-mode
sql.safe_mode = Off
[ODBC]
; http://php.net/odbc.default-db
;odbc.default_db = Not yet implemented
@ -1646,17 +1642,6 @@ soap.wsdl_cache_limit = 5
; Sets the maximum number of open links or -1 for unlimited.
ldap.max_links = -1
[mcrypt]
; For more information about mcrypt settings see http://php.net/mcrypt-module-open
; Directory where to load mcrypt algorithms
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.algorithms_dir=
; Directory where to load mcrypt modes
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.modes_dir=
[dba]
;dba.default_handler=

View File

@ -6,17 +6,17 @@
# Please preserve changelog entries
#
# API/ABI check
%global apiver 20160303
%global zendver 20160303
%global pdover 20150127
%global apiver 20170718
%global zendver 20170718
%global pdover 20170320
# Extension version
%global jsonver 1.5.0
%global jsonver 1.6.0
# Adds -z now to the linker flags
%global _hardened_build 1
# version used for php embedded library soname
%global embed_version 7.1
%global embed_version 7.2
%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock)
@ -61,8 +61,8 @@
%global db_devel libdb-devel
%endif
%global upver 7.1.10
#global rcver RC1
%global upver 7.2.0
%global rcver RC3
Summary: PHP scripting language for creating dynamic web sites
Name: php
@ -96,24 +96,22 @@ Source51: opcache-default.blacklist
# Build fixes
Patch1: php-7.1.7-httpd.patch
Patch5: php-7.0.0-includedir.patch
Patch5: php-7.2.0-includedir.patch
Patch6: php-5.6.3-embed.patch
Patch7: php-5.3.0-recode.patch
Patch8: php-7.0.2-libdb.patch
Patch8: php-7.2.0-libdb.patch
# Functional changes
Patch40: php-7.1.3-dlopen.patch
Patch42: php-7.1.0-systzdata-v14.patch
Patch42: php-7.2.0-systzdata-v15.patch
# See http://bugs.php.net/53436
Patch43: php-5.4.0-phpize.patch
# Use -lldap_r for OpenLDAP
Patch45: php-5.6.3-ldap_r.patch
# Make php_config.h constant across builds
Patch46: php-7.0.0-fixheader.patch
Patch46: php-7.2.0-fixheader.patch
# drop "Configure command" from phpinfo output
Patch47: php-5.6.3-phpinfo.patch
# Automatically load OpenSSL configuration file
Patch48: php-7.1.9-openssl-load-config.patch
# Upstream fixes (100+)
@ -514,10 +512,9 @@ Summary: A module for PHP applications which need multi-byte string handling
Group: Development/Languages
# All files licensed under PHP version 3.01, except
# libmbfl is licensed under LGPLv2
# onigurama is licensed under BSD
# ucgendat is licensed under OpenLDAP
License: PHP and LGPLv2 and BSD and OpenLDAP
Provides: bundled(oniguruma) = 5.9.6
License: PHP and LGPLv2 and OpenLDAP
BuildRequires: oniguruma-devel
Provides: bundled(libmbfl) = 1.3.2
Requires: php-common%{?_isa} = %{version}-%{release}
@ -581,25 +578,15 @@ Summary: A database abstraction layer module for PHP applications
Group: Development/Languages
# All files licensed under PHP version 3.01
License: PHP
BuildRequires: %{db_devel}, tokyocabinet-devel
BuildRequires: %{db_devel}
BuildRequires: tokyocabinet-devel
BuildRequires: lmdb-devel
Requires: php-common%{?_isa} = %{version}-%{release}
%description dba
The php-dba package contains a dynamic shared object that will add
support for using the DBA database abstraction layer to PHP.
%package mcrypt
Summary: Standard PHP module provides mcrypt library support
Group: Development/Languages
# All files licensed under PHP version 3.01
License: PHP
Requires: php-common%{?_isa} = %{version}-%{release}
BuildRequires: libmcrypt-devel
%description mcrypt
The php-mcrypt package contains a dynamic shared object that will add
support for using the mcrypt library to PHP.
%package tidy
Summary: Standard PHP module provides tidy library support
Group: Development/Languages
@ -703,6 +690,21 @@ Provides: php-pecl-json%{?_isa} = %{jsonver}
The php-json package provides an extension that will add
support for JavaScript Object Notation (JSON) to PHP.
%package sodium
Summary: Wrapper for the Sodium cryptographic library
# All files licensed under PHP version 3.0.1
License: PHP
Group: System Environment/Libraries
BuildRequires: pkgconfig(libsodium) >= 1.0.9
Requires: php-common%{?_isa} = %{version}-%{release}
Obsoletes: php-pecl-libsodium2 < 7
Provides: php-pecl(libsodium) = %{version}
Provides: php-pecl(libsodium)%{?_isa} = %{version}
%description sodium
The php-sodium package provides a simple,
low-level PHP extension for the libsodium cryptographic library.
%prep
@ -722,7 +724,6 @@ support for JavaScript Object Notation (JSON) to PHP.
%endif
%patch46 -p1 -b .fixheader
%patch47 -p1 -b .phpinfo
%patch48 -p1 -b .loadconf
# upstream patches
@ -741,7 +742,6 @@ cp ext/gd/libgd/COPYING libgd_COPYING
%endif
cp sapi/fpm/LICENSE fpm_LICENSE
cp ext/mbstring/libmbfl/LICENSE libmbfl_LICENSE
cp ext/mbstring/oniguruma/COPYING oniguruma_COPYING
cp ext/mbstring/ucgendat/OPENLDAP_LICENSE ucgendat_LICENSE
cp ext/fileinfo/libmagic/LICENSE libmagic_LICENSE
cp ext/phar/LICENSE phar_LICENSE
@ -838,7 +838,7 @@ libtoolize --force --copy
cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4
# Regenerate configure scripts (patches change config.m4's)
touch configure.in
touch configure.ac
./buildconf --force
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-pointer-sign"
@ -881,7 +881,6 @@ ln -sf ../configure
--with-freetype-dir=%{_prefix} \
--with-png-dir=%{_prefix} \
--with-xpm-dir=%{_prefix} \
--enable-gd-native-ttf \
--without-gdbm \
--with-jpeg-dir=%{_prefix} \
--with-openssl \
@ -916,6 +915,7 @@ build --libdir=%{_libdir}/php \
--enable-phpdbg \
--with-imap=shared --with-imap-ssl \
--enable-mbstring=shared \
--with-onig=%{_prefix} \
--enable-mbregex \
%if %{with_libgd}
--with-gd=shared,%{_prefix} \
@ -929,6 +929,7 @@ build --libdir=%{_libdir}/php \
--enable-ctype=shared \
--enable-dba=shared --with-db4=%{_prefix} \
--with-tcadb=%{_prefix} \
--with-lmdb=%{_prefix} \
--enable-exif=shared \
--enable-ftp=shared \
--with-gettext=shared \
@ -972,13 +973,13 @@ build --libdir=%{_libdir}/php \
--with-libedit \
--with-pspell=shared \
--enable-phar=shared \
--with-mcrypt=shared,%{_prefix} \
--with-tidy=shared,%{_prefix} \
--enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \
--enable-shmop=shared \
--enable-posix=shared \
--with-unixODBC=shared,%{_prefix} \
--enable-fileinfo=shared \
--with-sodium=shared \
--enable-intl=shared \
--with-icu-dir=%{_prefix} \
--with-enchant=shared,%{_prefix} \
@ -990,6 +991,7 @@ without_shared="--without-gd \
--disable-opcache \
--disable-json \
--disable-xmlreader --disable-xmlwriter \
--without-sodium \
--without-sqlite3 --disable-phar --disable-fileinfo \
--without-pspell --disable-wddx \
--without-curl --disable-posix --disable-xml \
@ -1042,6 +1044,7 @@ build --includedir=%{_includedir}/php-zts \
--enable-opcache-file \
--with-imap=shared --with-imap-ssl \
--enable-mbstring=shared \
--with-onig=%{_prefix} \
--enable-mbregex \
%if %{with_libgd}
--with-gd=shared,%{_prefix} \
@ -1055,6 +1058,7 @@ build --includedir=%{_includedir}/php-zts \
--enable-ctype=shared \
--enable-dba=shared --with-db4=%{_prefix} \
--with-tcadb=%{_prefix} \
--with-lmdb=%{_prefix} \
--with-gettext=shared \
--with-iconv=shared \
--enable-sockets=shared \
@ -1099,13 +1103,13 @@ build --includedir=%{_includedir}/php-zts \
--with-libedit \
--with-pspell=shared \
--enable-phar=shared \
--with-mcrypt=shared,%{_prefix} \
--with-tidy=shared,%{_prefix} \
--enable-sysvmsg=shared --enable-sysvshm=shared --enable-sysvsem=shared \
--enable-shmop=shared \
--enable-posix=shared \
--with-unixODBC=shared,%{_prefix} \
--enable-fileinfo=shared \
--with-sodium=shared \
--enable-intl=shared \
--with-icu-dir=%{_prefix} \
--with-enchant=shared,%{_prefix} \
@ -1136,6 +1140,7 @@ cd build-apache
# Run tests, using the CLI SAPI
export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
export SKIP_ONLINE_TESTS=1
export SKIP_IO_CAPTURE_TESTS=1
unset TZ LANG LC_ALL
if ! make test; then
set +x
@ -1251,7 +1256,8 @@ for mod in pgsql odbc ldap snmp xmlrpc imap json \
%endif
sqlite3 \
enchant phar fileinfo intl \
mcrypt tidy pdo_dblib pspell curl wddx \
tidy pdo_dblib pspell curl wddx \
sodium \
posix shmop sysvshm sysvsem sysvmsg recode xml \
; do
case $mod in
@ -1272,12 +1278,12 @@ for mod in pgsql odbc ldap snmp xmlrpc imap json \
else
cat > $RPM_BUILD_ROOT%{_sysconfdir}/php.d/${ini} <<EOF
; Enable ${mod} extension module
extension=${mod}.so
extension=${mod}
EOF
%if %{with_zts}
cat > $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${ini} <<EOF
; Enable ${mod} extension module
extension=${mod}.so
extension=${mod}
EOF
%endif
fi
@ -1481,7 +1487,6 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%files xmlrpc -f files.xmlrpc
%files mbstring -f files.mbstring
%license libmbfl_LICENSE
%license oniguruma_COPYING
%license ucgendat_LICENSE
%files gd -f files.gd
%if ! %{with_libgd}
@ -1494,7 +1499,6 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%files gmp -f files.gmp
%files dba -f files.dba
%files pdo -f files.pdo
%files mcrypt -f files.mcrypt
%files tidy -f files.tidy
%files pdo-dblib -f files.pdo_dblib
%files pspell -f files.pspell
@ -1510,9 +1514,18 @@ rm -f README.{Zeus,QNX,CVS-RULES}
%config(noreplace) %{_sysconfdir}/php.d/opcache-default.blacklist
%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist
%files json -f files.json
%files sodium -f files.sodium
%changelog
* Fri Sep 29 2017 Remi Collet <remi@fedoraproject.org> - 7.2.0~RC3-1
- Update to 7.2.0RC3
- drop mcrypt extension
- add sodium extension
- use system oniguruma
- drop .so suffix from ini files
- refresh configuration files from upstream
* Wed Sep 27 2017 Remi Collet <remi@fedoraproject.org> - 7.1.10-1
- Update to 7.1.10 - http://www.php.net/releases/7_1_10.php

View File

@ -1,2 +1 @@
SHA512 (php-7.0.24.tar.xz) = 7ae7795ff89924adc5f989bcf438a372684c7fc041ec10db96369f12faaeb90a23e7a7b5253f2a1022059f7464e6c11ee46a164a7f873b0b44a5317c3a3a49e7
SHA512 (php-7.1.10.tar.xz) = 64f03d7a8928283e2f4f0958168610780553765ac20cf558cd6452ba4474461e74366c41b9bfdaf08b25195ca9c0059a94b77f06d8de3512d251cb2a84113d30
SHA512 (php-7.2.0RC3.tar.xz) = a33e72e458e7e9fef59db5c147da9efdbd6d2987610216d99fd6c8bb25927153573614bdf3ca3b4e3278c5e6657fbd30665e3a895448afb0d6951af65e8e5b55