From cae9dcee4bd61942192b4be078b33b04b5123d6d Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 29 Aug 2022 09:10:27 +0200 Subject: update to 1.2.4 --- .gitignore | 2 + PHPINFO | 2 +- REFLECTION | 158 +++++++++++++++++++++++++----- php-pecl-yaz.spec | 21 ++-- yaz-php8.patch | 284 ------------------------------------------------------ 5 files changed, 145 insertions(+), 322 deletions(-) delete mode 100644 yaz-php8.patch diff --git a/.gitignore b/.gitignore index 1ab5c4f..01f0400 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ +clog package-*.xml *.tgz +*.tar.bz2 *.tar.gz *.tar.xz *.tar.xz.asc diff --git a/PHPINFO b/PHPINFO index 954d32c..f5e0259 100644 --- a/PHPINFO +++ b/PHPINFO @@ -2,6 +2,6 @@ yaz YAZ Support => enabled -PHP/YAZ Version => 1.2.3 +PHP/YAZ Version => 1.2.4 YAZ Version => 5.14.11 Compiled with YAZ version => 5.14.11 diff --git a/REFLECTION b/REFLECTION index 44a9038..e742019 100644 --- a/REFLECTION +++ b/REFLECTION @@ -1,4 +1,4 @@ -Extension [ extension #177 yaz version 1.2.3 ] { +Extension [ extension #119 yaz version 1.2.4 ] { - INI { Entry [ yaz.max_links ] @@ -16,98 +16,210 @@ Extension [ extension #177 yaz version 1.2.3 ] { } - Constants [10] { - Constant [ integer ZOOM_EVENT_NONE ] { 0 } - Constant [ integer ZOOM_EVENT_CONNECT ] { 1 } - Constant [ integer ZOOM_EVENT_SEND_DATA ] { 2 } - Constant [ integer ZOOM_EVENT_RECV_DATA ] { 3 } - Constant [ integer ZOOM_EVENT_TIMEOUT ] { 4 } - Constant [ integer ZOOM_EVENT_UNKNOWN ] { 5 } - Constant [ integer ZOOM_EVENT_SEND_APDU ] { 6 } - Constant [ integer ZOOM_EVENT_RECV_APDU ] { 7 } - Constant [ integer ZOOM_EVENT_RECV_RECORD ] { 8 } - Constant [ integer ZOOM_EVENT_RECV_SEARCH ] { 9 } + Constant [ int ZOOM_EVENT_NONE ] { 0 } + Constant [ int ZOOM_EVENT_CONNECT ] { 1 } + Constant [ int ZOOM_EVENT_SEND_DATA ] { 2 } + Constant [ int ZOOM_EVENT_RECV_DATA ] { 3 } + Constant [ int ZOOM_EVENT_TIMEOUT ] { 4 } + Constant [ int ZOOM_EVENT_UNKNOWN ] { 5 } + Constant [ int ZOOM_EVENT_SEND_APDU ] { 6 } + Constant [ int ZOOM_EVENT_RECV_APDU ] { 7 } + Constant [ int ZOOM_EVENT_RECV_RECORD ] { 8 } + Constant [ int ZOOM_EVENT_RECV_SEARCH ] { 9 } } - Functions { Function [ function yaz_connect ] { + + - Parameters [2] { + Parameter #0 [ $url ] + Parameter #1 [ $options = ] + } } Function [ function yaz_close ] { + + - Parameters [1] { + Parameter #0 [ $id ] + } } Function [ function yaz_search ] { + + - Parameters [3] { + Parameter #0 [ $id ] + Parameter #1 [ $type ] + Parameter #2 [ $query ] + } } Function [ function yaz_wait ] { - Parameters [1] { - Parameter #0 [ &$param0 ] + Parameter #0 [ &$options = ] } } Function [ function yaz_errno ] { + + - Parameters [1] { + Parameter #0 [ $id ] + } } Function [ function yaz_error ] { + + - Parameters [1] { + Parameter #0 [ $id ] + } } Function [ function yaz_addinfo ] { + + - Parameters [1] { + Parameter #0 [ $id ] + } } Function [ function yaz_hits ] { - Parameters [2] { - Parameter #0 [ $param0 ] - Parameter #1 [ &$param1 ] + Parameter #0 [ $id ] + Parameter #1 [ &$searchresult = ] } } Function [ function yaz_record ] { + + - Parameters [3] { + Parameter #0 [ $id ] + Parameter #1 [ $pos ] + Parameter #2 [ $type ] + } } Function [ function yaz_syntax ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $syntax ] + } } Function [ function yaz_element ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $elementsetname ] + } } Function [ function yaz_range ] { + + - Parameters [3] { + Parameter #0 [ $id ] + Parameter #1 [ $start ] + Parameter #2 [ $number ] + } } Function [ function yaz_itemorder ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $package ] + } } Function [ function yaz_es_result ] { + + - Parameters [1] { + Parameter #0 [ $id ] + } } Function [ function yaz_scan ] { + + - Parameters [4] { + Parameter #0 [ $id ] + Parameter #1 [ $type ] + Parameter #2 [ $query ] + Parameter #3 [ $flags = ] + } } Function [ function yaz_scan_result ] { - Parameters [2] { - Parameter #0 [ $param0 ] - Parameter #1 [ &$param1 ] + Parameter #0 [ $id ] + Parameter #1 [ &$options = ] } } Function [ function yaz_present ] { + + - Parameters [1] { + Parameter #0 [ $id ] + } } Function [ function yaz_ccl_conf ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $package ] + } } Function [ function yaz_ccl_parse ] { - Parameters [3] { - Parameter #0 [ $param0 ] - Parameter #1 [ $param1 ] - Parameter #2 [ &$param2 ] + Parameter #0 [ $id ] + Parameter #1 [ $query ] + Parameter #2 [ &$result ] } } Function [ function yaz_cql_parse ] { - - Parameters [3] { - Parameter #0 [ $param0 ] - Parameter #1 [ $param1 ] - Parameter #2 [ &$param2 ] + - Parameters [4] { + Parameter #0 [ $id ] + Parameter #1 [ $cql ] + Parameter #2 [ &$result ] + Parameter #3 [ $rev ] } } Function [ function yaz_cql_conf ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $package ] + } } Function [ function yaz_database ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $databases ] + } } Function [ function yaz_sort ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $sortspec ] + } } Function [ function yaz_schema ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $schema ] + } } Function [ function yaz_set_option ] { + + - Parameters [3] { + Parameter #0 [ $id ] + Parameter #1 [ $options_or_name ] + Parameter #2 [ $value = ] + } } Function [ function yaz_get_option ] { + + - Parameters [2] { + Parameter #0 [ $id ] + Parameter #1 [ $name ] + } } Function [ function yaz_es ] { + + - Parameters [3] { + Parameter #0 [ $id ] + Parameter #1 [ $type ] + Parameter #2 [ $package ] + } } } } diff --git a/php-pecl-yaz.spec b/php-pecl-yaz.spec index 97f75f3..f3db40e 100644 --- a/php-pecl-yaz.spec +++ b/php-pecl-yaz.spec @@ -1,6 +1,6 @@ # remirepo spec file for php-pecl-yaz # -# Copyright (c) 2014-2020 Remi Collet +# Copyright (c) 2014-2022 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # @@ -25,16 +25,14 @@ Summary: Z39.50/SRU client Name: %{?sub_prefix}php-pecl-%{pecl_name} -Version: 1.2.3 -Release: 4%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Version: 1.2.4 +Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: BSD URL: https://pecl.php.net/package/%{pecl_name} Source0: https://pecl.php.net/get/%{pecl_name}-%{version}.tgz -# Upstream patches -Patch0: %{pecl_name}-php8.patch - BuildRequires: %{?dtsprefix}gcc +BuildRequires: make BuildRequires: %{?scl_prefix}php-devel BuildRequires: %{?scl_prefix}php-pear BuildRequires: libyaz-devel >= 3.0.2 @@ -69,12 +67,6 @@ Obsoletes: php80-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 This extension implements a Z39.50/SRU client for PHP using the @@ -99,8 +91,6 @@ sed -e 's/role="test"/role="src"/' \ -i package.xml cd NTS -%patch0 -p1 -b .up - # Sanity check, really often broken extver=$(sed -n '/#define PHP_YAZ_VERSION/{s/.* "//;s/".*$//;p}' php_yaz.h) if test "x${extver}" != "x%{version}"; then @@ -237,6 +227,9 @@ REPORT_EXIT_STATUS=1 \ %changelog +* Mon Aug 29 2022 Remi Collet - 1.2.4-1 +- update to 1.2.4 + * Thu Oct 1 2020 Remi Collet - 1.2.3-4 - add upstream patches for PHP 8 diff --git a/yaz-php8.patch b/yaz-php8.patch deleted file mode 100644 index 87daab8..0000000 --- a/yaz-php8.patch +++ /dev/null @@ -1,284 +0,0 @@ -From e629fb640e11f2358c04fe72d50afbd0a004596c Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Wed, 23 Sep 2020 16:44:57 +0200 -Subject: [PATCH] add arginfo for all functions - drop support for PHP 4.x - - add compatibility with PHP 8 - ---- - .gitignore | 2 + - package.xml | 2 +- - php_yaz.c | 209 +++++++++++++++++++++++++++++++++++++++------------- - 3 files changed, 162 insertions(+), 51 deletions(-) - -diff --git a/php_yaz.c b/php_yaz.c -index e157815..64b5079 100644 ---- a/php_yaz.c -+++ b/php_yaz.c -@@ -18,6 +18,12 @@ - - #include "php_yaz.h" - -+/* for PHP 8+ */ -+#ifndef TSRMLS_CC -+#define TSRMLS_CC -+#define TSRMLS_DC -+#endif -+ - #ifndef YAZ_VERSIONL - #error YAZ version 3.0.2 or later must be used. - #elif YAZ_VERSIONL < 0x030020 -@@ -138,62 +144,165 @@ static int le_link; - ZEND_GET_MODULE(yaz) - #endif - --#ifdef ZEND_BEGIN_ARG_INFO -- ZEND_BEGIN_ARG_INFO(first_argument_force_ref, 0) -- ZEND_ARG_PASS_INFO(1) -- ZEND_END_ARG_INFO(); -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_connect, 0, 0, 1) -+ ZEND_ARG_INFO(0, url) -+ ZEND_ARG_INFO(0, options) -+ZEND_END_ARG_INFO(); - -- ZEND_BEGIN_ARG_INFO(second_argument_force_ref, 0) -- ZEND_ARG_PASS_INFO(0) -- ZEND_ARG_PASS_INFO(1) -- ZEND_END_ARG_INFO(); -- -- ZEND_BEGIN_ARG_INFO(third_argument_force_ref, 0) -- ZEND_ARG_PASS_INFO(0) -- ZEND_ARG_PASS_INFO(0) -- ZEND_ARG_PASS_INFO(1) -- ZEND_END_ARG_INFO(); --#else --static unsigned char first_argument_force_ref[] = { -- 1, BYREF_FORCE }; --static unsigned char second_argument_force_ref[] = { -- 2, BYREF_NONE, BYREF_FORCE }; --static unsigned char third_argument_force_ref[] = { -- 3, BYREF_NONE, BYREF_NONE, BYREF_FORCE }; --#endif -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_close, 0, 0, 1) -+ ZEND_ARG_INFO(0, id) -+ZEND_END_ARG_INFO(); -+ -+#define arginfo_yaz_present arginfo_yaz_close -+ -+#define arginfo_yaz_errno arginfo_yaz_close -+ -+#define arginfo_yaz_error arginfo_yaz_close -+ -+#define arginfo_yaz_addinfo arginfo_yaz_close -+ -+#define arginfo_yaz_es_result arginfo_yaz_close -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_search, 0, 0, 3) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, type) -+ ZEND_ARG_INFO(0, query) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_wait, 0, 0, 0) -+ ZEND_ARG_INFO(1, options) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_hits, 0, 0, 1) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(1, searchresult) -+ ZEND_ARG_INFO(0, query) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_record, 0, 0, 3) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, pos) -+ ZEND_ARG_INFO(0, type) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_syntax, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, syntax) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_element, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, elementsetname) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_schema, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, schema) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_set_option, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, options_or_name) -+ ZEND_ARG_INFO(0, value) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_get_option, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, name) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_range, 0, 0, 3) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, start) -+ ZEND_ARG_INFO(0, number) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_sort, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, sortspec) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_itemorder, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, package) -+ZEND_END_ARG_INFO(); -+ -+#define arginfo_yaz_ccl_conf arginfo_yaz_itemorder -+ -+#define arginfo_yaz_cql_conf arginfo_yaz_itemorder -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_es, 0, 0, 3) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, type) -+ ZEND_ARG_INFO(0, package) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_scan, 0, 0, 3) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, type) -+ ZEND_ARG_INFO(0, query) -+ ZEND_ARG_INFO(0, flags) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_scan_result, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(1, options) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_ccl_parse, 0, 0, 3) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, query) -+ ZEND_ARG_INFO(1, result) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_cql_parse, 0, 0, 4) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, cql) -+ ZEND_ARG_INFO(1, result) -+ ZEND_ARG_INFO(0, rev) -+ZEND_END_ARG_INFO(); -+ -+ZEND_BEGIN_ARG_INFO_EX(arginfo_databases, 0, 0, 2) -+ ZEND_ARG_INFO(0, id) -+ ZEND_ARG_INFO(0, package) -+ZEND_END_ARG_INFO(); - - - zend_function_entry yaz_functions [] = { -- PHP_FE(yaz_connect, NULL) -- PHP_FE(yaz_close, NULL) -- PHP_FE(yaz_search, NULL) -- PHP_FE(yaz_wait, first_argument_force_ref) -- PHP_FE(yaz_errno, NULL) -- PHP_FE(yaz_error, NULL) -- PHP_FE(yaz_addinfo, NULL) -- PHP_FE(yaz_hits, second_argument_force_ref) -- PHP_FE(yaz_record, NULL) -- PHP_FE(yaz_syntax, NULL) -- PHP_FE(yaz_element, NULL) -- PHP_FE(yaz_range, NULL) -- PHP_FE(yaz_itemorder, NULL) -- PHP_FE(yaz_es_result, NULL) -- PHP_FE(yaz_scan, NULL) -- PHP_FE(yaz_scan_result, second_argument_force_ref) -- PHP_FE(yaz_present, NULL) -- PHP_FE(yaz_ccl_conf, NULL) -- PHP_FE(yaz_ccl_parse, third_argument_force_ref) -+ PHP_FE(yaz_connect, arginfo_yaz_connect) -+ PHP_FE(yaz_close, arginfo_yaz_close) -+ PHP_FE(yaz_search, arginfo_yaz_search) -+ PHP_FE(yaz_wait, arginfo_yaz_wait) -+ PHP_FE(yaz_errno, arginfo_yaz_errno) -+ PHP_FE(yaz_error, arginfo_yaz_error) -+ PHP_FE(yaz_addinfo, arginfo_yaz_addinfo) -+ PHP_FE(yaz_hits, arginfo_yaz_hits) -+ PHP_FE(yaz_record, arginfo_yaz_record) -+ PHP_FE(yaz_syntax, arginfo_yaz_syntax) -+ PHP_FE(yaz_element, arginfo_yaz_element) -+ PHP_FE(yaz_range, arginfo_yaz_range) -+ PHP_FE(yaz_itemorder, arginfo_yaz_itemorder) -+ PHP_FE(yaz_es_result, arginfo_yaz_es_result) -+ PHP_FE(yaz_scan, arginfo_yaz_scan) -+ PHP_FE(yaz_scan_result, arginfo_yaz_scan_result) -+ PHP_FE(yaz_present, arginfo_yaz_present) -+ PHP_FE(yaz_ccl_conf, arginfo_yaz_ccl_conf) -+ PHP_FE(yaz_ccl_parse, arginfo_yaz_ccl_parse) - #if YAZ_VERSIONL >= 0x050100 -- PHP_FE(yaz_cql_parse, third_argument_force_ref) -- PHP_FE(yaz_cql_conf, NULL) --#endif -- PHP_FE(yaz_database, NULL) -- PHP_FE(yaz_sort, NULL) -- PHP_FE(yaz_schema, NULL) -- PHP_FE(yaz_set_option, NULL) -- PHP_FE(yaz_get_option, NULL) -- PHP_FE(yaz_es, NULL) -+ PHP_FE(yaz_cql_parse, arginfo_yaz_cql_parse) -+ PHP_FE(yaz_cql_conf, arginfo_yaz_cql_conf) -+#endif -+ PHP_FE(yaz_database, arginfo_databases) -+ PHP_FE(yaz_sort, arginfo_yaz_sort) -+ PHP_FE(yaz_schema, arginfo_yaz_schema) -+ PHP_FE(yaz_set_option, arginfo_yaz_set_option) -+ PHP_FE(yaz_get_option, arginfo_yaz_get_option) -+ PHP_FE(yaz_es, arginfo_yaz_es) -+#ifdef PHP_FE_END -+ PHP_FE_END -+#else - {NULL, NULL, NULL} -+#endif - }; - - static void get_assoc(INTERNAL_FUNCTION_PARAMETERS, zval *id, Yaz_Association *assocp) -From 323962299bae3b2085dde44790785a39878f5f9a Mon Sep 17 00:00:00 2001 -From: Adam Dickmeiss -Date: Thu, 24 Sep 2020 19:45:58 +0200 -Subject: [PATCH] Fixes for arg info - ---- - php_yaz.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/php_yaz.c b/php_yaz.c -index 64b5079..de9693d 100644 ---- a/php_yaz.c -+++ b/php_yaz.c -@@ -176,7 +176,6 @@ ZEND_END_ARG_INFO(); - ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_hits, 0, 0, 1) - ZEND_ARG_INFO(0, id) - ZEND_ARG_INFO(1, searchresult) -- ZEND_ARG_INFO(0, query) - ZEND_END_ARG_INFO(); - - ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_record, 0, 0, 3) -@@ -244,7 +243,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_scan, 0, 0, 3) - ZEND_ARG_INFO(0, flags) - ZEND_END_ARG_INFO(); - --ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_scan_result, 0, 0, 2) -+ZEND_BEGIN_ARG_INFO_EX(arginfo_yaz_scan_result, 0, 0, 1) - ZEND_ARG_INFO(0, id) - ZEND_ARG_INFO(1, options) - ZEND_END_ARG_INFO(); -@@ -264,7 +263,7 @@ ZEND_END_ARG_INFO(); - - ZEND_BEGIN_ARG_INFO_EX(arginfo_databases, 0, 0, 2) - ZEND_ARG_INFO(0, id) -- ZEND_ARG_INFO(0, package) -+ ZEND_ARG_INFO(0, databases) - ZEND_END_ARG_INFO(); - - -- cgit