Revert "- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937"

This reverts commit e814c21fd5.

Update to 8.0.3 - http://www.php.net/releases/8_0_3.php
see https://fedoraproject.org/wiki/Changes/php80
drop xmlrpc extension
drop json subpackage, extension always there
enchant: use libenchant-2 instead of libenchant

(cherry picked from commit a5f7ab7dce)

clean

(cherry picked from commit 67b2f663aa)

v8.0.4RC1

(cherry picked from commit 8f55f988a3)

make libdb usage conditional
  default: on for Fedora, off for RHEL

(cherry picked from commit 4edab40b67)

update to 8.0.5RC1

(cherry picked from commit 9216381e0e)

Update to 8.0.5 - http://www.php.net/releases/8_0_5.php

(cherry picked from commit a10ebc309f)

Related: #1949319
This commit is contained in:
Remi Collet 2021-04-16 15:04:58 +02:00
parent e814c21fd5
commit 59f8dd7846
11 changed files with 365 additions and 221 deletions

8
.gitignore vendored
View File

@ -4,3 +4,11 @@ TODO
php-5.*.xz
php-7.*.xz
php-7.*.xz.asc
/php-8.0.3.tar.xz
/php-8.0.3.tar.xz.asc
/php-8.0.4RC1.tar.xz
/php-8.0.4RC1.tar.xz.asc
/php-8.0.5RC1.tar.xz
/php-8.0.5RC1.tar.xz.asc
/php-8.0.5.tar.xz
/php-8.0.5.tar.xz.asc

View File

@ -1,23 +0,0 @@
--- a/ext/date/tests/bug66985.phpt 2014-10-30 07:32:03.297693403 +0100
+++ b/ext/date/tests/bug66985.phpt 2014-10-30 07:32:45.138877977 +0100
@@ -3,7 +3,7 @@
--FILE--
<?php
$zones = array(
- "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "Factory", "GB-Eire",
+ "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "GB-Eire",
"GMT0", "Greenwich", "Hongkong", "Iceland", "Iran", "Israel", "Jamaica",
"Japan", "Kwajalein", "Libya", "MST7MDT", "Navajo", "NZ-CHAT", "Poland",
"Portugal", "PST8PDT", "Singapore", "Turkey", "Universal", "W-SU",
@@ -45,11 +45,6 @@
)
DateTimeZone Object
(
- [timezone_type] => 3
- [timezone] => Factory
-)
-DateTimeZone Object
-(
[timezone_type] => 3
[timezone] => GB-Eire
)

98
php-7.4.0-datetests.patch Normal file
View File

