diff options
| -rw-r--r-- | 0001-fix-cpu-affinity-check.patch | 24 | ||||
| -rw-r--r-- | 5579.patch | 39 | ||||
| -rw-r--r-- | PHPINFO | 11 | ||||
| -rw-r--r-- | REFLECTION | 58 | ||||
| -rw-r--r-- | php-pecl-swoole6.spec | 33 | 
5 files changed, 86 insertions, 79 deletions
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 <remi@remirepo.net> +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 <sys/cpuset.h> +         typedef cpuset_t cpu_set_t; +         #else ++        #define _GNU_SOURCE 1 +         #include <sched.h> +         #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 <remi@remirepo.net> -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 -  @@ -3,8 +3,8 @@ swoole  Swoole => enabled  Author => Swoole Team <team@swoole.com> -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 @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] { +Extension [ <persistent> extension #129 swoole version 6.0.0 ] {    - Dependencies {      Dependency [ json (Required) ] @@ -29,8 +29,8 @@ Extension [ <persistent> 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 [ <persistent> 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 [ <persistent> 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 [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <optional> int $flags = SORT_REGULAR ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method ksort ] { @@ -2307,7 +2312,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <optional> int $flags = SORT_REGULAR ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method uasort ] { @@ -2315,7 +2320,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <required> callable $callback ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method uksort ] { @@ -2323,21 +2328,21 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <required> callable $callback ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method natsort ] {            - Parameters [0] {            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method natcasesort ] {            - Parameters [0] {            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator, prototype Serializable> public method unserialize ] { @@ -2725,7 +2730,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {              Parameter #0 [ <required> array|int $signals ]              Parameter #1 [ <optional> float $timeout = -1 ]            } -          - Return [ bool ] +          - Return [ int|false ]          }          Method [ <internal:swoole> static public method waitEvent ] { @@ -2846,7 +2851,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <optional> int $flags = SORT_REGULAR ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method ksort ] { @@ -2854,7 +2859,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <optional> int $flags = SORT_REGULAR ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method uasort ] { @@ -2862,7 +2867,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <required> callable $callback ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method uksort ] { @@ -2870,21 +2875,21 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <required> callable $callback ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method natsort ] {            - Parameters [0] {            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator> public method natcasesort ] {            - Parameters [0] {            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayIterator, prototype Serializable> public method unserialize ] { @@ -3070,7 +3075,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <optional> int $flags = SORT_REGULAR ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayObject> public method ksort ] { @@ -3078,7 +3083,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <optional> int $flags = SORT_REGULAR ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayObject> public method uasort ] { @@ -3086,7 +3091,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <required> callable $callback ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayObject> public method uksort ] { @@ -3094,21 +3099,21 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {            - Parameters [1] {              Parameter #0 [ <required> callable $callback ]            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayObject> public method natsort ] {            - Parameters [0] {            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayObject> public method natcasesort ] {            - Parameters [0] {            } -          - Tentative return [ bool ] +          - Tentative return [ true ]          }          Method [ <internal:SPL, inherits ArrayObject, prototype Serializable> public method unserialize ] { @@ -3397,7 +3402,7 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {              Parameter #0 [ <required> array|int $signals ]              Parameter #1 [ <optional> float $timeout = -1 ]            } -          - Return [ bool ] +          - Return [ int|false ]          }          Method [ <internal:swoole> static public method waitEvent ] { @@ -3565,9 +3570,8 @@ Extension [ <persistent> extension #126 swoole version 6.0.0RC1 ] {        - Static methods [3] {          Method [ <internal:swoole> static public method enableCoroutine ] { -          - Parameters [2] { -            Parameter #0 [ <optional> int|bool $enable = SWOOLE_HOOK_ALL ] -            Parameter #1 [ <optional> int $flags = SWOOLE_HOOK_ALL ] +          - Parameters [1] { +            Parameter #0 [ <optional> 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 <remi@remirepo.net> - 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 <remi@remirepo.net> - 6.0.0-4  - update to 6.0.0RC1  - use 6.0.0-4 to workaround https://github.com/swoole/swoole-src/issues/5531  | 
