summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2020-06-26 07:53:16 +0200
committerRemi Collet <remi@remirepo.net>2020-06-26 07:53:16 +0200
commite69a56b7c50b89ce8c6dcc40313585f8f3dcab52 (patch)
treed8bb4ebf1da3aedd99656f52c3e7bdc65775b084
parent0e0067c9056224a781b18d68a91eaba83e8ce35d (diff)
update to 5.3.0RC1
enable lz4 compression support drop patch merged upstream add upstream patch to fix lz4 library name add new option in provided configuration file
-rw-r--r--1750.patch59
-rw-r--r--PHPINFO5
-rw-r--r--REFLECTION38
-rw-r--r--php-pecl-redis5.spec61
-rw-r--r--redis-lz4.patch69
5 files changed, 137 insertions, 95 deletions
diff --git a/1750.patch b/1750.patch
deleted file mode 100644
index 4c3642e..0000000
--- a/1750.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 2d19ba1d6fe8f0f650d7b9bc02c5f1cb10dbb9e0 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Wed, 6 May 2020 08:54:43 +0200
-Subject: [PATCH] fix [-Wformat=] warning on 32-bit
-
----
- cluster_library.c | 2 +-
- redis_array.c | 4 ++--
- redis_cluster.c | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/cluster_library.c b/cluster_library.c
-index 191947c57..b21a68758 100644
---- a/cluster_library.c
-+++ b/cluster_library.c
-@@ -552,7 +552,7 @@ unsigned short cluster_hash_key_zval(zval *z_key) {
- klen = Z_STRLEN_P(z_key);
- break;
- case IS_LONG:
-- klen = snprintf(buf,sizeof(buf),"%ld",Z_LVAL_P(z_key));
-+ klen = snprintf(buf,sizeof(buf),ZEND_LONG_FMT,Z_LVAL_P(z_key));
- kptr = (const char *)buf;
- break;
- case IS_DOUBLE:
-diff --git a/redis_array.c b/redis_array.c
-index 7f8fa129d..bdd7120ef 100644
---- a/redis_array.c
-+++ b/redis_array.c
-@@ -926,7 +926,7 @@ PHP_METHOD(RedisArray, mget)
- key_len = Z_STRLEN_P(data);
- key_lookup = Z_STRVAL_P(data);
- } else {
-- key_len = snprintf(kbuf, sizeof(kbuf), "%ld", Z_LVAL_P(data));
-+ key_len = snprintf(kbuf, sizeof(kbuf), ZEND_LONG_FMT, Z_LVAL_P(data));
- key_lookup = (char*)kbuf;
- }
-
-@@ -1052,7 +1052,7 @@ PHP_METHOD(RedisArray, mset)
- key_len = ZSTR_LEN(zkey);
- key = ZSTR_VAL(zkey);
- } else {
-- key_len = snprintf(kbuf, sizeof(kbuf), "%lu", idx);
-+ key_len = snprintf(kbuf, sizeof(kbuf), ZEND_ULONG_FMT, idx);
- key = kbuf;
- }
-
-diff --git a/redis_cluster.c b/redis_cluster.c
-index ee218ba05..7f79b5fe8 100644
---- a/redis_cluster.c
-+++ b/redis_cluster.c
-@@ -2245,7 +2245,7 @@ cluster_cmd_get_slot(redisCluster *c, zval *z_arg)
-
- /* Inform the caller if they've passed bad data */
- if (slot < 0) {
-- php_error_docref(0, E_WARNING, "Unknown node %s:%ld",
-+ php_error_docref(0, E_WARNING, "Unknown node %s:" ZEND_LONG_FMT,
- Z_STRVAL_P(z_host), Z_LVAL_P(z_port));
- }
- } else {
diff --git a/PHPINFO b/PHPINFO
index 90787cf..ead9f0b 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -2,10 +2,10 @@
redis
Redis Support => enabled
-Redis Version => 5.2.2
+Redis Version => 5.3.0RC1
Redis Sentinel Version => 0.1
Available serializers => php, json, igbinary, msgpack
-Available compression => lzf, zstd
+Available compression => lzf, zstd, lz4
Directive => Local Value => Master Value
redis.arrays.algorithm => no value => no value
@@ -32,6 +32,7 @@ redis.clusters.timeout => 0 => 0
redis.pconnect.pooling_enabled => 1 => 1
redis.pconnect.connection_limit => 0 => 0
redis.pconnect.echo_check_liveness => 1 => 1
+redis.pconnect.pool_pattern => no value => no value
redis.session.locking_enabled => 0 => 0
redis.session.lock_expire => 0 => 0
redis.session.lock_retries => 10 => 10
diff --git a/REFLECTION b/REFLECTION
index 56f4cc9..0f1a2c7 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #112 redis version 5.2.2 ] {
+Extension [ <persistent> extension #114 redis version 5.3.0RC1 ] {
- Dependencies {
Dependency [ igbinary (Required) ]
@@ -80,6 +80,9 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
Entry [ redis.pconnect.echo_check_liveness <ALL> ]
Current = '1'
}
+ Entry [ redis.pconnect.pool_pattern <ALL> ]
+ Current = ''
+ }
Entry [ redis.session.locking_enabled <ALL> ]
Current = '0'
}
@@ -97,7 +100,7 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
- Classes [6] {
Class [ <internal:redis> class Redis ] {
- - Constants [33] {
+ - Constants [36] {
Constant [ public int REDIS_NOT_FOUND ] { 0 }
Constant [ public int REDIS_STRING ] { 1 }
Constant [ public int REDIS_SET ] { 2 }
@@ -126,9 +129,12 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
Constant [ public int COMPRESSION_ZSTD_MIN ] { 1 }
Constant [ public int COMPRESSION_ZSTD_DEFAULT ] { 3 }
Constant [ public int COMPRESSION_ZSTD_MAX ] { 22 }
+ Constant [ public int COMPRESSION_LZ4 ] { 3 }
Constant [ public int OPT_SCAN ] { 4 }
Constant [ public int SCAN_RETRY ] { 1 }
Constant [ public int SCAN_NORETRY ] { 0 }
+ Constant [ public int SCAN_PREFIX ] { 2 }
+ Constant [ public int SCAN_NOPREFIX ] { 3 }
Constant [ public string AFTER ] { after }
Constant [ public string BEFORE ] { before }
}
@@ -142,7 +148,7 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
- Properties [0] {
}
- - Methods [234] {
+ - Methods [235] {
Method [ <internal:redis, ctor> public method __construct ] {
- Parameters [0] {
@@ -176,6 +182,14 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
}
}
+ Method [ <internal:redis> public method acl ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> $subcmd ]
+ Parameter #1 [ <optional> ...$args ]
+ }
+ }
+
Method [ <internal:redis> public method append ] {
- Parameters [2] {
@@ -187,7 +201,7 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
Method [ <internal:redis> public method auth ] {
- Parameters [1] {
- Parameter #0 [ <required> $password ]
+ Parameter #0 [ <required> $auth ]
}
}
@@ -2288,7 +2302,7 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
Class [ <internal:redis> class RedisCluster ] {
- - Constants [37] {
+ - Constants [40] {
Constant [ public int REDIS_NOT_FOUND ] { 0 }
Constant [ public int REDIS_STRING ] { 1 }
Constant [ public int REDIS_SET ] { 2 }
@@ -2316,9 +2330,12 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
Constant [ public int COMPRESSION_ZSTD_MIN ] { 1 }
Constant [ public int COMPRESSION_ZSTD_DEFAULT ] { 3 }
Constant [ public int COMPRESSION_ZSTD_MAX ] { 22 }
+ Constant [ public int COMPRESSION_LZ4 ] { 3 }
Constant [ public int OPT_SCAN ] { 4 }
Constant [ public int SCAN_RETRY ] { 1 }
Constant [ public int SCAN_NORETRY ] { 0 }
+ Constant [ public int SCAN_PREFIX ] { 2 }
+ Constant [ public int SCAN_NOPREFIX ] { 3 }
Constant [ public int OPT_SLAVE_FAILOVER ] { 5 }
Constant [ public int FAILOVER_NONE ] { 0 }
Constant [ public int FAILOVER_ERROR ] { 1 }
@@ -2337,7 +2354,7 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
- Properties [0] {
}
- - Methods [185] {
+ - Methods [186] {
Method [ <internal:redis, ctor> public method __construct ] {
- Parameters [6] {
@@ -2383,6 +2400,15 @@ Extension [ <persistent> extension #112 redis version 5.2.2 ] {
}
}
+ Method [ <internal:redis> public method acl ] {
+
+ - Parameters [3] {
+ Parameter #0 [ <required> $key_or_address ]
+ Parameter #1 [ <required> $subcmd ]
+ Parameter #2 [ <optional> ...$args ]
+ }
+ }
+
Method [ <internal:redis> public method append ] {
- Parameters [2] {
diff --git a/php-pecl-redis5.spec b/php-pecl-redis5.spec
index 848f2de..ddcbc82 100644
--- a/php-pecl-redis5.spec
+++ b/php-pecl-redis5.spec
@@ -19,43 +19,44 @@
%global pecl_name redis
%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
-%global with_tests 0%{!?_without_tests:1}
-%global with_igbin 1
+%bcond_without tests
+%bcond_without igbinary
# after 20-json, 40-igbinary and 40-msgpack
%global ini_name 50-%{pecl_name}.ini
-%global upstream_version 5.2.2
-#global upstream_prever RC2
+%global upstream_version 5.3.0
+%global upstream_prever RC1
Summary: Extension for communicating with the Redis key-value store
Name: %{?sub_prefix}php-pecl-redis5
Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
-Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
-Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
+Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: PHP
URL: https://pecl.php.net/package/redis
+Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
-Patch0: https://patch-diff.githubusercontent.com/raw/phpredis/phpredis/pull/1750.patch
+Patch0: redis-lz4.patch
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel > 7
BuildRequires: %{?scl_prefix}php-pear
BuildRequires: %{?scl_prefix}php-json
-%if %{with_igbin}
+%if %{with igbinary}
BuildRequires: %{?scl_prefix}php-pecl-igbinary-devel
%endif
BuildRequires: %{?scl_prefix}php-pecl-msgpack-devel >= 2.0.3
BuildRequires: liblzf-devel
BuildRequires: libzstd-devel >= 1.3.0
+BuildRequires: lz4-devel
# to run Test suite
-%if %{with_tests}
+%if %{with tests}
BuildRequires: redis >= 3
%endif
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
Requires: %{?scl_prefix}php-json%{?_isa}
-%if %{with_igbin}
+%if %{with igbinary}
Requires: %{?scl_prefix}php-pecl(igbinary)%{?_isa}
%endif
Requires: %{?scl_prefix}php-pecl-msgpack%{?_isa}
@@ -188,6 +189,7 @@ extension = %{pecl_name}.so
;redis.pconnect.pooling_enabled = 1
;redis.pconnect.connection_limit = 0
;redis.pconnect.echo_check_liveness = 1
+;redis.pconnect.pool_pattern => ''
;redis.session.lock_expire = 0
;redis.session.lock_retries = 10
;redis.session.lock_wait_time = 2000
@@ -198,12 +200,11 @@ EOF
%build
%{?dtsenable}
-cd NTS
-%{_bindir}/phpize
+peclconf() {
%configure \
--enable-redis \
--enable-redis-session \
-%if %{with_igbin}
+%if %{with igbinary}
--enable-redis-igbinary \
%endif
--enable-redis-msgpack \
@@ -211,24 +212,20 @@ cd NTS
--with-liblzf \
--enable-redis-zstd \
--with-libzstd \
- --with-php-config=%{_bindir}/php-config
+ --enable-redis-lz4 \
+ --with-liblz4 \
+ --with-php-config=$1
+}
+
+cd NTS
+%{_bindir}/phpize
+peclconf %{_bindir}/php-config
make %{?_smp_mflags}
%if %{with_zts}
cd ../ZTS
%{_bindir}/zts-phpize
-%configure \
- --enable-redis \
- --enable-redis-session \
-%if %{with_igbin}
- --enable-redis-igbinary \
-%endif
- --enable-redis-msgpack \
- --enable-redis-lzf \
- --with-liblzf \
- --enable-redis-zstd \
- --with-libzstd \
- --with-php-config=%{_bindir}/zts-php-config
+peclconf %{_bindir}/zts-php-config
make %{?_smp_mflags}
%endif
@@ -259,7 +256,7 @@ done
%check
# simple module load test
DEPS="--no-php-ini --define extension=json.so"
-%if %{with_igbin}
+%if %{with igbinary}
DEPS="$DEPS --define extension=igbinary.so"
%endif
DEPS="$DEPS --define extension=msgpack.so"
@@ -274,7 +271,7 @@ DEPS="$DEPS --define extension=msgpack.so"
--modules | grep %{pecl_name}
%endif
-%if %{with_tests}
+%if %{with tests}
cd NTS/tests
: Launch redis server
@@ -346,11 +343,19 @@ fi
%changelog
+* Fri Jun 26 2020 Remi Collet <remi@remirepo.net> - 5.3.0~RC1-1
+- update to 5.3.0RC1
+- enable lz4 compression support
+- drop patch merged upstream
+- add upstream patch to fix lz4 library name
+- add new option in provided configuration file
+
* Wed May 6 2020 Remi Collet <remi@remirepo.net> - 5.2.2-2
- test build for https://github.com/phpredis/phpredis/pull/1750
* Wed May 6 2020 Remi Collet <remi@remirepo.net> - 5.2.2-1
- update to 5.2.2
+- refresh options in provided configuration file
* Fri Mar 20 2020 Remi Collet <remi@remirepo.net> - 5.2.1-1
- update to 5.2.1
diff --git a/redis-lz4.patch b/redis-lz4.patch
new file mode 100644
index 0000000..6357c09
--- /dev/null
+++ b/redis-lz4.patch
@@ -0,0 +1,69 @@
+From 19269cb1db073376364d2655fc828daeb8f1006e Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Fri, 26 Jun 2020 07:18:57 +0200
+Subject: [PATCH 1/2] fix lz4 library name
+
+---
+ config.m4 | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/config.m4 b/config.m4
+index 3044930..2105801 100644
+--- a/config.m4
++++ b/config.m4
+@@ -201,7 +201,8 @@ if test "$PHP_REDIS" != "no"; then
+ fi
+
+ if test "$PHP_REDIS_LZ4" != "no"; then
+- AC_DEFINE(HAVE_REDIS_LZ4, 1, [ ])
++ AC_DEFINE(HAVE_REDIS_LZ4, 1, [ ])
++ if test "$PHP_LIBZSTD" != "no"; then
+ AC_MSG_CHECKING(for liblz4 files in default path)
+ for i in $PHP_LIBLZ4 /usr/local /usr; do
+ if test -r $i/include/lz4.h; then
+@@ -216,13 +217,16 @@ if test "$PHP_REDIS" != "no"; then
+ fi
+ PHP_CHECK_LIBRARY(lz4, LZ4_compress,
+ [
+- PHP_ADD_LIBRARY_WITH_PATH(zstd, $LIBLZ4_DIR/$PHP_LIBDIR, REDIS_SHARED_LIBADD)
++ PHP_ADD_LIBRARY_WITH_PATH(lz4, $LIBLZ4_DIR/$PHP_LIBDIR, REDIS_SHARED_LIBADD)
+ ], [
+ AC_MSG_ERROR([could not find usable liblz4])
+ ], [
+ -L$LIBLZ4_DIR/$PHP_LIBDIR
+ ])
+ PHP_SUBST(REDIS_SHARED_LIBADD)
++ else
++ AC_MSG_ERROR([only system libz4 is supported])
++ fi
+ fi
+
+ if test "$PHP_REDIS_ZSTD" != "no"; then
+--
+2.25.4
+
+From e5de8fa1ffa4824944283d78e9475df527567a49 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Fri, 26 Jun 2020 07:21:21 +0200
+Subject: [PATCH 2/2] copy/paste err
+
+---
+ config.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config.m4 b/config.m4
+index 2105801..4445400 100644
+--- a/config.m4
++++ b/config.m4
+@@ -202,7 +202,7 @@ if test "$PHP_REDIS" != "no"; then
+
+ if test "$PHP_REDIS_LZ4" != "no"; then
+ AC_DEFINE(HAVE_REDIS_LZ4, 1, [ ])
+- if test "$PHP_LIBZSTD" != "no"; then
++ if test "$PHP_LIBLZ4" != "no"; then
+ AC_MSG_CHECKING(for liblz4 files in default path)
+ for i in $PHP_LIBLZ4 /usr/local /usr; do
+ if test -r $i/include/lz4.h; then
+--
+2.25.4
+