@ -0,0 +1,98 @@
diff -up ./ext/date/tests/bug33414-2.phpt.datetests ./ext/date/tests/bug33414-2.phpt
--- ./ext/date/tests/bug33414-2.phpt.datetests 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/date/tests/bug33414-2.phpt 2020-04-09 14:40:00.809433489 +0200
@@ -74,10 +74,10 @@ $strtotime_tstamp = strtotime("next Frid
print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n";
print "wanted=Friday 00:00:00\n\n";
?>
---EXPECT--
+--EXPECTF--
TZ=Pacific/Rarotonga - wrong day.
-tStamp=Thursday 1970-01-01 17:17:17 -1030 0
-result=Tuesday 1970-01-06 00:00:00 -1030 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Tuesday 1970-01-06 00:00:00 %s
wanted=Tuesday 00:00:00
TZ=Atlantic/South_Georgia - wrong day.
@@ -91,13 +91,13 @@ result=Monday 2005-04-04 00:00:00 EDT 1
wanted=Monday 00:00:00
TZ=Pacific/Enderbury - wrong day, off by 2 days.
-tStamp=Thursday 1970-01-01 17:17:17 -12 0
-result=Monday 1970-01-05 00:00:00 -12 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Monday 1970-01-05 00:00:00 %s
wanted=Monday 00:00:00
TZ=Pacific/Kiritimati - wrong day, off by 2 days.
-tStamp=Thursday 1970-01-01 17:17:17 -1040 0
-result=Monday 1970-01-05 00:00:00 -1040 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Monday 1970-01-05 00:00:00 %s
wanted=Monday 00:00:00
TZ=America/Managua - wrong day.
@@ -106,13 +106,13 @@ result=Tuesday 2005-04-12 00:00:00 CDT 1
wanted=Tuesday 00:00:00
TZ=Pacific/Pitcairn - wrong day.
-tStamp=Thursday 1970-01-01 17:17:17 -0830 0
-result=Wednesday 1970-01-07 00:00:00 -0830 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Wednesday 1970-01-07 00:00:00 %s
wanted=Wednesday 00:00:00
TZ=Pacific/Fakaofo - wrong day.
-tStamp=Thursday 1970-01-01 17:17:17 -11 0
-result=Saturday 1970-01-03 00:00:00 -11 0
+tStamp=Thursday 1970-01-01 17:17:17 %s
+result=Saturday 1970-01-03 00:00:00 %s
wanted=Saturday 00:00:00
TZ=Pacific/Johnston - wrong day.
diff -up ./ext/date/tests/bug66985.phpt.datetests ./ext/date/tests/bug66985.phpt
--- ./ext/date/tests/bug66985.phpt.datetests 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/date/tests/bug66985.phpt 2020-04-09 14:40:37.099288185 +0200
@@ -3,7 +3,7 @@ Bug #66985 (Some timezones are no longer
--FILE--
<?php
$zones = array(
- "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "Factory", "GB-Eire",
+ "CST6CDT", "Cuba", "Egypt", "Eire", "EST5EDT", "GB-Eire",
"GMT0", "Greenwich", "Hongkong", "Iceland", "Iran", "Israel", "Jamaica",
"Japan", "Kwajalein", "Libya", "MST7MDT", "Navajo", "NZ-CHAT", "Poland",
"Portugal", "PST8PDT", "Singapore", "Turkey", "Universal", "W-SU",
@@ -45,11 +45,6 @@ DateTimeZone Object
)
DateTimeZone Object
(
- [timezone_type] => 3
- [timezone] => Factory
-)
-DateTimeZone Object
-(
[timezone_type] => 3
[timezone] => GB-Eire
)
diff -up ./ext/date/tests/strtotime3-64bit.phpt.datetests ./ext/date/tests/strtotime3-64bit.phpt
--- ./ext/date/tests/strtotime3-64bit.phpt.datetests 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/date/tests/strtotime3-64bit.phpt 2020-04-09 14:40:00.809433489 +0200
@@ -44,7 +44,7 @@ foreach ($strs as $str) {
}
?>
---EXPECT--
+--EXPECTF--
bool(false)
bool(false)
string(31) "Thu, 15 Jun 2006 00:00:00 +0100"
@@ -53,7 +53,7 @@ bool(false)
string(31) "Fri, 16 Jun 2006 23:49:12 +0100"
bool(false)
string(31) "Fri, 16 Jun 2006 02:22:00 +0100"
-string(31) "Sun, 16 Jun 0222 02:22:00 -0036"
+string(31) "Sun, 16 Jun 0222 02:22:00 %s"
string(31) "Fri, 16 Jun 2006 02:22:33 +0100"
bool(false)
string(31) "Tue, 02 Mar 2004 00:00:00 +0000"

View File

@ -1,7 +1,7 @@
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
diff -up ./ext/dba/config.m4.libdb ./ext/dba/config.m4
--- ./ext/dba/config.m4.libdb 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/dba/config.m4 2020-04-09 14:35:08.208605065 +0200
@@ -375,61 +375,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,21 +65,21 @@ diff -up php-7.2.0alpha0/ext/dba/config.m4.libdb php-7.2.0alpha0/ext/dba/config.
fi
PHP_DBA_STD_RESULT(db4,Berkeley DB4)
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"
diff -up ./ext/dba/dba.c.libdb ./ext/dba/dba.c
--- ./ext/dba/dba.c.libdb 2020-04-09 14:06:11.000000000 +0200
+++ ./ext/dba/dba.c 2020-04-09 14:36:30.593275190 +0200
@@ -50,6 +50,10 @@
#include "php_lmdb.h"
#include "dba_arginfo.h"
+#ifdef DB4_INCLUDE_FILE
+#include DB4_INCLUDE_FILE
+#endif
+
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2)
ZEND_ARG_INFO(0, path)
@@ -558,6 +562,10 @@ PHP_MINFO_FUNCTION(dba)
PHP_MINIT_FUNCTION(dba);
PHP_MSHUTDOWN_FUNCTION(dba);
PHP_MINFO_FUNCTION(dba);
@@ -459,6 +463,10 @@ PHP_MINFO_FUNCTION(dba)
php_info_print_table_start();
php_info_print_table_row(2, "DBA support", "enabled");

View File

