diff options
| -rw-r--r-- | uwsgi-plugin-php.spec | 27 | ||||
| -rw-r--r-- | uwsgi_fix_php8.patch | 17 | ||||
| -rw-r--r-- | uwsgi_fix_php_arginfo.patch | 43 | 
3 files changed, 80 insertions, 7 deletions
diff --git a/uwsgi-plugin-php.spec b/uwsgi-plugin-php.spec index 38a29ee..63134f1 100644 --- a/uwsgi-plugin-php.spec +++ b/uwsgi-plugin-php.spec @@ -12,6 +12,7 @@  # Disable RPATH check  %global __arch_install_post /bin/true +%global __brp_check_rpaths  /bin/true  # Disable auto-provides (php_plugin.so is not a library)  AutoProv: 0 @@ -27,19 +28,21 @@ Requires: %{scl_prefix}php-embedded  %endif  Name:          %{?scl_prefix}%{project}-plugin-php -Version:       2.0.18 -Release:       8%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Version:       2.0.20 +Release:       1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  Summary:       uWSGI - Plugin for PHP support  License:       GPLv2 with exceptions  URL:           http://projects.unbit.it/uwsgi  Source0:       http://projects.unbit.it/downloads/%{project}-%{version}.tar.gz -# https://github.com/unbit/uwsgi/pull/2105 -Patch11:       uwsgi_fix_php74_zend.patch +# https://github.com/unbit/uwsgi/issues/2283 +Patch1:        uwsgi_fix_php8.patch +# https://github.com/unbit/uwsgi/issues/2356 +Patch2:        uwsgi_fix_php_arginfo.patch  BuildRequires: %{?dtsprefix}gcc -BuildRequires: %{?scl_prefix}php-devel +BuildRequires: %{?scl_prefix}php-devel >= 7.0  BuildRequires: %{?scl_prefix}php-embedded  BuildRequires: %{project}-devel = %{version}  BuildRequires: bzip2-devel @@ -56,7 +59,7 @@ BuildRequires: libargon2-devel  Requires:      %{project}-plugin-common = %{version} -%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} +%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel}  # Other third party repo stuff  %if "%{php_version}" > "5.6"  Obsoletes:     %{project}-plugin-php56u <= %{version} @@ -76,6 +79,12 @@ Obsoletes:     %{project}-plugin-php73 <= %{version}  %if "%{php_version}" > "7.4"  Obsoletes:     %{project}-plugin-php74 <= %{version}  %endif +%if "%{php_version}" > "8.0" +Obsoletes:     %{project}-plugin-php80 <= %{version} +%endif +%if "%{php_version}" > "8.1" +Obsoletes:     %{project}-plugin-php81 <= %{version} +%endif  %endif @@ -88,7 +97,8 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO  %prep  %setup -qn %{project}-%{version} -%patch11 -p1 +%patch1 -p1 +%patch2 -p1  # Fix makefile  sed -e 's:/lib:/%{_lib}:' -i plugins/php/uwsgiplugin.py @@ -115,6 +125,9 @@ install -Dpm 755 %{?scl}%{!?scl:php}_plugin.so %{buildroot}%{_root_libdir}/%{pro  %changelog +* Mon Feb 14 2022 Remi Collet <remi@remirepo.net> - 2.0.20-1 +- update to 2.0.20 +  * Thu May 14 2020 Remi Collet <remi@remirepo.net> - 2.0.18-8  - Patching PHP plugin for 7.4 diff --git a/uwsgi_fix_php8.patch b/uwsgi_fix_php8.patch new file mode 100644 index 0000000..1685a0f --- /dev/null +++ b/uwsgi_fix_php8.patch @@ -0,0 +1,17 @@ +diff -uNr a/plugins/php/uwsgiplugin.py b/plugins/php/uwsgiplugin.py +--- a/plugins/php/uwsgiplugin.py	2022-01-22 22:40:33.783038869 +0100 ++++ b/plugins/php/uwsgiplugin.py	2022-01-22 22:41:45.261394898 +0100 +@@ -21,7 +21,12 @@ if ld_run_path: +     LDFLAGS.append('-L%s' % ld_run_path) +     os.environ['LD_RUN_PATH'] = ld_run_path +  +-LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp' + php_version] ++# PHP8 and above does not add the version to the library ++# name ++if int(php_version) < 8: ++    LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp' + php_version] ++else: ++    LIBS = [os.popen(PHPPATH + ' --libs').read().rstrip(), '-lphp'] +  + phplibdir = os.environ.get('UWSGICONFIG_PHPLIBDIR') + if phplibdir: diff --git a/uwsgi_fix_php_arginfo.patch b/uwsgi_fix_php_arginfo.patch new file mode 100644 index 0000000..5228066 --- /dev/null +++ b/uwsgi_fix_php_arginfo.patch @@ -0,0 +1,43 @@ +diff --git a/plugins/php/php_plugin.c b/plugins/php/php_plugin.c +index 717d6317b..d336adddc 100644 +--- a/plugins/php/php_plugin.c ++++ b/plugins/php/php_plugin.c +@@ -497,21 +497,24 @@ PHP_FUNCTION(uwsgi_signal) { +         RETURN_NULL(); + } +  ++ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0) ++ZEND_END_ARG_INFO() ++ + zend_function_entry uwsgi_php_functions[] = { +-	PHP_FE(uwsgi_version,   NULL) +-	PHP_FE(uwsgi_setprocname,   NULL) +-	PHP_FE(uwsgi_worker_id,   NULL) +-	PHP_FE(uwsgi_masterpid,   NULL) +-	PHP_FE(uwsgi_signal,   NULL) +- +-	PHP_FE(uwsgi_rpc,   NULL) +- +-	PHP_FE(uwsgi_cache_get,   NULL) +-	PHP_FE(uwsgi_cache_set,   NULL) +-	PHP_FE(uwsgi_cache_update,   NULL) +-	PHP_FE(uwsgi_cache_del,   NULL) +-	PHP_FE(uwsgi_cache_clear,   NULL) +-	PHP_FE(uwsgi_cache_exists,   NULL) ++	PHP_FE(uwsgi_version, arginfo_void) ++	PHP_FE(uwsgi_setprocname, arginfo_void) ++	PHP_FE(uwsgi_worker_id, arginfo_void) ++	PHP_FE(uwsgi_masterpid, arginfo_void) ++	PHP_FE(uwsgi_signal, arginfo_void) ++ ++	PHP_FE(uwsgi_rpc, arginfo_void) ++ ++	PHP_FE(uwsgi_cache_get, arginfo_void) ++	PHP_FE(uwsgi_cache_set, arginfo_void) ++	PHP_FE(uwsgi_cache_update, arginfo_void) ++	PHP_FE(uwsgi_cache_del, arginfo_void) ++	PHP_FE(uwsgi_cache_clear, arginfo_void) ++	PHP_FE(uwsgi_cache_exists, arginfo_void) + 	{ NULL, NULL, NULL}, + }; +   | 
