From e2f8a8181ebe5b393b15b3c5eef00187209ffb8d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 16 Dec 2024 10:17:22 +0100 Subject: update to 6.0.0 GA enable zstd support re-license spec file to CECILL-2.1 drop patch merged upstream fix cpu affinity check using patch from https://github.com/swoole/swoole-src/pull/5624 update to 6.0.0 GA enable zstd support re-license spec file to CECILL-2.1 drop patch merged upstream fix cpu affinity check using patch from https://github.com/swoole/swoole-src/pull/5624 --- 0001-fix-cpu-affinity-check.patch | 24 ++++++++++++++++ 5579.patch | 39 -------------------------- PHPINFO | 11 ++++---- REFLECTION | 58 +++++++++++++++++++++------------------ php-pecl-swoole6.spec | 33 ++++++++++++++++------ 5 files changed, 86 insertions(+), 79 deletions(-) create mode 100644 0001-fix-cpu-affinity-check.patch delete mode 100644 5579.patch diff --git a/0001-fix-cpu-affinity-check.patch b/0001-fix-cpu-affinity-check.patch new file mode 100644 index 0000000..58c4370 --- /dev/null +++ b/0001-fix-cpu-affinity-check.patch @@ -0,0 +1,24 @@ +From 5630753cba195133a741d6f768143e40ff7454f6 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Mon, 16 Dec 2024 09:28:53 +0100 +Subject: [PATCH] fix cpu affinity check + +--- + config.m4 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/config.m4 b/config.m4 +index ada2e983b..701eaa569 100644 +--- a/config.m4 ++++ b/config.m4 +@@ -183,6 +183,7 @@ AC_DEFUN([AC_SWOOLE_CPU_AFFINITY], + #include + typedef cpuset_t cpu_set_t; + #else ++ #define _GNU_SOURCE 1 + #include + #endif + ]], [[ +-- +2.47.1 + diff --git a/5579.patch b/5579.patch deleted file mode 100644 index 83c0a38..0000000 --- a/5579.patch +++ /dev/null @@ -1,39 +0,0 @@ -From fab5c53f92612e973072db691176672de237bae0 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Thu, 21 Nov 2024 15:21:27 +0100 -Subject: [PATCH] Fix #5577 error in HAVE_IOURING_FUTEX detection - ---- - config.m4 | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/config.m4 b/config.m4 -index 3b12e5fce4..05e7b1f4de 100644 ---- a/config.m4 -+++ b/config.m4 -@@ -960,16 +960,22 @@ EOF - - LINUX_VERSION=`uname -r | cut -d '-' -f 1` - LINUX_MAJOR_VERSION=`echo $LINUX_VERSION | cut -d '.' -f 1` -- LINUX_MINIO_VERSION=`echo $LINUX_VERSION | cut -d '.' -f 2` -+ LINUX_MINOR_VERSION=`echo $LINUX_VERSION | cut -d '.' -f 2` - - _PKG_CONFIG(URING_VERSION, [modversion], [liburing]) - IOURING_MAJOR_VERSION=`echo $pkg_cv_URING_VERSION | cut -d '.' -f 1` - IOURING_MINOR_VERSION=`echo $pkg_cv_URING_VERSION | cut -d '.' -f 2` - -- if test $IOURING_MAJOR_VERSION > 2 || (test $IOURING_MAJOR_VERSION = 2 && test $IOURING_MINOR_VERSION >= 6); then -- if test $LINUX_MAJOR_VERSION > 6 || (test $LINUX_MAJOR_VERSION = 6 && test $LINUX_MAJOR_VERSION >= 7); then -+ AC_MSG_CHECKING([checking for io_uring futex feature]) -+ if test $IOURING_MAJOR_VERSION -gt 2 || (test $IOURING_MAJOR_VERSION -eq 2 && test $IOURING_MINOR_VERSION -ge 6); then -+ if test $LINUX_MAJOR_VERSION -gt 6 || (test $LINUX_MAJOR_VERSION -eq 6 && test $LINUX_MINOR_VERSION -ge 7); then -+ AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_IOURING_FUTEX, 1, [have io_uring futex feature]) -+ else -+ AC_MSG_RESULT([no, Linux $LINUX_VERSION is too old]) - fi -+ else -+ AC_MSG_RESULT([no, liburing $IOURING_MAJOR_VERSION.$IOURING_MINOR_VERSION is too old]) - fi - fi - diff --git a/PHPINFO b/PHPINFO index 4e22c6f..1ee7ffe 100644 --- a/PHPINFO +++ b/PHPINFO @@ -3,8 +3,8 @@ swoole Swoole => enabled Author => Swoole Team -Version => 6.0.0RC1 -Built => Nov 21 2024 00:00:00 +Version => 6.0.0 +Built => Dec 16 2024 00:00:00 coroutine => enabled with boost asm context trace_log => enabled epoll => enabled @@ -14,15 +14,16 @@ cpu_affinity => enabled spinlock => enabled rwlock => enabled sockets => enabled -openssl => OpenSSL 3.1.4 24 Oct 2023 +openssl => OpenSSL 3.2.2 4 Jun 2024 dtls => enabled http2 => enabled json => enabled curl-native => enabled pcre => enabled -c-ares => 1.28.1 -zlib => 1.2.13 +c-ares => 1.33.0 +zlib => 1.3.1.zlib-ng brotli => E16781312/D16781312 +zstd => 1.5.6 mutex_timedlock => enabled pthread_barrier => enabled futex => enabled diff --git a/REFLECTION b/REFLECTION index b57f1d6..6d6fa47 100644 --- a/REFLECTION +++ b/REFLECTION @@ -1,4 +1,4 @@ -Extension [ extension #126 swoole version 6.0.0RC1 ] { +Extension [ extension #129 swoole version 6.0.0 ] { - Dependencies { Dependency [ json (Required) ] @@ -29,8 +29,8 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { } } - - Constants [399] { - Constant [ string SWOOLE_VERSION ] { 6.0.0RC1 } + - Constants [400] { + Constant [ string SWOOLE_VERSION ] { 6.0.0 } Constant [ int SWOOLE_VERSION_ID ] { 60000 } Constant [ int SWOOLE_MAJOR_VERSION ] { 6 } Constant [ int SWOOLE_MINOR_VERSION ] { 0 } @@ -136,6 +136,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { Constant [ int SWOOLE_ERROR_SSL_BAD_PROTOCOL ] { 1016 } Constant [ int SWOOLE_ERROR_SSL_RESET ] { 1017 } Constant [ int SWOOLE_ERROR_SSL_HANDSHAKE_FAILED ] { 1018 } + Constant [ int SWOOLE_ERROR_SSL_CREATE_CONTEXT_FAILED ] { 1019 } Constant [ int SWOOLE_ERROR_PACKAGE_LENGTH_TOO_LARGE ] { 1201 } Constant [ int SWOOLE_ERROR_PACKAGE_LENGTH_NOT_FOUND ] { 1202 } Constant [ int SWOOLE_ERROR_DATA_LENGTH_TOO_LARGE ] { 1203 } @@ -1826,9 +1827,13 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Static methods [0] { } - - Properties [2] { + - Properties [6] { Property [ public $master_pid = -1 ] + Property [ public $workerPid = -1 ] + Property [ public $workerId = -1 ] Property [ public $workers = NULL ] + Property [ public $workerRunning = true ] + Property [ public $running = true ] } - Methods [12] { @@ -2299,7 +2304,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ int $flags = SORT_REGULAR ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method ksort ] { @@ -2307,7 +2312,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ int $flags = SORT_REGULAR ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method uasort ] { @@ -2315,7 +2320,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ callable $callback ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method uksort ] { @@ -2323,21 +2328,21 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ callable $callback ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method natsort ] { - Parameters [0] { } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method natcasesort ] { - Parameters [0] { } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method unserialize ] { @@ -2725,7 +2730,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { Parameter #0 [ array|int $signals ] Parameter #1 [ float $timeout = -1 ] } - - Return [ bool ] + - Return [ int|false ] } Method [ static public method waitEvent ] { @@ -2846,7 +2851,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ int $flags = SORT_REGULAR ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method ksort ] { @@ -2854,7 +2859,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ int $flags = SORT_REGULAR ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method uasort ] { @@ -2862,7 +2867,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ callable $callback ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method uksort ] { @@ -2870,21 +2875,21 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ callable $callback ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method natsort ] { - Parameters [0] { } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method natcasesort ] { - Parameters [0] { } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method unserialize ] { @@ -3070,7 +3075,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ int $flags = SORT_REGULAR ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method ksort ] { @@ -3078,7 +3083,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ int $flags = SORT_REGULAR ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method uasort ] { @@ -3086,7 +3091,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ callable $callback ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method uksort ] { @@ -3094,21 +3099,21 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Parameters [1] { Parameter #0 [ callable $callback ] } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method natsort ] { - Parameters [0] { } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method natcasesort ] { - Parameters [0] { } - - Tentative return [ bool ] + - Tentative return [ true ] } Method [ public method unserialize ] { @@ -3397,7 +3402,7 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { Parameter #0 [ array|int $signals ] Parameter #1 [ float $timeout = -1 ] } - - Return [ bool ] + - Return [ int|false ] } Method [ static public method waitEvent ] { @@ -3565,9 +3570,8 @@ Extension [ extension #126 swoole version 6.0.0RC1 ] { - Static methods [3] { Method [ static public method enableCoroutine ] { - - Parameters [2] { - Parameter #0 [ int|bool $enable = SWOOLE_HOOK_ALL ] - Parameter #1 [ int $flags = SWOOLE_HOOK_ALL ] + - Parameters [1] { + Parameter #0 [ int $flags = SWOOLE_HOOK_ALL ] } - Return [ bool ] } diff --git a/php-pecl-swoole6.spec b/php-pecl-swoole6.spec index c7195ac..ecb7155 100644 --- a/php-pecl-swoole6.spec +++ b/php-pecl-swoole6.spec @@ -1,8 +1,8 @@ # remirepo spec file for php-pecl-swoole6 # -# Copyright (c) 2013-2024 Remi Collet -# License: CC-BY-SA-4.0 -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText: Copyright 2013-2024 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt # # Please, preserve the changelog entries # @@ -42,11 +42,12 @@ %bcond_without pgsql %bcond_without brotli +%bcond_without zstd %bcond_without curl %bcond_without nghttpd2 %global upstream_version 6.0.0 -%global upstream_prever RC1 +#global upstream_prever RC1 %global sources %{pecl_name}-%{upstream_version}%{?upstream_prever} %global _configure ../%{sources}/configure @@ -55,7 +56,7 @@ Name: %{?scl_prefix}php-pecl-%{pecl_name}6 # Without prever, See https://github.com/swoole/swoole-src/issues/5531 #Version: %%{upstream_version}%%{?upstream_prever:~%%{upstream_prever}} Version: %{upstream_version} -Release: 4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} # Extension is Apache-2.0 # BSD-3-Clause: Hiredis # MIT: nlohmann/json, nghttp2 @@ -63,7 +64,7 @@ License: Apache-2.0 AND BSD-3-Clause AND MIT URL: https://pecl.php.net/package/%{pecl_name} Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz -Patch0: 5579.patch +Patch0: 0001-fix-cpu-affinity-check.patch BuildRequires: make BuildRequires: %{?dtsprefix}gcc @@ -87,6 +88,9 @@ BuildRequires: pkgconfig(libcares) BuildRequires: pkgconfig(libbrotlidec) BuildRequires: pkgconfig(libbrotlienc) %endif +%if %{with zstd} +BuildRequires: pkgconfig(libzstd) >= 1.4 +%endif %if %{with pgsql} BuildRequires: pkgconfig(libpq) %endif @@ -123,7 +127,7 @@ Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} -%if 0%{?fedora} >= 41 || 0%{?rhel} >= 10 || "%{php_version}" >= "8.4" +%if 0%{?fedora} >= 42 || 0%{?rhel} >= 10 || "%{php_version}" >= "8.4" Obsoletes: %{?scl_prefix}php-pecl-%{pecl_name} < 6 Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} @@ -199,7 +203,7 @@ rm -r thirdparty/nghttp2 cp -p thirdparty/nghttp2/COPYING nghttp2-COPYING %endif -%patch -P0 -p1 -b .pr5579 +%patch -P0 -p1 -b .affinity # Sanity check, really often broken extver=$(sed -n '/#define SWOOLE_VERSION /{s/.* "//;s/".*$//;p}' include/swoole_version.h) @@ -256,6 +260,11 @@ peclbuild() { %else --disable-brotli \ %endif +%if %{with zstd} + --enable-zstd \ +%else + --disable-zstd \ +%endif %if %{with nghttpd2} --with-nghttp2-dir=%{_root_prefix} \ %endif @@ -369,6 +378,14 @@ cd ../ZTS %changelog +* Mon Dec 16 2024 Remi Collet - 6.0.0-5 +- update to 6.0.0 GA +- enable zstd support +- re-license spec file to CECILL-2.1 +- drop patch merged upstream +- fix cpu affinity check using patch from + https://github.com/swoole/swoole-src/pull/5624 + * Thu Nov 21 2024 Remi Collet - 6.0.0-4 - update to 6.0.0RC1 - use 6.0.0-4 to workaround https://github.com/swoole/swoole-src/issues/5531 -- cgit