@ -1,76 +0,0 @@
Drop "Configure Command" from phpinfo as it doesn't
provide any useful information.
The available extensions are not related to this command.
diff -up a/ext/standard/info.c.phpinfo v/ext/standard/info.c
--- a/ext/standard/info.c.phpinfo 2015-08-18 23:39:24.000000000 +0200
+++ b/ext/standard/info.c 2015-08-22 07:56:18.344761928 +0200
@@ -809,9 +809,6 @@ PHPAPI void php_print_info(int flag)
#ifdef ARCHITECTURE
php_info_print_table_row(2, "Architecture", ARCHITECTURE);
#endif
-#ifdef CONFIGURE_COMMAND
- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND );
-#endif
if (sapi_module.pretty_name) {
php_info_print_table_row(2, "Server API", sapi_module.pretty_name );
diff -up a/ext/standard/tests/general_functions/phpinfo.phpt.phpinfo b/ext/standard/tests/general_functions/phpinfo.phpt
--- a/ext/standard/tests/general_functions/phpinfo.phpt.phpinfo 2015-08-18 23:39:22.000000000 +0200
+++ b/ext/standard/tests/general_functions/phpinfo.phpt 2015-08-22 07:56:18.344761928 +0200
@@ -20,7 +20,6 @@ PHP Version => %s
System => %s
Build Date => %s%a
-Configure Command => %s
Server API => Command Line Interface
Virtual Directory Support => %s
Configuration File (php.ini) Path => %s
Backported from 8.0:
From ad0d2e438fddc089917e71e5d8909d145db9da8a Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Fri, 3 Jul 2020 10:08:09 +0200
Subject: [PATCH] display info about system used to build and its provider
---
configure.ac | 5 +++++
ext/standard/info.c | 6 ++++++
2 files changed, 11 insertions(+)
diff --git a/configure.ac b/configure.ac
index d9e6329314a3..77f12a55569a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1328,6 +1328,11 @@ PHP_UNAME=${PHP_UNAME:-$UNAME}
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
PHP_OS=`uname | xargs`
AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
+PHP_BUILD_SYSTEM=${PHP_BUILD_SYSTEM:-$PHP_UNAME}
+AC_DEFINE_UNQUOTED(PHP_BUILD_SYSTEM,"$PHP_BUILD_SYSTEM",[builder uname output])
+if test -n "${PHP_BUILD_PROVIDER}"; then
+ AC_DEFINE_UNQUOTED(PHP_BUILD_PROVIDER,"$PHP_BUILD_PROVIDER",[build provider])
+fi
PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 262e95ae2731..f652efd23657 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -803,6 +803,12 @@ PHPAPI ZEND_COLD void php_print_info(int flag)
php_info_print_table_start();
php_info_print_table_row(2, "System", ZSTR_VAL(php_uname));
php_info_print_table_row(2, "Build Date", __DATE__ " " __TIME__);
+#ifdef PHP_BUILD_SYSTEM
+ php_info_print_table_row(2, "Build System", PHP_BUILD_SYSTEM);
+#endif
+#ifdef PHP_BUILD_PROVIDER
+ php_info_print_table_row(2, "Build Provider", PHP_BUILD_PROVIDER);
+#endif
#ifdef COMPILER
php_info_print_table_row(2, "Compiler", COMPILER);
#endif

View File

@ -1,24 +1,25 @@
--- php-5.6.3/sapi/embed/config.m4.embed
+++ php-5.6.3/sapi/embed/config.m4
@@ -11,7 +11,8 @@ if test "$PHP_EMBED" != "no"; then
case "$PHP_EMBED" in
diff -up ./sapi/embed/config.m4.embed ./sapi/embed/config.m4
--- ./sapi/embed/config.m4.embed 2020-07-07 13:51:05.879764972 +0200
+++ ./sapi/embed/config.m4 2020-07-07 13:52:50.128412148 +0200
@@ -12,7 +12,8 @@ if test "$PHP_EMBED" != "no"; then
yes|shared)
LIBPHP_CFLAGS="-shared"
PHP_EMBED_TYPE=shared
- INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(prefix)/lib"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -release \$(PHP_MAJOR_VERSION).\$(PHP_MINOR_VERSION)"
+ INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(libdir); \$(LIBTOOL) --mode=install \$(INSTALL) -m 0755 \$(OVERALL_TARGET) \$(INSTALL_ROOT)\$(libdir)"
;;
static)
PHP_EMBED_TYPE=static
diff -up php-5.5.30/scripts/php-config.in.old php-5.5.30/scripts/php-config.in
--- php-5.5.30/scripts/php-config.in.old 2015-10-19 15:17:31.944747715 +0200
+++ php-5.5.30/scripts/php-config.in 2015-10-19 15:17:58.278858083 +0200
LIBPHP_CFLAGS="-static"
diff -up ./scripts/php-config.in.embed ./scripts/php-config.in
--- ./scripts/php-config.in.embed 2020-07-07 12:54:42.000000000 +0200
+++ ./scripts/php-config.in 2020-07-07 13:51:05.880764968 +0200
@@ -18,7 +18,7 @@ exe_extension="@EXEEXT@"
php_cli_binary=NONE
php_cgi_binary=NONE
configure_options="@CONFIGURE_OPTIONS@"
-php_sapis="@PHP_INSTALLED_SAPIS@"
+php_sapis="apache2handler fpm phpdbg @PHP_INSTALLED_SAPIS@"
+php_sapis="apache2handler litespeed fpm phpdbg @PHP_INSTALLED_SAPIS@"
ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@"
ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@"

16
php-8.0.0-parser.patch Normal file
View File

