From 4d8d78d942bdeb9fcf7c690af20aacd801d8639e Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 29 Sep 2017 13:23:30 +0200 Subject: [PATCH] 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 --- .gitignore | 1 + 10-opcache.ini | 11 +- php-7.0.0-fixheader.patch | 23 ---- php-7.1.9-openssl-load-config.patch | 52 --------- php-7.2.0-fixheader.patch | 15 +++ ...udedir.patch => php-7.2.0-includedir.patch | 6 +- ...7.0.2-libdb.patch => php-7.2.0-libdb.patch | 20 ++-- ...v14.patch => php-7.2.0-systzdata-v15.patch | 103 +++++++----------- php-fpm.conf | 14 +-- php.ini | 45 +++----- php.spec | 93 +++++++++------- sources | 3 +- 12 files changed, 153 insertions(+), 233 deletions(-) delete mode 100644 php-7.0.0-fixheader.patch delete mode 100644 php-7.1.9-openssl-load-config.patch create mode 100644 php-7.2.0-fixheader.patch rename php-7.0.0-includedir.patch => php-7.2.0-includedir.patch (79%) rename php-7.0.2-libdb.patch => php-7.2.0-libdb.patch (81%) rename php-7.1.0-systzdata-v14.patch => php-7.2.0-systzdata-v15.patch (88%) diff --git a/.gitignore b/.gitignore index e9714ea..fcc32a2 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/10-opcache.ini b/10-opcache.ini index 845fd85..1935a26 100644 --- a/10-opcache.ini +++ b/10-opcache.ini @@ -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. diff --git a/php-7.0.0-fixheader.patch b/php-7.0.0-fixheader.patch deleted file mode 100644 index 771a19e..0000000 --- a/php-7.0.0-fixheader.patch +++ /dev/null @@ -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]) diff --git a/php-7.1.9-openssl-load-config.patch b/php-7.1.9-openssl-load-config.patch deleted file mode 100644 index c998667..0000000 --- a/php-7.1.9-openssl-load-config.patch +++ /dev/null @@ -1,52 +0,0 @@ -Backported from PHP 7.2 - - -From 58df6a3b61f5cb914d899fbb44eecadad8098700 Mon Sep 17 00:00:00 2001 -From: Jakub Zelenka -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 -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"); diff --git a/php-7.2.0-fixheader.patch b/php-7.2.0-fixheader.patch new file mode 100644 index 0000000..bc822fd --- /dev/null +++ b/php-7.2.0-fixheader.patch @@ -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]) diff --git a/php-7.0.0-includedir.patch b/php-7.2.0-includedir.patch similarity index 79% rename from php-7.0.0-includedir.patch rename to php-7.2.0-includedir.patch index 2822c3f..6d9a871 100644 --- a/php-7.0.0-includedir.patch +++ b/php-7.2.0-includedir.patch @@ -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"` diff --git a/php-7.0.2-libdb.patch b/php-7.2.0-libdb.patch similarity index 81% rename from php-7.0.2-libdb.patch rename to php-7.2.0-libdb.patch index f9bff95..ca36d1a 100644 --- a/php-7.0.2-libdb.patch +++ b/php-7.2.0-libdb.patch @@ -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"); diff --git a/php-7.1.0-systzdata-v14.patch b/php-7.2.0-systzdata-v15.patch similarity index 88% rename from php-7.1.0-systzdata-v14.patch rename to php-7.2.0-systzdata-v15.patch index c989eca..97fd734 100644 --- a/php-7.1.0-systzdata-v14.patch +++ b/php-7.2.0-systzdata-v15.patch @@ -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 @@ -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 + +#include "php_scandir.h" -+#endif + - #include - - #ifdef HAVE_LOCALE_H -@@ -36,8 +46,12 @@ - #include - #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) diff --git a/php-fpm.conf b/php-fpm.conf index 3f0c317..9896748 100644 --- a/php-fpm.conf +++ b/php-fpm.conf @@ -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 diff --git a/php.ini b/php.ini index fc457f2..ecc660c 100644 --- a/php.ini +++ b/php.ini @@ -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=.so' and +; 'extension='php_.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=) 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= diff --git a/php.spec b/php.spec index a09cf48..ebae5a6 100644 --- a/php.spec +++ b/php.spec @@ -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} < $RPM_BUILD_ROOT%{_sysconfdir}/php-zts.d/${ini} < - 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 - 7.1.10-1 - Update to 7.1.10 - http://www.php.net/releases/7_1_10.php diff --git a/sources b/sources index 51fad06..221b2aa 100644 --- a/sources +++ b/sources @@ -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