diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | PHPINFO | 2 | ||||
-rw-r--r-- | REFLECTION | 74 | ||||
-rw-r--r-- | e1ebead8120aa27a3bdd14f00e468df1a4ff7a7e.patch | 24 | ||||
-rw-r--r-- | php-pecl-seaslog.spec | 121 | ||||
-rw-r--r-- | seaslog-php81.patch | 129 |
6 files changed, 242 insertions, 110 deletions
@@ -1,5 +1,7 @@ +clog package-*.xml *.tgz +*.tar.bz2 *.tar.gz *.tar.xz *.tar.xz.asc @@ -2,7 +2,7 @@ SeasLog SeasLog support => Enabled -SeasLog Version => 2.0.2 +SeasLog Version => 2.2.0 SeasLog Author => Chitao.Gao [ neeke@php.net ] SeasLog Supports => https://github.com/SeasX/SeasLog @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { +Extension [ <persistent> extension #119 SeasLog version 2.2.0 ] { - Dependencies { } @@ -100,7 +100,7 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { } - Constants [22] { - Constant [ string SEASLOG_VERSION ] { 2.0.2 } + Constant [ string SEASLOG_VERSION ] { 2.2.0 } Constant [ string SEASLOG_AUTHOR ] { Chitao.Gao [ neeke@php.net ] } Constant [ string SEASLOG_ALL ] { ALL } Constant [ string SEASLOG_DEBUG ] { DEBUG } @@ -111,28 +111,34 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { Constant [ string SEASLOG_CRITICAL ] { CRITICAL } Constant [ string SEASLOG_ALERT ] { ALERT } Constant [ string SEASLOG_EMERGENCY ] { EMERGENCY } - Constant [ integer SEASLOG_DETAIL_ORDER_ASC ] { 1 } - Constant [ integer SEASLOG_DETAIL_ORDER_DESC ] { 2 } - Constant [ integer SEASLOG_APPENDER_FILE ] { 1 } - Constant [ integer SEASLOG_APPENDER_TCP ] { 2 } - Constant [ integer SEASLOG_APPENDER_UDP ] { 3 } - Constant [ integer SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL ] { 1 } - Constant [ integer SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN ] { 2 } - Constant [ integer SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT ] { 1 } - Constant [ integer SEASLOG_REQUEST_VARIABLE_REQUEST_URI ] { 2 } - Constant [ integer SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD ] { 3 } - Constant [ integer SEASLOG_REQUEST_VARIABLE_CLIENT_IP ] { 4 } + Constant [ int SEASLOG_DETAIL_ORDER_ASC ] { 1 } + Constant [ int SEASLOG_DETAIL_ORDER_DESC ] { 2 } + Constant [ int SEASLOG_APPENDER_FILE ] { 1 } + Constant [ int SEASLOG_APPENDER_TCP ] { 2 } + Constant [ int SEASLOG_APPENDER_UDP ] { 3 } + Constant [ int SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL ] { 1 } + Constant [ int SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN ] { 2 } + Constant [ int SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT ] { 1 } + Constant [ int SEASLOG_REQUEST_VARIABLE_REQUEST_URI ] { 2 } + Constant [ int SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD ] { 3 } + Constant [ int SEASLOG_REQUEST_VARIABLE_CLIENT_IP ] { 4 } } - Functions { Function [ <internal:SeasLog> function seaslog_get_version ] { + + - Parameters [0] { + } } Function [ <internal:SeasLog> function seaslog_get_author ] { + + - Parameters [0] { + } } } - Classes [1] { - Class [ <internal:SeasLog> class SeasLog ] { + Class [ <internal:SeasLog> final class SeasLog ] { - Constants [0] { } @@ -140,7 +146,7 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { - Static properties [0] { } - - Static methods [25] { + - Static methods [26] { Method [ <internal:SeasLog> static public method setBasePath ] { - Parameters [1] { @@ -149,6 +155,9 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { } Method [ <internal:SeasLog> static public method getBasePath ] { + + - Parameters [0] { + } } Method [ <internal:SeasLog> static public method setLogger ] { @@ -161,12 +170,15 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { Method [ <internal:SeasLog> static public method closeLoggerStream ] { - Parameters [2] { - Parameter #0 [ <required> $model ] + Parameter #0 [ <optional> $model ] Parameter #1 [ <optional> $logger ] } } Method [ <internal:SeasLog> static public method getLastLogger ] { + + - Parameters [0] { + } } Method [ <internal:SeasLog> static public method setRequestID ] { @@ -177,6 +189,9 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { } Method [ <internal:SeasLog> static public method getRequestID ] { + + - Parameters [0] { + } } Method [ <internal:SeasLog> static public method setDatetimeFormat ] { @@ -187,6 +202,9 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { } Method [ <internal:SeasLog> static public method getDatetimeFormat ] { + + - Parameters [0] { + } } Method [ <internal:SeasLog> static public method setRequestVariable ] { @@ -207,7 +225,7 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { Method [ <internal:SeasLog> static public method analyzerCount ] { - Parameters [3] { - Parameter #0 [ <required> $level ] + Parameter #0 [ <optional> $level ] Parameter #1 [ <optional> $log_path ] Parameter #2 [ <optional> $key_word ] } @@ -226,12 +244,28 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { } Method [ <internal:SeasLog> static public method getBuffer ] { + + - Parameters [0] { + } + } + + Method [ <internal:SeasLog> static public method getBufferCount ] { + + - Parameters [0] { + } } Method [ <internal:SeasLog> static public method getBufferEnabled ] { + + - Parameters [0] { + } } Method [ <internal:SeasLog> static public method flushBuffer ] { + + - Parameters [1] { + Parameter #0 [ <optional> $type ] + } } Method [ <internal:SeasLog> static public method log ] { @@ -322,9 +356,15 @@ Extension [ <persistent> extension #200 SeasLog version 2.0.2 ] { - Methods [2] { Method [ <internal:SeasLog, ctor> public method __construct ] { + + - Parameters [0] { + } } Method [ <internal:SeasLog, dtor> public method __destruct ] { + + - Parameters [0] { + } } } } diff --git a/e1ebead8120aa27a3bdd14f00e468df1a4ff7a7e.patch b/e1ebead8120aa27a3bdd14f00e468df1a4ff7a7e.patch deleted file mode 100644 index 01f2a9a..0000000 --- a/e1ebead8120aa27a3bdd14f00e468df1a4ff7a7e.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e1ebead8120aa27a3bdd14f00e468df1a4ff7a7e Mon Sep 17 00:00:00 2001 -From: wujunze <itwujunze@163.com> -Date: Tue, 28 May 2019 11:39:05 +0800 -Subject: [PATCH] php 70400 define ZEND_ACC_IMPLICIT_PUBLIC ZEND_ACC_PUBLIC - ---- - include/php7_wrapper.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/include/php7_wrapper.h b/include/php7_wrapper.h -index 701ce34..c3fa839 100644 ---- a/include/php7_wrapper.h -+++ b/include/php7_wrapper.h -@@ -14,6 +14,10 @@ - +----------------------------------------------------------------------+ - */ - -+#if !defined(ZEND_ACC_IMPLICIT_PUBLIC) -+# define ZEND_ACC_IMPLICIT_PUBLIC ZEND_ACC_PUBLIC -+#endif -+ - #if PHP_VERSION_ID >= 70000 - - # define SEASLOG_MAKE_ZVAL(z) zval _stack_zval_##z; z = &(_stack_zval_##z) diff --git a/php-pecl-seaslog.spec b/php-pecl-seaslog.spec index 25eda46..84159c9 100644 --- a/php-pecl-seaslog.spec +++ b/php-pecl-seaslog.spec @@ -1,38 +1,38 @@ # remirepo spec file for php-pecl-seaslog # -# Copyright (c) 2015-2019 Remi Collet -# License: CC-BY-SA +# Copyright (c) 2015-2024 Remi Collet +# License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # -%if 0%{?scl:1} -%global sub_prefix %{scl_prefix} -%scl_package php-pecl-seaslog -%else -%global _root_libdir %{_libdir} -%endif -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} -%global proj_name SeasLog -%global pecl_name seaslog -%global with_tests 0%{!?_without_tests:1} +%{?scl:%scl_package php-pecl-seaslog} + +%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} +%global proj_name SeasLog +%global pecl_name seaslog +%global with_tests 0%{!?_without_tests:1} %if "%{php_version}" < "5.6" -%global ini_name %{pecl_name}.ini +%global ini_name %{pecl_name}.ini %else -%global ini_name 40-%{pecl_name}.ini +%global ini_name 40-%{pecl_name}.ini %endif +%global sources %{proj_name}-%{version} +%global _configure ../%{sources}/configure Summary: An effective, fast, stable log extension for PHP -Name: %{?sub_prefix}php-pecl-%{pecl_name} -Version: 2.0.2 +Name: %{?scl_prefix}php-pecl-%{pecl_name} +Version: 2.2.0 Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -License: PHP -URL: http://pecl.php.net/package/%{proj_name} -Source0: http://pecl.php.net/get/%{proj_name}-%{version}.tgz +License: PHP-3.0.1 +URL: https://pecl.php.net/package/%{proj_name} +Source0: https://pecl.php.net/get/%{sources}.tgz -Patch0: https://github.com/SeasX/SeasLog/commit/e1ebead8120aa27a3bdd14f00e468df1a4ff7a7e.patch +# upstream patch + https://github.com/SeasX/SeasLog/pull/322 +Patch0: %{pecl_name}-php81.patch +BuildRequires: make BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel BuildRequires: %{?scl_prefix}php-pear @@ -41,42 +41,11 @@ BuildRequires: %{?scl_prefix}php-json Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} Requires: %{?scl_prefix}php-json%{?_isa} -%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} Provides: %{?scl_prefix}php-%{pecl_name} = %{version} Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{proj_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{proj_name})%{?_isa} = %{version} -%if "%{?scl_prefix}" != "%{?sub_prefix}" -Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} -Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} -%endif - -%if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} -# Other third party repo stuff -%if "%{php_version}" > "7.1" -Obsoletes: php71u-pecl-%{pecl_name} <= %{version} -Obsoletes: php71w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.2" -Obsoletes: php72u-pecl-%{pecl_name} <= %{version} -Obsoletes: php72w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.3" -Obsoletes: php73-pecl-%{pecl_name} <= %{version} -Obsoletes: php73w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.4" -Obsoletes: php74-pecl-%{pecl_name} <= %{version} -Obsoletes: php74w-pecl-%{pecl_name} <= %{version} -%endif -%endif - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter shared private -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} -%endif %description @@ -98,15 +67,14 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO %prep %setup -q -c -mv %{proj_name}-%{version} NTS # Don't install tests sed -e 's/role="test"/role="src"/' \ %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ -i package.xml -cd NTS -%patch0 -p1 -b .up +cd %{sources} +%patch -P0 -p1 : Sanity check, really often broken extver=$(sed -n '/#define SEASLOG_VERSION /{s/.* "//;s/".*$//;p}' include/SeasLog.h) @@ -116,9 +84,9 @@ if test "x${extver}" != "x%{version}"; then fi cd .. +mkdir NTS %if %{with_zts} -# Duplicate source tree for NTS / ZTS build -cp -pr NTS ZTS +mkdir ZTS %endif # Create configuration file @@ -130,7 +98,7 @@ extension=%{pecl_name}.so ;seaslog.default_basepath = '/var/log/www' ;seaslog.default_logger = 'default' ;seaslog.default_datetime_format = 'Y-m-d H:i:s' -;seaslog.default_template = '%T | %L | %P | %Q | %t | %M' +;seaslog.default_template = '%%T | %%L | %%P | %%Q | %%t | %%M' ;seaslog.disting_folder = 1 ;seaslog.disting_type = 0 ;seaslog.disting_by_hour = 0 @@ -164,19 +132,20 @@ EOF %build %{?dtsenable} -cd NTS -%{_bindir}/phpize +cd %{sources} +%{__phpize} + +cd ../NTS %configure \ --with-seaslog \ - --with-php-config=%{_bindir}/php-config + --with-php-config=%{__phpconfig} make %{?_smp_mflags} %if %{with_zts} cd ../ZTS -%{_bindir}/zts-phpize %configure \ --with-seaslog \ - --with-php-config=%{_bindir}/zts-php-config + --with-php-config=%{__ztsphpconfig} make %{?_smp_mflags} %endif @@ -200,27 +169,25 @@ install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} # Documentation for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done %check # No useful test in tests directory -cd NTS : Minimal load test for NTS extension %{__php} --no-php-ini \ --define extension=json.so \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ - --modules | grep -i %{pecl_name} + --modules | grep -i '^%{pecl_name}$' %if %{with_zts} -cd ../ZTS : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ --define extension=json.so \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ - --modules | grep -i %{pecl_name} + --modules | grep -i '^%{pecl_name}$' %endif @@ -245,8 +212,8 @@ fi %files +%{?_licensedir:%license %{sources}/LICENSE} %doc %{pecl_docdir}/%{pecl_name} -%{?_licensedir:%license NTS/LICENSE} %{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} @@ -259,6 +226,24 @@ fi %changelog +* Mon Feb 19 2024 Remi Collet <remi@remirepo.net> - 2.2.0-3 +- fix for PHP 8.1 using patch from + https://github.com/SeasX/SeasLog/pull/322 + +* Fri Sep 1 2023 Remi Collet <remi@remirepo.net> - 2.2.0-2 +- build out of sources tree + +* Tue Jan 19 2021 Remi Collet <remi@remirepo.net> - 2.2.0-1 +- update to 2.2.0 + +* Wed Aug 19 2020 Remi Collet <remi@remirepo.net> - 2.1.0-2 +- F33 build + +* Thu Jan 2 2020 Remi Collet <remi@remirepo.net> - 2.1.0-1 +- update to 2.1.0 +- open https://github.com/SeasX/SeasLog/issues/286 + broken build on 32-bit + * Tue Sep 03 2019 Remi Collet <remi@remirepo.net> - 2.0.2-3 - rebuild for 7.4.0RC1 diff --git a/seaslog-php81.patch b/seaslog-php81.patch new file mode 100644 index 0000000..e94dd76 --- /dev/null +++ b/seaslog-php81.patch @@ -0,0 +1,129 @@ +From 68a767e4cef28be8293810fd75b8621179aa8226 Mon Sep 17 00:00:00 2001 +From: Carl <631929063@qq.com> +Date: Fri, 23 Jul 2021 21:25:18 +0800 +Subject: [PATCH] Fix seaslog_error_cb error type + +--- + src/ErrorHook.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/ErrorHook.c b/src/ErrorHook.c +index f23874f..9ae19bf 100644 +--- a/src/ErrorHook.c ++++ b/src/ErrorHook.c +@@ -43,7 +43,7 @@ static void process_event_error(const char *event_type, int type, char * error_f + #if PHP_VERSION_ID < 80000 + void seaslog_error_cb(int type, const char *error_filename, const SEASLOG_UINT error_lineno, const char *format, va_list args) + #else +-void seaslog_error_cb(int type, const char *error_filename, const SEASLOG_UINT error_lineno,zend_string *message) ++void seaslog_error_cb(int orig_type, const char *error_filename, const SEASLOG_UINT error_lineno,zend_string *message) + #endif + { + TSRMLS_FETCH(); +@@ -52,7 +52,7 @@ void seaslog_error_cb(int type, const char *error_filename, const SEASLOG_UINT e + #if PHP_VERSION_ID < 80000 + return old_error_cb(type, error_filename, error_lineno, format, args); + #else +- return old_error_cb(type, error_filename, error_lineno, message); ++ return old_error_cb(orig_type, error_filename, error_lineno, message); + #endif + } + +@@ -71,6 +71,7 @@ void seaslog_error_cb(int type, const char *error_filename, const SEASLOG_UINT e + va_end(args_copy); + #else + char *msg = ZSTR_VAL(message); ++ int type = orig_type & E_ALL; + #endif + if (type == E_ERROR || type == E_PARSE || type == E_CORE_ERROR || type == E_COMPILE_ERROR || type == E_USER_ERROR || type == E_RECOVERABLE_ERROR) + { +@@ -100,7 +101,7 @@ void seaslog_error_cb(int type, const char *error_filename, const SEASLOG_UINT e + #if PHP_VERSION_ID < 80000 + return old_error_cb(type, error_filename, error_lineno, format, args); + #else +- return old_error_cb(type, error_filename, error_lineno, message); ++ return old_error_cb(orig_type, error_filename, error_lineno, message); + #endif + } + +From 1677e6dc5d363c4a7d443a312beffa15c31c635e Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Mon, 19 Feb 2024 16:01:36 +0100 +Subject: [PATCH] Fix zend_error_cb usage in PHP >= 8.1 + +--- + src/ErrorHook.c | 28 ++++++++++++++++++++++------ + 1 file changed, 22 insertions(+), 6 deletions(-) + +diff --git a/src/ErrorHook.c b/src/ErrorHook.c +index 9ae19bf..06b35ee 100644 +--- a/src/ErrorHook.c ++++ b/src/ErrorHook.c +@@ -19,11 +19,13 @@ + + #if PHP_VERSION_ID < 80000 + void (*old_error_cb)(int type, const char *error_filename, const SEASLOG_UINT error_lineno, const char *format, va_list args); +-#else ++#elif PHP_VERSION_ID < 80100 + void (*old_error_cb)(int type, const char *error_filename, const SEASLOG_UINT error_lineno, zend_string *message); ++#else ++void (*old_error_cb)(int type, zend_string *error_filename, const SEASLOG_UINT error_lineno, zend_string *message); + #endif + +-static void process_event_error(const char *event_type, int type, char * error_filename, SEASLOG_UINT error_lineno, char * msg TSRMLS_DC) ++static void process_event_error(const char *event_type, int type, const char * error_filename, SEASLOG_UINT error_lineno, char * msg TSRMLS_DC) + { + char *event_str; + int event_str_len; +@@ -42,8 +44,10 @@ static void process_event_error(const char *event_type, int type, char * error_f + + #if PHP_VERSION_ID < 80000 + void seaslog_error_cb(int type, const char *error_filename, const SEASLOG_UINT error_lineno, const char *format, va_list args) +-#else ++#elif PHP_VERSION_ID < 80100 + void seaslog_error_cb(int orig_type, const char *error_filename, const SEASLOG_UINT error_lineno,zend_string *message) ++#else ++void seaslog_error_cb(int orig_type, zend_string *error_filename, const SEASLOG_UINT error_lineno,zend_string *message) + #endif + { + TSRMLS_FETCH(); +@@ -77,21 +81,33 @@ void seaslog_error_cb(int orig_type, const char *error_filename, const SEASLOG_U + { + if (SEASLOG_G(trace_error)) + { +- process_event_error("Error", type, (char *) error_filename, error_lineno, msg TSRMLS_CC); ++#if PHP_VERSION_ID < 80100 ++ process_event_error("Error", type, error_filename, error_lineno, msg TSRMLS_CC); ++#else ++ process_event_error("Error", type, ZSTR_VAL(error_filename), error_lineno, msg); ++#endif + } + } + else if (type == E_WARNING || type == E_CORE_WARNING || type == E_COMPILE_WARNING || type == E_USER_WARNING) + { + if (SEASLOG_G(trace_warning)) + { +- process_event_error("Warning", type, (char *) error_filename, error_lineno, msg TSRMLS_CC); ++#if PHP_VERSION_ID < 80100 ++ process_event_error("Warning", type, error_filename, error_lineno, msg TSRMLS_CC); ++#else ++ process_event_error("Warning", type, ZSTR_VAL(error_filename), error_lineno, msg); ++#endif + } + } + else if (type == E_NOTICE || type == E_USER_NOTICE || type == E_STRICT || type == E_DEPRECATED || type == E_USER_DEPRECATED) + { + if (SEASLOG_G(trace_notice)) + { +- process_event_error("Notice", type, (char *) error_filename, error_lineno, msg TSRMLS_CC); ++#if PHP_VERSION_ID < 80100 ++ process_event_error("Notice", type, error_filename, error_lineno, msg TSRMLS_CC); ++#else ++ process_event_error("Notice", type, ZSTR_VAL(error_filename), error_lineno, msg); ++#endif + } + } + #if PHP_VERSION_ID < 80000 +-- +2.43.2 + |