@ -0,0 +1,16 @@
diff -up ./build/gen_stub.php.syslib ./build/gen_stub.php
--- ./build/gen_stub.php.syslib 2020-06-25 08:11:51.782046813 +0200
+++ ./build/gen_stub.php 2020-06-25 08:13:11.188860368 +0200
@@ -1075,6 +1075,12 @@ function initPhpParser() {
}
$isInitialized = true;
+
+ if (file_exists('/usr/share/php/PhpParser4/autoload.php')) {
+ require_once '/usr/share/php/PhpParser4/autoload.php';
+ return;
+ }
+
$version = "4.9.0";
$phpParserDir = __DIR__ . "/PHP-Parser-$version";
if (!is_dir($phpParserDir)) {

118
php-8.0.0-phpinfo.patch Normal file
View File

@ -0,0 +1,118 @@
Drop "Configure Command" from phpinfo as it doesn't
provide any useful information.
The available extensions are not related to this command.
Replace full GCC name by gcc in php -v output
Also apply
From 9bf43c45908433d382f0499d529849172d0d8206 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Mon, 28 Dec 2020 08:33:09 +0100
Subject: [PATCH] rename COMPILER and ARCHITECTURE macro (too generic)
---
configure.ac | 4 ++--
ext/standard/info.c | 8 ++++----
sapi/cli/php_cli.c | 8 ++++----
win32/build/confutils.js | 10 +++++-----
4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/configure.ac b/configure.ac
index 9d9c8b155b07..143dc061346b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1289,10 +1289,10 @@ if test -n "${PHP_BUILD_PROVIDER}"; then
AC_DEFINE_UNQUOTED(PHP_BUILD_PROVIDER,"$PHP_BUILD_PROVIDER",[build provider])
fi
if test -n "${PHP_BUILD_COMPILER}"; then
- AC_DEFINE_UNQUOTED(COMPILER,"$PHP_BUILD_COMPILER",[used compiler for build])
+ AC_DEFINE_UNQUOTED(PHP_BUILD_COMPILER,"$PHP_BUILD_COMPILER",[used compiler for build])
fi
if test -n "${PHP_BUILD_ARCH}"; then
- AC_DEFINE_UNQUOTED(ARCHITECTURE,"$PHP_BUILD_ARCH",[build architecture])
+ AC_DEFINE_UNQUOTED(PHP_BUILD_ARCH,"$PHP_BUILD_ARCH",[build architecture])
fi
PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
diff --git a/ext/standard/info.c b/ext/standard/info.c
index 153cb6cde014..8ceef31d9fe4 100644
--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -798,11 +798,11 @@ PHPAPI ZEND_COLD void php_print_info(int flag)
#ifdef PHP_BUILD_PROVIDER
php_info_print_table_row(2, "Build Provider", PHP_BUILD_PROVIDER);
#endif
-#ifdef COMPILER
- php_info_print_table_row(2, "Compiler", COMPILER);
+#ifdef PHP_BUILD_COMPILER
+ php_info_print_table_row(2, "Compiler", PHP_BUILD_COMPILER);
#endif
-#ifdef ARCHITECTURE
- php_info_print_table_row(2, "Architecture", ARCHITECTURE);
+#ifdef PHP_BUILD_ARCH
+ php_info_print_table_row(2, "Architecture", PHP_BUILD_ARCH);
#endif
#ifdef CONFIGURE_COMMAND
php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND );
diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c
index 5092fb0ffd68..9d296acec631 100644
--- a/sapi/cli/php_cli.c
+++ b/sapi/cli/php_cli.c
@@ -640,12 +640,12 @@ static int do_cli(int argc, char **argv) /* {{{ */
#else
"NTS "
#endif
-#ifdef COMPILER
- COMPILER
+#ifdef PHP_BUILD_COMPILER
+ PHP_BUILD_COMPILER
" "
#endif
-#ifdef ARCHITECTURE
- ARCHITECTURE
+#ifdef PHP_BUILD_ARCH
+ PHP_BUILD_ARCH
" "
#endif
#if ZEND_DEBUG
diff -up ./ext/standard/info.c.phpinfo ./ext/standard/info.c
--- ./ext/standard/info.c.phpinfo 2020-07-21 10:49:31.000000000 +0200
+++ ./ext/standard/info.c 2020-07-21 11:41:56.295633523 +0200
@@ -804,9 +804,6 @@ PHPAPI ZEND_COLD void php_print_info(int
#ifdef PHP_BUILD_ARCH
php_info_print_table_row(2, "Architecture", PHP_BUILD_ARCH);
#endif
-#ifdef CONFIGURE_COMMAND
- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND );
-#endif
if (sapi_module.pretty_name) {
php_info_print_table_row(2, "Server API", sapi_module.pretty_name );
diff -up ./ext/standard/tests/general_functions/phpinfo.phpt.phpinfo ./ext/standard/tests/general_functions/phpinfo.phpt
--- ./ext/standard/tests/general_functions/phpinfo.phpt.phpinfo 2020-07-21 10:49:31.000000000 +0200
+++ ./ext/standard/tests/general_functions/phpinfo.phpt 2020-07-21 11:41:56.296633522 +0200
@@ -17,7 +17,6 @@ PHP Version => %s
System => %s
Build Date => %s%a
-Configure Command => %s
Server API => Command Line Interface
Virtual Directory Support => %s
Configuration File (php.ini) Path => %s
diff -up ./sapi/cli/php_cli.c.phpinfo ./sapi/cli/php_cli.c
--- ./sapi/cli/php_cli.c.phpinfo 2020-07-21 11:43:38.812475300 +0200
+++ ./sapi/cli/php_cli.c 2020-07-21 11:43:45.783464540 +0200
@@ -641,8 +641,7 @@ static int do_cli(int argc, char **argv)
"NTS "
#endif
#ifdef PHP_BUILD_COMPILER
- PHP_BUILD_COMPILER
- " "
+ "gcc "
#endif
#ifdef PHP_BUILD_ARCH
PHP_BUILD_ARCH

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:
r19: adapt for timelib 2020.02 (in 8.0.0beta2)
r18: adapt for autotool change in 7.3.3RC1
r17: adapt for timelib 2018.01 (in 7.3.2RC1)
r16: adapt for timelib 2017.06 (in 7.2.3RC1)
@ -29,10 +30,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.3.3RC1/ext/date/config0.m4.systzdata php-7.3.3RC1/ext/date/config0.m4
--- php-7.3.3RC1/ext/date/config0.m4.systzdata 2019-02-19 14:57:51.314601701 +0100
+++ php-7.3.3RC1/ext/date/config0.m4 2019-02-19 14:58:29.050812587 +0100
@@ -9,6 +9,19 @@ io.h
diff -up php-8.0.0beta3/ext/date/config0.m4.systzdata php-8.0.0beta3/ext/date/config0.m4
--- php-8.0.0beta3/ext/date/config0.m4.systzdata 2020-09-01 19:13:26.000000000 +0200
+++ php-8.0.0beta3/ext/date/config0.m4 2020-09-02 08:07:51.039979873 +0200
@@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h])
dnl Check for strtoll, atoll
AC_CHECK_FUNCS(strtoll atoll)
@ -52,10 +53,10 @@ diff -up php-7.3.3RC1/ext/date/config0.m4.systzdata php-7.3.3RC1/ext/date/config
PHP_DATE_CFLAGS="-I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1"
timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c
lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c"
diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/lib/parse_tz.c
--- php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata 2019-02-19 12:18:27.000000000 +0100
+++ php-7.3.3RC1/ext/date/lib/parse_tz.c 2019-02-19 14:57:20.397428931 +0100
@@ -25,8 +25,21 @@
diff -up php-8.0.0beta3/ext/date/lib/parse_tz.c.systzdata php-8.0.0beta3/ext/date/lib/parse_tz.c
--- php-8.0.0beta3/ext/date/lib/parse_tz.c.systzdata 2020-09-01 19:13:26.000000000 +0200
+++ php-8.0.0beta3/ext/date/lib/parse_tz.c 2020-09-02 08:07:51.039979873 +0200
@@ -26,8 +26,21 @@
#include "timelib.h"
#include "timelib_private.h"
@ -77,7 +78,7 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
#if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
# if defined(__LITTLE_ENDIAN__)
@@ -87,6 +100,11 @@ static int read_php_preamble(const unsig
@@ -94,6 +107,11 @@ static int read_php_preamble(const unsig
{
uint32_t version;
@ -89,11 +90,11 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
/* read ID */
version = (*tzf)[3] - '0';
*tzf += 4;
@@ -411,7 +429,429 @@ void timelib_dump_tzinfo(timelib_tzinfo
@@ -418,7 +436,429 @@ void timelib_dump_tzinfo(timelib_tzinfo
}
}
-static int seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb)
-static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb)
+#ifdef HAVE_SYSTEM_TZDATA
+
+#ifdef HAVE_SYSTEM_TZDATA_PREFIX
@ -516,15 +517,15 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
+
+#endif
+
+static int inmem_seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb)
+static int inmem_seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb)
{
int left = 0, right = tzdb->index_size - 1;
@@ -437,9 +877,48 @@ static int seek_to_tz_position(const uns
@@ -444,9 +884,48 @@ static int seek_to_tz_position(const uns
return 0;
}
+static int seek_to_tz_position(const unsigned char **tzf, char *timezone,
+static int seek_to_tz_position(const unsigned char **tzf, const char *timezone,
+ char **map, size_t *maplen,
+ const timelib_tzdb *tzdb)
+{
@ -569,8 +570,8 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
}
const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count)
@@ -451,7 +930,30 @@ const timelib_tzdb_index_entry *timelib_
int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb)
@@ -458,7 +937,30 @@ const timelib_tzdb_index_entry *timelib_
int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb)
{
const unsigned char *tzf;
- return (seek_to_tz_position(&tzf, timezone, tzdb));
@ -601,8 +602,8 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
}
static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
@@ -493,12 +995,14 @@ static timelib_tzinfo* timelib_tzinfo_ct
timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb, int *error_code)
@@ -500,12 +1002,14 @@ static timelib_tzinfo* timelib_tzinfo_ct
timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code)
{
const unsigned char *tzf;
+ char *memmap = NULL;
@ -617,7 +618,7 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li
tmp = timelib_tzinfo_ctor(timezone);
version = read_preamble(&tzf, tmp, &type);
@@ -537,11 +1041,36 @@ timelib_tzinfo *timelib_parse_tzfile(cha
@@ -540,11 +1044,36 @@ timelib_tzinfo *timelib_parse_tzfile(con
}
skip_posix_string(&tzf, tmp);

159
php.spec
View File

@ -7,8 +7,8 @@
#
# API/ABI check
%global apiver 20190902
%global zendver 20190902
%global apiver 20200930
%global zendver 20200930
%global pdover 20170320
# we don't want -z defs linker flag
@ -18,7 +18,7 @@
%global _hardened_build 1
# version used for php embedded library soname
%global embed_version 7.4
%global embed_version 8.0
%global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock)
@ -34,34 +34,35 @@
%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo 0-0)}}
%if 0%{?fedora}
%bcond_with modphp
# Enabled by default on Fedora
%bcond_without zts
%bcond_without firebird
%bcond_with imap
%bcond_without freetds
%bcond_without sodium
%bcond_without pspell
%bcond_without lmdb
%bcond_without tidy
%bcond_without db4
%else
%bcond_without modphp
# Disabled by default on RHEL
%bcond_with zts
%bcond_with firebird
%bcond_with imap
%bcond_with freetds
%bcond_with sodium
%bcond_with pspell
%bcond_without lmdb
%bcond_with tidy
%bcond_with db4
%endif
%bcond_with modphp
%bcond_with imap
%bcond_without lmdb
%global upver 7.4.16
#global rcver RC2
%global upver 8.0.5
#global rcver RC1
Summary: PHP scripting language for creating dynamic web sites
Name: php
Version: %{upver}%{?rcver:~%{rcver}}
Release: 2%{?dist}
Release: 1%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
# TSRM is licensed under BSD
@ -94,18 +95,21 @@ Source53: 20-ffi.ini
# Build fixes
Patch1: php-7.4.0-httpd.patch
Patch5: php-7.2.0-includedir.patch
Patch6: php-7.4.0-embed.patch
Patch8: php-7.2.0-libdb.patch
Patch6: php-8.0.0-embed.patch
Patch8: php-7.4.0-libdb.patch
# Functional changes
Patch42: php-7.3.3-systzdata-v18.patch
# Use system nikic/php-parser
Patch41: php-8.0.0-parser.patch
# use system tzdata
Patch42: php-8.0.0-systzdata-v19.patch
# See http://bugs.php.net/53436
Patch43: php-7.4.0-phpize.patch
# Use -lldap_r for OpenLDAP
Patch45: php-7.4.0-ldap_r.patch
# drop "Configure command" from phpinfo output
# and add build system and provider (from 8.0)
Patch47: php-7.4.8-phpinfo.patch
# and only use gcc (instead of full version)
Patch47: php-8.0.0-phpinfo.patch
# Upstream fixes (100+)
@ -113,12 +117,12 @@ Patch47: php-7.4.8-phpinfo.patch
# Fixes for tests (300+)
# Factory is droped from system tzdata
Patch300: php-5.6.3-datetests.patch
Patch300: php-7.4.0-datetests.patch
BuildRequires: gnupg2
BuildRequires: bzip2-devel
BuildRequires: pkgconfig(libcurl) >= 7.15.5
BuildRequires: pkgconfig(libcurl) >= 7.29.0
BuildRequires: httpd-devel >= 2.0.46-1
BuildRequires: pam-devel
# to ensure we are using httpd with filesystem feature (see #1081453)
@ -173,7 +177,6 @@ Recommends: php-cli%{?_isa} = %{version}-%{release}
Recommends: php-fpm%{?_isa} = %{version}-%{release}
# as "php" is now mostly a meta-package, commonly used extensions
# reduce diff with "dnf module install php"
Recommends: php-json%{?_isa} = %{version}-%{release}
Recommends: php-mbstring%{?_isa} = %{version}-%{release}
Recommends: php-opcache%{?_isa} = %{version}-%{release}
Recommends: php-pdo%{?_isa} = %{version}-%{release}
@ -267,6 +270,8 @@ Provides: php-gettext, php-gettext%{?_isa}
Provides: php-hash, php-hash%{?_isa}
Provides: php-mhash = %{version}, php-mhash%{?_isa} = %{version}
Provides: php-iconv, php-iconv%{?_isa}
Obsoletes: php-json < 8
Provides: php-json = %{version}, php-json%{?_isa} = %{version}
Provides: php-libxml, php-libxml%{?_isa}
Provides: php-openssl, php-openssl%{?_isa}
Provides: php-phar, php-phar%{?_isa}
@ -299,12 +304,12 @@ Requires: libxml2-devel%{?_isa}
Requires: openssl-devel%{?_isa} >= 1.0.1
Requires: pcre2-devel%{?_isa}
Requires: zlib-devel%{?_isa}
Obsoletes: php-pecl-json-devel < %{version}
Obsoletes: php-pecl-jsonc-devel < %{version}
%if %{with zts}
Provides: php-zts-devel = %{version}-%{release}
Provides: php-zts-devel%{?_isa} = %{version}-%{release}
%endif
Recommends: php-nikic-php-parser4 >= 4.3.0
%description devel
The php-devel package contains the files needed for building PHP
@ -509,22 +514,6 @@ The php-xml package contains dynamic shared objects which add support
to PHP for manipulating XML documents using the DOM tree,
and performing XSL transformations on XML documents.
%package xmlrpc
Summary: A module for PHP applications which use the XML-RPC protocol
# All files licensed under PHP version 3.01, except
# libXMLRPC is licensed under BSD
License: PHP and BSD
Requires: php-xml%{?_isa} = %{version}-%{release}
# Dropped from PHP 8
Provides: deprecated()
%description xmlrpc
The php-xmlrpc package contains a dynamic shared object that will add
support for the XML-RPC protocol to PHP.
This extension is deprecated and will be removed in PHP 8.
%package mbstring
Summary: A module for PHP applications which need multi-byte string handling
# All files licensed under PHP version 3.01, except
@ -576,7 +565,9 @@ using the GNU MP library.
Summary: A database abstraction layer module for PHP applications
# All files licensed under PHP version 3.01
License: PHP
%if %{with db4}
BuildRequires: libdb-devel
%endif
BuildRequires: tokyocabinet-devel
%if %{with lmdb}
BuildRequires: lmdb-devel
@ -657,28 +648,12 @@ Summary: Enchant spelling extension for PHP applications
# All files licensed under PHP version 3.0
License: PHP
Requires: php-common%{?_isa} = %{version}-%{release}
BuildRequires: pkgconfig(enchant)
BuildRequires: pkgconfig(enchant-2)
%description enchant
The php-enchant package contains a dynamic shared object that will add
support for using the enchant library to PHP.
%package json
Summary: JavaScript Object Notation extension for PHP
# All files licensed under PHP version 3.0.1
License: PHP
Requires: php-common%{?_isa} = %{version}-%{release}
Obsoletes: php-pecl-json < %{version}
Obsoletes: php-pecl-jsonc < %{version}
Provides: php-pecl(json) = %{version}
Provides: php-pecl(json)%{?_isa} = %{version}
Provides: php-pecl-json = %{version}
Provides: php-pecl-json%{?_isa} = %{version}
%description json
The php-json package provides an extension that will add
support for JavaScript Object Notation (JSON) to PHP.
%if %{with sodium}
%package sodium
Summary: Wrapper for the Sodium cryptographic library
@ -834,6 +809,8 @@ export PHP_BUILD_SYSTEM=$(cat /etc/redhat-release | sed -e 's/ Beta//')
%if 0%{?vendor:1}
export PHP_BUILD_PROVIDER="%{vendor}"
%endif
export PHP_BUILD_COMPILER="$(gcc --version | head -n1)"
export PHP_BUILD_ARCH="%{_arch}"
# Force use of system libtool:
libtoolize --force --copy
@ -925,7 +902,10 @@ build --libdir=%{_libdir}/php \
--enable-bcmath=shared \
--with-bz2=shared \
--enable-ctype=shared \
--enable-dba=shared --with-db4=%{_prefix} \
--enable-dba=shared \
%if %{with db4}
--with-db4=%{_prefix} \
%endif
--with-tcadb=%{_prefix} \
%if %{with lmdb}
--with-lmdb=%{_prefix} \
@ -936,7 +916,6 @@ build --libdir=%{_libdir}/php \
--with-iconv=shared \
--enable-sockets=shared \
--enable-tokenizer=shared \
--with-xmlrpc=shared \
--with-ldap=shared --with-ldap-sasl \
--enable-mysqlnd=shared \
--with-mysqli=shared,mysqlnd \
@ -962,7 +941,6 @@ build --libdir=%{_libdir}/php \
--with-pdo-dblib=shared,%{_prefix} \
%endif
--with-sqlite3=shared \
--enable-json=shared \
--without-readline \
--with-libedit \
%if %{with pspell}
@ -991,7 +969,6 @@ without_shared="--without-gd \
--disable-dom --disable-dba --without-unixODBC \
--disable-opcache \
--disable-phpdbg \
--disable-json \
--without-ffi \
--disable-xmlreader --disable-xmlwriter \
--without-sodium \
@ -1040,7 +1017,7 @@ pushd build-ztscli
EXTENSION_DIR=%{_libdir}/php-zts/modules
build --includedir=%{_includedir}/php-zts \
--libdir=%{_libdir}/php-zts \
--enable-maintainer-zts \
--enable-zts \
--program-prefix=zts- \
--disable-cgi \
--with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \
@ -1058,7 +1035,10 @@ build --includedir=%{_includedir}/php-zts \
--enable-bcmath=shared \
--with-bz2=shared \
--enable-ctype=shared \
--enable-dba=shared --with-db4=%{_prefix} \
--enable-dba=shared \
%if %{with db4}
--with-db4=%{_prefix} \
%endif
--with-tcadb=%{_prefix} \
%if %{with lmdb}
--with-lmdb=%{_prefix} \
@ -1069,7 +1049,6 @@ build --includedir=%{_includedir}/php-zts \
--enable-tokenizer=shared \
--enable-exif=shared \
--enable-ftp=shared \
--with-xmlrpc=shared \
--with-ldap=shared --with-ldap-sasl \
--enable-mysqlnd=shared \
--with-mysqli=shared,mysqlnd \
@ -1096,7 +1075,6 @@ build --includedir=%{_includedir}/php-zts \
--with-pdo-dblib=shared,%{_prefix} \
%endif
--with-sqlite3=shared \
--enable-json=shared \
--without-readline \
--with-libedit \
%if %{with pspell}
@ -1127,6 +1105,12 @@ popd
%check
: Ensure proper NTS/ZTS build
$RPM_BUILD_ROOT%{_bindir}/php -n -v | grep NTS
%if %{with zts}
$RPM_BUILD_ROOT%{_bindir}/zts-php -n -v | grep ZTS
%endif
%if %runselftest
cd build-fpm
@ -1183,13 +1167,13 @@ install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php/preload
%if %{with modphp}
# install the DSO
install -m 755 -d $RPM_BUILD_ROOT%{_httpd_moddir}
install -m 755 build-apache/libs/libphp7.so $RPM_BUILD_ROOT%{_httpd_moddir}
install -m 755 build-apache/libs/libphp.so $RPM_BUILD_ROOT%{_httpd_moddir}
%endif
# Apache config fragment
# Dual config file with httpd >= 2.4 (fedora >= 18)
%if %{with modphp}
install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/15-php.conf
install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/20-php.conf
%endif
install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf
@ -1242,7 +1226,6 @@ for mod in pgsql odbc ldap snmp \
%if %{with imap}
imap \
%endif
json \
mysqlnd mysqli \
mbstring gd dom xsl soap bcmath dba \
simplexml bz2 calendar ctype exif ftp gettext gmp iconv \
@ -1268,14 +1251,14 @@ for mod in pgsql odbc ldap snmp \
%if %{with freetds}
pdo_dblib \
%endif
xmlrpc xmlreader xmlwriter
xmlreader xmlwriter
do
case $mod in
opcache)
# Zend extensions
TESTCMD="$TESTCMD --define zend_extension=$mod"
ini=10-${mod}.ini;;
pdo_*|mysqli|xmlreader|xmlrpc)
pdo_*|mysqli|xmlreader)
# Extensions with dependencies on 20-*
TESTCMD="$TESTCMD --define extension=$mod"
ini=30-${mod}.ini;;
@ -1369,8 +1352,8 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \
$RPM_BUILD_ROOT%{_datadir}/pear \
$RPM_BUILD_ROOT%{_bindir}/zts-phar* \
$RPM_BUILD_ROOT%{_mandir}/man1/zts-phar* \
$RPM_BUILD_ROOT%{_libdir}/libphp7.a \
$RPM_BUILD_ROOT%{_libdir}/libphp7.la
$RPM_BUILD_ROOT%{_libdir}/libphp.a \
$RPM_BUILD_ROOT%{_libdir}/libphp.la
# Remove irrelevant docs
rm -f README.{Zeus,QNX,CVS-RULES}
@ -1389,8 +1372,8 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%files
%if %{with modphp}
%{_httpd_moddir}/libphp7.so
%config(noreplace) %{_httpd_modconfdir}/15-php.conf
%{_httpd_moddir}/libphp.so
%config(noreplace) %{_httpd_modconfdir}/20-php.conf
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/session
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/wsdlcache
%attr(0770,root,apache) %dir %{_sharedstatedir}/php/opcache
@ -1437,7 +1420,7 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%{_mandir}/man1/phpize.1*
%files dbg
%doc sapi/phpdbg/{README.md,CREDITS}
%doc sapi/phpdbg/CREDITS
%{_bindir}/phpdbg
%{_mandir}/man1/phpdbg.1*
%if %{with zts}
@ -1486,8 +1469,8 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%{_rpmmacrodir}/macros.php
%files embedded
%{_libdir}/libphp7.so
%{_libdir}/libphp7-%{embed_version}.so
%{_libdir}/libphp.so
%{_libdir}/libphp-%{embed_version}.so
%files pgsql -f files.pgsql
%files odbc -f files.odbc
@ -1497,7 +1480,6 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%files ldap -f files.ldap
%files snmp -f files.snmp
%files xml -f files.xml
%files xmlrpc -f files.xmlrpc
%files mbstring -f files.mbstring
%license libmbfl_LICENSE
%files gd -f files.gd
@ -1528,7 +1510,6 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%if %{with zts}
%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist
%endif
%files json -f files.json
%if %{with sodium}
%files sodium -f files.sodium
%endif
@ -1537,8 +1518,28 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || :
%changelog
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 7.4.16-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Apr 27 2021 Remi Collet <remi@remirepo.net> - 8.0.5-1
- Update to 8.0.5 - http://www.php.net/releases/8_0_5.php
* Tue Apr 13 2021 Remi Collet <remi@remirepo.net> - 8.0.5~RC1-1
- update to 8.0.5RC1
* Fri Mar 19 2021 Remi Collet <remi@remirepo.net> - 8.0.4~RC1-2
- make libdb usage conditional
default: on for Fedora, off for RHEL
* Tue Mar 16 2021 Remi Collet <remi@remirepo.net> - 8.0.4~RC1-1
- update to 8.0.4RC1
* Mon Mar 15 2021 Remi Collet <remi@remirepo.net> - 8.0.3-2
- clean conditions
* Thu Mar 4 2021 Remi Collet <remi@remirepo.net> - 8.0.3-1
- Update to 8.0.3 - http://www.php.net/releases/8_0_3.php
- see https://fedoraproject.org/wiki/Changes/php80
- drop xmlrpc extension
- drop json subpackage, extension always there
- enchant: use libenchant-2 instead of libenchant
* Tue Mar 2 2021 Remi Collet <remi@remirepo.net> - 7.4.16-1
- Update to 7.4.16 - http://www.php.net/releases/7_4_16.php

View File

@ -1,2 +1,2 @@
SHA512 (php-7.4.16.tar.xz) = a7845fe0a7c334829bfa9518d3f2947036e1b03c8f4346622f9ab37563ff3af03f6559878b83aa0e6ad69e9919b6478345a0cc6ec59161ef36c64a5073e83f84
SHA512 (php-7.4.16.tar.xz.asc) = d988fa475e7590fc25e893f523e2879eb6a2d8e5ec076c1e4eb501153aaef2dc6fc2ee55345b49ec52b7ca25db65598002d848b7154032a46f56cd150734043f
SHA512 (php-8.0.5.tar.xz) = f128e1aa37dd808ec1626b6eb5ab7cc76575772ad86f1f640114186a10ffb79bdb07f0b30267ce316c7a54fc6397fa8a41e3476fee52cbe6a7b900eb5c6b83a0
SHA512 (php-8.0.5.tar.xz.asc) = c3927b903e695f016497d5b75b6aceeb42a88871602dd0659529b4f3a57dacd9a44d845b978e7313717a735d078759fcaf83c6554a26a4fb143096db8b127292