From 40b6a5cc27cfc2f5435e90d4fb216a924be5f5e3 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 26 Jun 2023 17:48:10 +0200 Subject: update to 1.22.0 --- PHPINFO | 4 +- REFLECTION | 88 +++++++++++++++++++++++++++---- php-pecl-zip.spec | 11 ++-- zip-php83.patch | 154 ------------------------------------------------------ 4 files changed, 85 insertions(+), 172 deletions(-) delete mode 100644 zip-php83.patch diff --git a/PHPINFO b/PHPINFO index 492c809..0db62da 100644 --- a/PHPINFO +++ b/PHPINFO @@ -2,8 +2,8 @@ zip Zip => enabled -Zip version => 1.21.1 -Libzip version => 1.9.2 +Zip version => 1.22.0 +Libzip version => 1.10.0 BZIP2 compression => Yes XZ compression => Yes ZSTD compression => Yes diff --git a/REFLECTION b/REFLECTION index 9b1f3db..6b7f4df 100644 --- a/REFLECTION +++ b/REFLECTION @@ -1,4 +1,4 @@ -Extension [ extension #66 zip version 1.21.1 ] { +Extension [ extension #66 zip version 1.22.0 ] { - Functions { Function [ function zip_open ] { @@ -77,7 +77,7 @@ Extension [ extension #66 zip version 1.21.1 ] { - Classes [1] { Class [ class ZipArchive implements Countable ] { - - Constants [100] { + - Constants [106] { Constant [ public int CREATE ] { 1 } Constant [ public int EXCL ] { 2 } Constant [ public int CHECKCONS ] { 4 } @@ -150,6 +150,12 @@ Extension [ extension #66 zip version 1.21.1 ] { Constant [ public int ER_TELL ] { 30 } Constant [ public int ER_COMPRESSED_DATA ] { 31 } Constant [ public int ER_CANCELLED ] { 32 } + Constant [ public int ER_DATA_LENGTH ] { 33 } + Constant [ public int ER_NOT_ALLOWED ] { 34 } + Constant [ public int AFL_RDONLY ] { 2 } + Constant [ public int AFL_IS_TORRENTZIP ] { 4 } + Constant [ public int AFL_WANT_TORRENTZIP ] { 8 } + Constant [ public int AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE ] { 16 } Constant [ public int OPSYS_DOS ] { 0 } Constant [ public int OPSYS_AMIGA ] { 1 } Constant [ public int OPSYS_OPENVMS ] { 2 } @@ -177,7 +183,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Constant [ public int EM_AES_192 ] { 258 } Constant [ public int EM_AES_256 ] { 259 } Constant [ public int EM_UNKNOWN ] { 65535 } - Constant [ public string LIBZIP_VERSION ] { 1.9.2 } + Constant [ public string LIBZIP_VERSION ] { 1.10.0 } } - Static properties [0] { @@ -204,21 +210,22 @@ Extension [ extension #66 zip version 1.21.1 ] { } - Properties [6] { - Property [ public $lastId = NULL ] - Property [ public $status = NULL ] - Property [ public $statusSys = NULL ] - Property [ public $numFiles = NULL ] - Property [ public $filename = NULL ] - Property [ public $comment = NULL ] + Property [ public int $lastId ] + Property [ public int $status ] + Property [ public int $statusSys ] + Property [ public int $numFiles ] + Property [ public string $filename ] + Property [ public string $comment ] } - - Methods [48] { + - Methods [50] { Method [ public method open ] { - Parameters [2] { Parameter #0 [ string $filename ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ int|bool ] } Method [ public method setPassword ] { @@ -226,24 +233,28 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ string $password ] } + - Tentative return [ bool ] } Method [ public method close ] { - Parameters [0] { } + - Tentative return [ bool ] } Method [ public method count ] { - Parameters [0] { } + - Tentative return [ int ] } Method [ public method getStatusString ] { - Parameters [0] { } + - Tentative return [ string ] } Method [ public method clearError ] { @@ -259,6 +270,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ string $dirname ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method addFromString ] { @@ -268,6 +280,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ string $content ] Parameter #2 [ int $flags = ZipArchive::FL_OVERWRITE ] } + - Tentative return [ bool ] } Method [ public method addFile ] { @@ -279,6 +292,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #3 [ int $length = 0 ] Parameter #4 [ int $flags = ZipArchive::FL_OVERWRITE ] } + - Tentative return [ bool ] } Method [ public method replaceFile ] { @@ -290,6 +304,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #3 [ int $length = 0 ] Parameter #4 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method addGlob ] { @@ -299,6 +314,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $flags = 0 ] Parameter #2 [ array $options = [] ] } + - Tentative return [ array|false ] } Method [ public method addPattern ] { @@ -308,6 +324,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ string $path = "." ] Parameter #2 [ array $options = [] ] } + - Tentative return [ array|false ] } Method [ public method renameIndex ] { @@ -316,6 +333,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ int $index ] Parameter #1 [ string $new_name ] } + - Tentative return [ bool ] } Method [ public method renameName ] { @@ -324,6 +342,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ string $name ] Parameter #1 [ string $new_name ] } + - Tentative return [ bool ] } Method [ public method setArchiveComment ] { @@ -331,6 +350,7 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ string $comment ] } + - Tentative return [ bool ] } Method [ public method getArchiveComment ] { @@ -338,6 +358,25 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ int $flags = 0 ] } + - Tentative return [ string|false ] + } + + Method [ public method setArchiveFlag ] { + + - Parameters [2] { + Parameter #0 [ int $flag ] + Parameter #1 [ int $value ] + } + - Return [ bool ] + } + + Method [ public method getArchiveFlag ] { + + - Parameters [2] { + Parameter #0 [ int $flag ] + Parameter #1 [ int $flags = 0 ] + } + - Return [ int ] } Method [ public method setCommentIndex ] { @@ -346,6 +385,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ int $index ] Parameter #1 [ string $comment ] } + - Tentative return [ bool ] } Method [ public method setCommentName ] { @@ -354,6 +394,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ string $name ] Parameter #1 [ string $comment ] } + - Tentative return [ bool ] } Method [ public method setMtimeIndex ] { @@ -363,6 +404,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $timestamp ] Parameter #2 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method setMtimeName ] { @@ -372,6 +414,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $timestamp ] Parameter #2 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method getCommentIndex ] { @@ -380,6 +423,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ int $index ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ string|false ] } Method [ public method getCommentName ] { @@ -388,6 +432,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ string $name ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ string|false ] } Method [ public method deleteIndex ] { @@ -395,6 +440,7 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ int $index ] } + - Tentative return [ bool ] } Method [ public method deleteName ] { @@ -402,6 +448,7 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ string $name ] } + - Tentative return [ bool ] } Method [ public method statName ] { @@ -410,6 +457,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ string $name ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ array|false ] } Method [ public method statIndex ] { @@ -418,6 +466,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ int $index ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ array|false ] } Method [ public method locateName ] { @@ -426,6 +475,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ string $name ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ int|false ] } Method [ public method getNameIndex ] { @@ -434,18 +484,21 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ int $index ] Parameter #1 [ int $flags = 0 ] } + - Tentative return [ string|false ] } Method [ public method unchangeArchive ] { - Parameters [0] { } + - Tentative return [ bool ] } Method [ public method unchangeAll ] { - Parameters [0] { } + - Tentative return [ bool ] } Method [ public method unchangeIndex ] { @@ -453,6 +506,7 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ int $index ] } + - Tentative return [ bool ] } Method [ public method unchangeName ] { @@ -460,6 +514,7 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ string $name ] } + - Tentative return [ bool ] } Method [ public method extractTo ] { @@ -468,6 +523,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ string $pathto ] Parameter #1 [ array|string|null $files = null ] } + - Tentative return [ bool ] } Method [ public method getFromName ] { @@ -477,6 +533,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $len = 0 ] Parameter #2 [ int $flags = 0 ] } + - Tentative return [ string|false ] } Method [ public method getFromIndex ] { @@ -486,6 +543,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $len = 0 ] Parameter #2 [ int $flags = 0 ] } + - Tentative return [ string|false ] } Method [ public method getStreamIndex ] { @@ -519,6 +577,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #2 [ int $attr ] Parameter #3 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method setExternalAttributesIndex ] { @@ -529,6 +588,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #2 [ int $attr ] Parameter #3 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method getExternalAttributesName ] { @@ -539,6 +599,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #2 [ &$attr ] Parameter #3 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method getExternalAttributesIndex ] { @@ -549,6 +610,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #2 [ &$attr ] Parameter #3 [ int $flags = 0 ] } + - Tentative return [ bool ] } Method [ public method setCompressionName ] { @@ -558,6 +620,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $method ] Parameter #2 [ int $compflags = 0 ] } + - Tentative return [ bool ] } Method [ public method setCompressionIndex ] { @@ -567,6 +630,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $method ] Parameter #2 [ int $compflags = 0 ] } + - Tentative return [ bool ] } Method [ public method setEncryptionName ] { @@ -576,6 +640,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $method ] Parameter #2 [ ?string $password = null ] } + - Tentative return [ bool ] } Method [ public method setEncryptionIndex ] { @@ -585,6 +650,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #1 [ int $method ] Parameter #2 [ ?string $password = null ] } + - Tentative return [ bool ] } Method [ public method registerProgressCallback ] { @@ -593,6 +659,7 @@ Extension [ extension #66 zip version 1.21.1 ] { Parameter #0 [ float $rate ] Parameter #1 [ callable $callback ] } + - Tentative return [ bool ] } Method [ public method registerCancelCallback ] { @@ -600,6 +667,7 @@ Extension [ extension #66 zip version 1.21.1 ] { - Parameters [1] { Parameter #0 [ callable $callback ] } + - Tentative return [ bool ] } } } diff --git a/php-pecl-zip.spec b/php-pecl-zip.spec index 9fa3e6f..a9f6e5c 100644 --- a/php-pecl-zip.spec +++ b/php-pecl-zip.spec @@ -26,7 +26,7 @@ %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global pecl_name zip -%global upstream_version 1.21.1 +%global upstream_version 1.22.0 #global upstream_prever dev #global upstream_lower DEV @@ -42,15 +42,13 @@ Summary: A ZIP archive management extension Name: %{?scl_prefix}php-pecl-zip Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}} -Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: PHP-3.01 Group: Development/Languages URL: https://pecl.php.net/package/zip Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz -Patch0: %{pecl_name}-php83.patch - BuildRequires: make BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel @@ -140,8 +138,6 @@ sed -e 's/role="test"/role="src"/' \ -i package.xml cd NTS -%patch -P0 -p1 - # Sanity check, really often broken extver=$(sed -n '/#define PHP_ZIP_VERSION/{s/.* "//;s/".*$//;p}' php7/php_zip.h) if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}" -a "x${extver}" != "x%{upstream_version}-%{?upstream_prever}"; then @@ -283,6 +279,9 @@ fi %changelog +* Mon Jun 26 2023 Remi Collet - 1.22.0-1 +- update to 1.22.0 + * Mon Jun 5 2023 Remi Collet - 1.21.1-2 - add upstream patches for 8.3 diff --git a/zip-php83.patch b/zip-php83.patch deleted file mode 100644 index 238d6a1..0000000 --- a/zip-php83.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 85624b566aa4f3c9d0e676fbc6127795e1f77f24 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Tue, 30 May 2023 17:00:32 +0200 -Subject: [PATCH] sync changes from 8.3 - ---- - php81/php_zip.c | 25 +++++++++++++++++-------- - php81/php_zip.stub.php | 23 ++++++++++++++++++++++- - php81/php_zip_arginfo.h | 16 ++++++++++------ - 3 files changed, 49 insertions(+), 15 deletions(-) - -diff --git a/php81/php_zip.c b/php81/php_zip.c -index 1d7c7e9..4ba1319 100644 ---- a/php81/php_zip.c -+++ b/php81/php_zip.c -@@ -39,6 +39,10 @@ - #endif - #endif - -+#if PHP_VERSION_ID < 80300 -+#define zend_zval_value_name(opt) zend_zval_type_name(opt) -+#endif -+ - /* {{{ Resource le */ - static int le_zip_dir; - #define le_zip_dir_name "Zip Directory" -@@ -354,7 +358,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts) - if ((option = zend_hash_str_find(options, "remove_all_path", sizeof("remove_all_path") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_FALSE && Z_TYPE_P(option) != IS_TRUE) { - php_error_docref(NULL, E_WARNING, "Option \"remove_all_path\" must be of type bool, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - } - opts->remove_all_path = zval_get_long(option); - } -@@ -362,14 +366,14 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts) - if ((option = zend_hash_str_find(options, "comp_method", sizeof("comp_method") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_LONG) { - php_error_docref(NULL, E_WARNING, "Option \"comp_method\" must be of type int, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - } - opts->comp_method = zval_get_long(option); - - if ((option = zend_hash_str_find(options, "comp_flags", sizeof("comp_flags") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_LONG) { - php_error_docref(NULL, E_WARNING, "Option \"comp_flags\" must be of type int, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - } - opts->comp_flags = zval_get_long(option); - } -@@ -379,14 +383,14 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts) - if ((option = zend_hash_str_find(options, "enc_method", sizeof("enc_method") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_LONG) { - php_error_docref(NULL, E_WARNING, "Option \"enc_method\" must be of type int, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - } - opts->enc_method = zval_get_long(option); - - if ((option = zend_hash_str_find(options, "enc_password", sizeof("enc_password") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_STRING) { - zend_type_error("Option \"enc_password\" must be of type string, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - return -1; - } - opts->enc_password = Z_STRVAL_P(option); -@@ -397,7 +401,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts) - if ((option = zend_hash_str_find(options, "remove_path", sizeof("remove_path") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_STRING) { - zend_type_error("Option \"remove_path\" must be of type string, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - return -1; - } - -@@ -417,7 +421,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts) - if ((option = zend_hash_str_find(options, "add_path", sizeof("add_path") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_STRING) { - zend_type_error("Option \"add_path\" must be of type string, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - return -1; - } - -@@ -437,7 +441,7 @@ static int php_zip_parse_options(HashTable *options, zip_options *opts) - if ((option = zend_hash_str_find(options, "flags", sizeof("flags") - 1)) != NULL) { - if (Z_TYPE_P(option) != IS_LONG) { - zend_type_error("Option \"flags\" must be of type int, %s given", -- zend_zval_type_name(option)); -+ zend_zval_value_name(option)); - return -1; - } - opts->flags = Z_LVAL_P(option); -@@ -1079,7 +1083,9 @@ static zend_object *php_zip_object_new(zend_class_entry *class_type) /* {{{ */ - intern->prop_handler = &zip_prop_handlers; - zend_object_std_init(&intern->zo, class_type); - object_properties_init(&intern->zo, class_type); -+#if PHP_VERSION_ID < 80300 - intern->zo.handlers = &zip_object_handlers; -+#endif - intern->last_id = -1; - - return &intern->zo; -@@ -3105,6 +3111,9 @@ static PHP_MINIT_FUNCTION(zip) - - zip_class_entry = register_class_ZipArchive(zend_ce_countable); - zip_class_entry->create_object = php_zip_object_new; -+#if PHP_VERSION_ID >= 80300 -+ zip_class_entry->default_object_handlers = &zip_object_handlers; -+#endif - - zend_hash_init(&zip_prop_handlers, 0, NULL, php_zip_free_prop_handler, 1); - php_zip_register_prop_handler(&zip_prop_handlers, "lastId", php_zip_last_id, NULL, IS_LONG); -From c26e4215686294971a13896e3da06312f4a18037 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Mon, 5 Jun 2023 16:31:35 +0200 -Subject: [PATCH] allow 8.3 - ---- - config.m4 | 4 ++-- - config.w32 | 2 ++ - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/config.m4 b/config.m4 -index 390108b..5d77eeb 100644 ---- a/config.m4 -+++ b/config.m4 -@@ -27,8 +27,8 @@ if test "$PHP_ZIP" != "no"; then - elif test $PHP_VERSION -lt 80100; then - AC_MSG_RESULT(8.0) - subdir=php8 -- elif test $PHP_VERSION -lt 80300; then -- AC_MSG_RESULT(8.1/8.2) -+ elif test $PHP_VERSION -lt 80400; then -+ AC_MSG_RESULT(8.1/8.2/8.3) - subdir=php81 - else - AC_MSG_ERROR(PHP version $PHP_VERSION is not supported yet) -diff --git a/config.w32 b/config.w32 -index 1d1c3e0..da42ba3 100644 ---- a/config.w32 -+++ b/config.w32 -@@ -32,6 +32,8 @@ if (PHP_ZIP != "no") { - configure_module_dirname = configure_module_dirname + "\\php81"; - } else if (PHP_VERSION == 8 && PHP_MINOR_VERSION == 2) { - configure_module_dirname = configure_module_dirname + "\\php81"; -+ } else if (PHP_VERSION == 8 && PHP_MINOR_VERSION == 3) { -+ configure_module_dirname = configure_module_dirname + "\\php81"; - } else { - ERROR("PHP " + PHP_VERSION + "." + PHP_MINOR_VERSION + " not supported"); - } -- cgit