summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2025-06-30 16:40:02 +0200
committerRemi Collet <remi@php.net>2025-06-30 16:40:02 +0200
commit2b7a376e42cfefdf66acb02820f89842415437f5 (patch)
treeb3bf4fb2347f549d94fde1cbbac5ac056a9109b1
parent2f2ddd824281a132faac9a1023bbbb03210b0661 (diff)
update to 8.5.0-dev
dump ABI/API to 20240925 add lexbor and uri extension (always static) move /usr/share/fpm/status.html to /usr/share/php/fpm/status.html
-rw-r--r--failed.txt6
-rw-r--r--php-8.4.0-ldap_r.patch19
-rw-r--r--php-8.5.0-embed.patch (renamed from php-8.4.6-embed.patch)13
-rw-r--r--php-8.5.0-ldap_r.patch19
-rw-r--r--php-8.5.0-openssl-ec-param.patch (renamed from php-8.3.0-openssl-ec-param.patch)30
-rw-r--r--php-8.5.0-parser.patch (renamed from php-8.3.3-parser.patch)8
-rw-r--r--php-8.5.0-systzdata-v24.patch (renamed from php-8.4.0-systzdata-v24.patch)22
-rw-r--r--php.spec46
8 files changed, 71 insertions, 92 deletions
diff --git a/failed.txt b/failed.txt
index 27072c5..b1c820b 100644
--- a/failed.txt
+++ b/failed.txt
@@ -1,4 +1,4 @@
-===== 8.4.9RC1 (2025-06-19)
+===== 8.5.0DEV (2025-06-30)
$ grep -ar 'Tests failed' /var/lib/mock/*/build.log
@@ -8,14 +8,14 @@ $ grep -ar 'Tests failed' /var/lib/mock/*/build.log
/var/lib/mock/scl83el9x/build.log:Tests failed : 0
/var/lib/mock/scl83el10a/build.log:Tests failed : 0
/var/lib/mock/scl83el10x/build.log:Tests failed : 0
-/var/lib/mock/scl83fc40a/build.log:Tests failed : 0
-/var/lib/mock/scl83fc40x/build.log:Tests failed : 0
/var/lib/mock/scl83fc41a/build.log:Tests failed : 0
/var/lib/mock/scl83fc41x/build.log:Tests failed : 0
/var/lib/mock/scl83fc42a/build.log:Tests failed : 0
/var/lib/mock/scl83fc42x/build.log:Tests failed : 0
+all:
+ 2 FPM: UNIX socket filename is too for start [sapi/fpm/tests/socket-uds-too-long-filename-start.phpt]
(1) proc_open give erratic test results :(
diff --git a/php-8.4.0-ldap_r.patch b/php-8.4.0-ldap_r.patch
deleted file mode 100644
index a574751..0000000
--- a/php-8.4.0-ldap_r.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-
-Use -lldap_r by default.
-
-diff -up php-8.4.0beta1/ext/ldap/config.m4.ldap_r php-8.4.0beta1/ext/ldap/config.m4
---- php-8.4.0beta1/ext/ldap/config.m4.ldap_r 2024-08-13 15:48:12.000000000 +0200
-+++ php-8.4.0beta1/ext/ldap/config.m4 2024-08-13 16:23:24.744311776 +0200
-@@ -72,7 +72,11 @@ if test "$PHP_LDAP" != "no"; then
- AH_TEMPLATE([HAVE_ORALDAP],
- [Define to 1 if the ldap extension uses the Oracle Instant Client.])
-
-- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then
-+ if test -f $LDAP_LIBDIR/libldap_r.$SHLIB_SUFFIX_NAME; then
-+ PHP_ADD_LIBRARY_WITH_PATH(lber, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
-+ PHP_ADD_LIBRARY_WITH_PATH(ldap_r, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
-+
-+ elif test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then
- PHP_ADD_LIBRARY_WITH_PATH([lber], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
- PHP_ADD_LIBRARY_WITH_PATH([ldap], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
-
diff --git a/php-8.4.6-embed.patch b/php-8.5.0-embed.patch
index 829a535..8df4a81 100644
--- a/php-8.4.6-embed.patch
+++ b/php-8.5.0-embed.patch
@@ -28,16 +28,3 @@ diff -up ./scripts/php-config.in.embed ./scripts/php-config.in
ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@"
ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@"
php_embed_type="@PHP_EMBED_TYPE@"
-diff --git a/configure.ac b/configure.ac
-index 6dc1e45b34f..895c5153a2d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1306,7 +1306,7 @@ AS_VAR_IF([program_suffix], [NONE], [program_suffix=])
-
- orig_libdir=$libdir
- AS_CASE([$libdir],
-- ['${exec_prefix}/lib'], [libdir=$libdir/php])
-+ [${prefix}/${PHP_LIBDIR}], [libdir=$libdir/php])
-
- AS_CASE([$(eval echo $datadir)],
- ['${prefix}/share'], [datadir=$datadir/php])
diff --git a/php-8.5.0-ldap_r.patch b/php-8.5.0-ldap_r.patch
new file mode 100644
index 0000000..9a9887e
--- /dev/null
+++ b/php-8.5.0-ldap_r.patch
@@ -0,0 +1,19 @@
+
+Use -lldap_r by default.
+
+diff -up ./ext/ldap/config.m4.ldap_r ./ext/ldap/config.m4
+--- ./ext/ldap/config.m4.ldap_r 2025-06-30 15:52:59.464676379 +0200
++++ ./ext/ldap/config.m4 2025-06-30 15:53:57.499266397 +0200
+@@ -76,7 +76,11 @@ if test "$PHP_LDAP" != "no"; then
+ AH_TEMPLATE([HAVE_ORALDAP],
+ [Define to 1 if the ldap extension uses the Oracle Instant Client.])
+
+- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then
++ if test -f $LDAP_LIBDIR/libldap_r.$SHLIB_SUFFIX_NAME; then
++ PHP_ADD_LIBRARY_WITH_PATH(lber, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
++ PHP_ADD_LIBRARY_WITH_PATH(ldap_r, [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
++
++ elif test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then
+ PHP_ADD_LIBRARY_WITH_PATH([lber], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
+ PHP_ADD_LIBRARY_WITH_PATH([ldap], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
+
diff --git a/php-8.3.0-openssl-ec-param.patch b/php-8.5.0-openssl-ec-param.patch
index 94e4037..223d34e 100644
--- a/php-8.3.0-openssl-ec-param.patch
+++ b/php-8.5.0-openssl-ec-param.patch
@@ -1,19 +1,7 @@
-From 21f9d16e130b412b6839494dcf30a2f1d7dcee0f Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Mon, 24 Jul 2023 10:54:49 +0200
-Subject: [PATCH] Always warn about missing curve_name
-
-Both Fedora and RHEL do not support arbitrary EC parameters
-See https://bugzilla.redhat.com/2223953
----
- ext/openssl/openssl.c | 13 ++-----------
- 1 file changed, 2 insertions(+), 11 deletions(-)
-
-diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
-index 33f51bfa4d..340b0467d3 100644
---- a/ext/openssl/openssl.c
-+++ b/ext/openssl/openssl.c
-@@ -4299,13 +4299,8 @@ static bool php_openssl_pkey_init_legacy_ec(EC_KEY *eckey, zval *data, bool *is_
+diff -up ./ext/openssl/openssl_backend_v1.c.ec-param ./ext/openssl/openssl_backend_v1.c
+--- ./ext/openssl/openssl_backend_v1.c.ec-param 2025-06-30 15:57:32.345876147 +0200
++++ ./ext/openssl/openssl_backend_v1.c 2025-06-30 15:59:43.380395611 +0200
+@@ -256,13 +256,8 @@ static bool php_openssl_pkey_init_ec_dat
OPENSSL_PKEY_SET_BN(data, b);
OPENSSL_PKEY_SET_BN(data, order);
@@ -28,11 +16,14 @@ index 33f51bfa4d..340b0467d3 100644
goto clean_exit;
}
-@@ -4455,12 +4450,8 @@ static EVP_PKEY *php_openssl_pkey_init_ec(zval *data, bool *is_private) {
+diff -up ./ext/openssl/openssl_backend_v3.c.ec-param ./ext/openssl/openssl_backend_v3.c
+--- ./ext/openssl/openssl_backend_v3.c.ec-param 2025-06-30 15:57:38.753560492 +0200
++++ ./ext/openssl/openssl_backend_v3.c 2025-06-30 16:01:02.221616267 +0200
+@@ -312,12 +312,8 @@ EVP_PKEY *php_openssl_pkey_init_ec(zval
OPENSSL_PKEY_SET_BN(data, b);
OPENSSL_PKEY_SET_BN(data, order);
-+ php_error_docref(NULL, E_WARNING, "Missing params: curve_name");
++ php_error_docref(NULL, E_WARNING, "Missing params: curve_name (params only is not supported by OpenSSL)");
if (!(p && a && b && order)) {
- if (!p && !a && !b && !order) {
- php_error_docref(NULL, E_WARNING, "Missing params: curve_name");
@@ -42,6 +33,3 @@ index 33f51bfa4d..340b0467d3 100644
goto cleanup;
}
---
-2.41.0
-
diff --git a/php-8.3.3-parser.patch b/php-8.5.0-parser.patch
index 49f7d5e..ed4ba27 100644
--- a/php-8.3.3-parser.patch
+++ b/php-8.5.0-parser.patch
@@ -1,7 +1,7 @@
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
-@@ -3265,6 +3265,12 @@ function initPhpParser() {
+--- ./build/gen_stub.php.syslib 2025-06-30 12:31:27.000000000 +0200
++++ ./build/gen_stub.php 2025-06-30 15:49:00.751144274 +0200
+@@ -6082,6 +6082,12 @@ function initPhpParser() {
}
$isInitialized = true;
@@ -11,6 +11,6 @@ diff -up ./build/gen_stub.php.syslib ./build/gen_stub.php
+ return;
+ }
+
- $version = "5.0.0";
+ $version = "5.5.0";
$phpParserDir = __DIR__ . "/PHP-Parser-$version";
if (!is_dir($phpParserDir)) {
diff --git a/php-8.4.0-systzdata-v24.patch b/php-8.5.0-systzdata-v24.patch
index 6176a8b..d8d54ce 100644
--- a/php-8.4.0-systzdata-v24.patch
+++ b/php-8.5.0-systzdata-v24.patch
@@ -37,9 +37,9 @@ r1: initial revision
diff -up ./ext/date/config0.m4.systzdata ./ext/date/config0.m4
---- ./ext/date/config0.m4.systzdata 2024-07-03 16:21:20.240786848 +0200
-+++ ./ext/date/config0.m4 2024-07-03 16:25:14.838995464 +0200
-@@ -8,6 +8,18 @@
+--- ./ext/date/config0.m4.systzdata 2025-06-30 15:46:30.352141304 +0200
++++ ./ext/date/config0.m4 2025-06-30 15:47:33.855594597 +0200
+@@ -8,6 +8,18 @@ AX_CHECK_COMPILE_FLAG([-Wno-implicit-fal
[PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -Wno-implicit-fallthrough"],,
[-Werror])
@@ -55,12 +55,12 @@ diff -up ./ext/date/config0.m4.systzdata ./ext/date/config0.m4
+ fi
+fi
+
- PHP_DATE_CFLAGS="$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/parse_posix.c
- lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c"
+ PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -DHAVE_TIMELIB_CONFIG_H=1"
+ PHP_TIMELIB_CFLAGS="$PHP_DATE_CFLAGS"
+ PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c
---- ./ext/date/lib/parse_tz.c.systzdata 2024-07-02 15:43:13.000000000 +0200
-+++ ./ext/date/lib/parse_tz.c 2024-07-03 16:21:20.240786848 +0200
+--- ./ext/date/lib/parse_tz.c.systzdata 2025-06-30 12:31:27.000000000 +0200
++++ ./ext/date/lib/parse_tz.c 2025-06-30 15:46:30.352327539 +0200
@@ -26,9 +26,33 @@
#include "timelib.h"
#include "timelib_private.h"
@@ -726,9 +726,9 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c
*error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE;
tmp = NULL;
diff -up ./ext/date/php_date.c.systzdata ./ext/date/php_date.c
---- ./ext/date/php_date.c.systzdata 2024-07-02 15:43:13.000000000 +0200
-+++ ./ext/date/php_date.c 2024-07-03 16:21:20.240786848 +0200
-@@ -487,7 +487,11 @@ PHP_MINFO_FUNCTION(date)
+--- ./ext/date/php_date.c.systzdata 2025-06-30 12:31:27.000000000 +0200
++++ ./ext/date/php_date.c 2025-06-30 15:46:30.352655217 +0200
+@@ -491,7 +491,11 @@ PHP_MINFO_FUNCTION(date)
php_info_print_table_row(2, "date/time support", "enabled");
php_info_print_table_row(2, "timelib version", TIMELIB_ASCII_VERSION);
php_info_print_table_row(2, "\"Olson\" Timezone Database Version", tzdb->version);
diff --git a/php.spec b/php.spec
index 7edc381..8be66fb 100644
--- a/php.spec
+++ b/php.spec
@@ -23,15 +23,15 @@
%endif
# API/ABI check
-%global apiver 20240924
-%global zendver 20240924
+%global apiver 20240925
+%global zendver 20240925
%global pdover 20240423
# Adds -z now to the linker flags
%global _hardened_build 1
# version used for php embedded library soname
-%global embed_version 8.4
+%global embed_version 8.5
# Ugly hack. Harcoded values to avoid relocation.
%global _httpd_mmn %(cat %{_root_includedir}/httpd/.mmn 2>/dev/null || echo 0)
@@ -88,18 +88,19 @@
%bcond_with openssl32
%endif
-%global gh_commit 9ce6980b4d93d539341807087abef9217cb81351
+%global gh_commit c9249e2d3aa401bda5d9a3071e86e0594807ed00
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
-#global gh_date 20230605
+%global gh_date 20250630
%global gh_owner php
%global gh_project php-src
-%global upver 8.4.9
-%global rcver RC1
+%global upver 8.5.0
+%global rcver -dev
+%global lowrc DEV
# TODO set PHP_EXTRA_VERSION for EOL version
Summary: PHP scripting language for creating dynamic web sites
Name: %{?scl_prefix}php
-Version: %{upver}%{?rcver:~%{rcver}}%{?gh_date:.%{gh_date}}
+Version: %{upver}%{?lowrc:~%{lowrc}}%{?gh_date:.%{gh_date}}
Release: 1%{?dist}
# All files licensed under PHP version 3.01, except
# Zend is licensed under Zend
@@ -136,19 +137,19 @@ Source53: 20-ffi.ini
# Build fixes
Patch1: php-8.4.0-httpd.patch
Patch5: php-8.4.0-includedir.patch
-Patch6: php-8.4.6-embed.patch
+Patch6: php-8.5.0-embed.patch
Patch8: php-8.4.0-libdb.patch
# Functional changes
# Use system nikic/php-parser
-Patch41: php-8.3.3-parser.patch
+Patch41: php-8.5.0-parser.patch
# use system tzdata
-Patch43: php-8.4.0-systzdata-v24.patch
+Patch43: php-8.5.0-systzdata-v24.patch
# See http://bugs.php.net/53436
# + display PHP version backported from 8.4
Patch44: php-8.4.0-phpize.patch
# Use -lldap_r for OpenLDAP
-Patch45: php-8.4.0-ldap_r.patch
+Patch45: php-8.5.0-ldap_r.patch
# Ignore unsupported "threads" option on password_hash
Patch46: php-8.0.7-argon2.patch
# drop "Configure command" from phpinfo output
@@ -156,7 +157,7 @@ Patch46: php-8.0.7-argon2.patch
Patch47: php-8.4.0-phpinfo.patch
# Always warn about missing curve_name
# Both Fedora and RHEL do not support arbitrary EC parameters
-Patch48: php-8.3.0-openssl-ec-param.patch
+Patch48: php-8.5.0-openssl-ec-param.patch
# RC Patch
@@ -359,6 +360,7 @@ Provides: %{?scl_prefix}php-filter, %{?scl_prefix}php-filter%{?_isa}
Provides: %{?scl_prefix}php-ftp, %{?scl_prefix}php-ftp%{?_isa}
Provides: %{?scl_prefix}php-gettext, %{?scl_prefix}php-gettext%{?_isa}
Provides: %{?scl_prefix}php-hash, %{?scl_prefix}php-hash%{?_isa}
+Provides: %{?scl_prefix}php-lexbor, %{?scl_prefix}php-lexbor%{?_isa}
Provides: %{?scl_prefix}php-mhash = %{version}, %{?scl_prefix}php-mhash%{?_isa} = %{version}
Provides: %{?scl_prefix}php-iconv, %{?scl_prefix}php-iconv%{?_isa}
Obsoletes: %{?scl_prefix}php-json < 8.0.0
@@ -374,6 +376,7 @@ Provides: %{?scl_prefix}php-sockets, %{?scl_prefix}php-sockets%{?_isa}
Provides: %{?scl_prefix}php-spl, %{?scl_prefix}php-spl%{?_isa}
Provides: %{?scl_prefix}php-standard = %{version}, %{?scl_prefix}php-standard%{?_isa} = %{version}
Provides: %{?scl_prefix}php-tokenizer, %{?scl_prefix}php-tokenizer%{?_isa}
+Provides: %{?scl_prefix}php-uri, %{?scl_prefix}php-uri%{?_isa}
Provides: %{?scl_prefix}php-zlib, %{?scl_prefix}php-zlib%{?_isa}
%{?scl:Requires: %{scl}-runtime}
@@ -399,7 +402,7 @@ Requires: openssl-devel%{?_isa} >= 1.0.2
Requires: pcre2-devel%{?_isa} >= 10.30
%endif
Requires: zlib-devel%{?_isa}
-Recommends: php-nikic-php-parser5 >= 5.0.0
+Recommends: php-nikic-php-parser5 >= 5.5.0
%description devel
The %{?scl_prefix}php-devel package contains the files needed for building PHP
@@ -905,13 +908,8 @@ rm ext/date/tests/bug73837.phpt
rm ext/sockets/tests/mcast_ipv?_recv.phpt
# Should be skipped but fails sometime
rm ext/standard/tests/file/file_get_contents_error001.phpt
-# cause stack exhausion
-rm Zend/tests/bug54268.phpt
-rm Zend/tests/bug68412.phpt
# slow and erratic result
rm sapi/cli/tests/upload_2G.phpt
-# tar issue
-rm ext/zlib/tests/004-mb.phpt
# Both Fedora and RHEL do not support arbitrary EC parameters
# https://bugzilla.redhat.com/2223953
rm ext/openssl/tests/ecc_custom_params.phpt
@@ -1592,8 +1590,8 @@ fi
%attr(770,apache,root) %dir %{_localstatedir}/log/php-fpm
%dir %{_localstatedir}/run/php-fpm
%{_mandir}/man8/php-fpm.8*
-%dir %{_datadir}/fpm
-%{_datadir}/fpm/status.html
+%dir %{_datadir}/php/fpm
+%{_datadir}/php/fpm/status.html
%if %{with lsws}
%files litespeed
@@ -1654,6 +1652,12 @@ fi
%changelog
+* Mon Jun 30 2025 Remi Collet <remi@remirepo.net> - 8.5.0~DEV.20240630-1
+- update to 8.5.0-dev
+- dump ABI/API to 20240925
+- add lexbor and uri extension (always static)
+- move /usr/share/fpm/status.html to /usr/share/php/fpm/status.html
+
* Wed Jun 18 2025 Remi Collet <remi@remirepo.net> - 8.4.9~RC1-1
- Update to 8.4.9RC1