diff --git a/php-8.3.28.tar.xz b/php-8.3.29.tar.xz similarity index 32% rename from php-8.3.28.tar.xz rename to php-8.3.29.tar.xz index bf2f0ac5fbb39251aa98b6ffed48b6898df22849..f855f590b660915edb3c65cbee53b01b29085d27 100644 --- a/php-8.3.28.tar.xz +++ b/php-8.3.29.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25e3860f30198a386242891c0bf9e2955931f7b666b96c3e3103d36a2a322326 -size 12604244 +oid sha256:f7950ca034b15a78f5de9f1b22f4d9bad1dd497114d175cb1672a4ca78077af5 +size 12601944 diff --git a/php-bug20528.patch b/php-bug20528.patch deleted file mode 100644 index f8a790a48acd583e6b672d653e0072402cf45bd3..0000000000000000000000000000000000000000 --- a/php-bug20528.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 9d71c1e0b60cd152a47528dbe514efc443fce920 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 20 Nov 2025 02:58:45 +0100 -Subject: [PATCH] Fix GH-20528: Regression breaks mysql connexion using an IPv6 - address enclosed in square brackets - ---- - ext/mysqli/tests/mysqli_connect_port.phpt | 31 +++++++++++++++++++++++ - ext/mysqlnd/mysqlnd_connection.c | 17 ++++++++++--- - 2 files changed, 45 insertions(+), 3 deletions(-) - create mode 100644 ext/mysqli/tests/mysqli_connect_port.phpt - -diff --git a/ext/mysqli/tests/mysqli_connect_port.phpt b/ext/mysqli/tests/mysqli_connect_port.phpt -new file mode 100644 -index 0000000000000..cb7fd1d8d1628 ---- /dev/null -+++ b/ext/mysqli/tests/mysqli_connect_port.phpt -@@ -0,0 +1,31 @@ -+--TEST-- -+mysqli_connect() with port in host -+--EXTENSIONS-- -+mysqli -+--SKIPIF-- -+ -+--FILE-- -+ -+Done -+--EXPECTF-- -+Done -diff --git a/ext/mysqlnd/mysqlnd_connection.c b/ext/mysqlnd/mysqlnd_connection.c -index d8e7304e9665f..8268034e8b798 100644 ---- a/ext/mysqlnd/mysqlnd_connection.c -+++ b/ext/mysqlnd/mysqlnd_connection.c -@@ -553,13 +553,24 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_scheme)(MYSQLND_CONN_DATA * conn, MYSQLND_ - port = 3306; - } - -- /* ipv6 addresses are in the format [address]:port */ - if (hostname.s[0] != '[' && mysqlnd_fast_is_ipv6_address(hostname.s)) { -+ /* IPv6 without square brackets so without port */ - transport.l = mnd_sprintf(&transport.s, 0, "tcp://[%s]:%u", hostname.s, port); - } else { -- /* Not ipv6, but could already contain a port number, in which case we should not add an extra port. -+ char *p; -+ -+ /* IPv6 addresses are in the format [address]:port */ -+ if (hostname.s[0] == '[') { /* IPv6 */ -+ p = strchr(hostname.s, ']'); -+ if (p && p[1] != ':') { -+ p = NULL; -+ } -+ } else { /* IPv4 or name */ -+ p = strchr(hostname.s, ':'); -+ } -+ /* Could already contain a port number, in which case we should not add an extra port. - * See GH-8978. In a port doubling scenario, the first port would be used so we do the same to keep BC. */ -- if (strchr(hostname.s, ':')) { -+ if (p) { - /* TODO: Ideally we should be able to get rid of this workaround in the future. */ - transport.l = mnd_sprintf(&transport.s, 0, "tcp://%s", hostname.s); - } else { diff --git a/php.spec b/php.spec index d17647c06f0070768bb5dc80299750167b91de07..8f79c45b636b5701defcccf07b1551ff9f91131e 100644 --- a/php.spec +++ b/php.spec @@ -23,7 +23,7 @@ %global with_modphp 1 %global with_lmdb 1 %global with_sodium 1 -%global upver 8.3.28 +%global upver 8.3.29 Name: php @@ -49,6 +49,8 @@ Source13: 20-ffi.ini Source14: nginx-php.conf Source15: https://www.php.net/distributions/php-keyring.gpg +# Source for downstream rpm dependencies +Source2001: phpapi.attr Patch0: php-7.4.0-httpd.patch Patch1: php-7.2.0-includedir.patch @@ -63,7 +65,6 @@ Patch7: php-7.4.0-ldap_r.patch Patch8: php-8.3.13-phpinfo.patch Patch9: php-8.3.0-openssl-ec-param.patch Patch10: 0001-add-sw_64-support.patch -Patch11: php-bug20528.patch BuildRequires: bzip2-devel @@ -1154,6 +1155,9 @@ sed -e "s/@PHP_APIVER@/%{apiver}-%{__isa_bits}/" \ install -m 644 -D macros.php \ $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.php +install -m 644 -D %{S:2001} \ + $RPM_BUILD_ROOT%{_fileattrsdir}/phpapi.attr + rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \ $RPM_BUILD_ROOT%{_libdir}/php-zts/modules/*.a \ $RPM_BUILD_ROOT%{_bindir}/{phptar} \ @@ -1257,6 +1261,7 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %{_libdir}/php-zts/build %endif %{_rpmmacrodir}/macros.php +%{_fileattrsdir}/phpapi.attr %files embedded %{_libdir}/libphp.so @@ -1312,6 +1317,10 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %{_mandir}/man?/* %changelog +* Wed Dec 17 2025 Funda Wang - 8.3.29-1 +- update to 8.3.29 +- add phpapi.attr for generating php(api) dependency automatically + * Thu Nov 20 2025 Funda Wang - 8.3.28-1 - update to 8.3.28 - build sockets extension statically diff --git a/phpapi.attr b/phpapi.attr new file mode 100644 index 0000000000000000000000000000000000000000..0415cb60418221d26fe4d65e3408eede87645ced --- /dev/null +++ b/phpapi.attr @@ -0,0 +1,4 @@ +%__phpapi_path ^%{_libdir}/php.*/modules/.*so$ +%__phpapi_requires() %{lua: + print(string.format("php(api) = %s", rpm.expand("%php_core_api"), rpm.expand("%1"))) +}