summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2018-06-28 12:13:50 +0200
committerRemi Collet <remi@remirepo.net>2018-06-28 12:13:50 +0200
commit3275e985d2b4216728dce7d770c9578c25c18572 (patch)
treefbcc61d31c38442d504cde35b3a1ccb0b7a89233
parent27a464ef5635ef6ede1c253c6333b3589e7ad576 (diff)
add upstream patch for PHP 7.3
-rw-r--r--330.patch (renamed from memcached-pr330.patch)0
-rw-r--r--8bfdbcc9063dafcb25fdb1d1705e07ee027d7379.patch65
-rw-r--r--PHPINFO39
-rw-r--r--REFLECTION266
-rw-r--r--php-pecl-memcached.spec12
5 files changed, 246 insertions, 136 deletions
diff --git a/memcached-pr330.patch b/330.patch
index aa6739f..aa6739f 100644
--- a/memcached-pr330.patch
+++ b/330.patch
diff --git a/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379.patch b/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379.patch
new file mode 100644
index 0000000..bde5acc
--- /dev/null
+++ b/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379.patch
@@ -0,0 +1,65 @@
+From 8bfdbcc9063dafcb25fdb1d1705e07ee027d7379 Mon Sep 17 00:00:00 2001
+From: Aaron Stone <aaron@serendipity.cx>
+Date: Thu, 29 Mar 2018 23:26:46 -0700
+Subject: [PATCH] Update for new PHP 7.3 REFCOUNT macros (#390)
+
+---
+ .travis.yml | 3 +++
+ php_memcached.c | 4 ++--
+ php_memcached_private.h | 7 +++++++
+ php_memcached_session.c | 2 +-
+ 4 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/php_memcached.c b/php_memcached.c
+index a42ff19..bd0f559 100644
+--- a/php_memcached.c
++++ b/php_memcached.c
+@@ -1298,7 +1298,7 @@ static PHP_METHOD(Memcached, __construct)
+ le.type = php_memc_list_entry();
+ le.ptr = intern->memc;
+
+- GC_REFCOUNT(&le) = 1;
++ GC_SET_REFCOUNT(&le, 1);
+
+ /* plist_key is not a persistent allocated key, thus we use str_update here */
+ if (zend_hash_str_update_mem(&EG(persistent_list), ZSTR_VAL(plist_key), ZSTR_LEN(plist_key), &le, sizeof(le)) == NULL) {
+@@ -3831,7 +3831,7 @@ PHP_METHOD(MemcachedServer, on)
+
+ Z_TRY_ADDREF(fci.function_name);
+ if (fci.object) {
+- GC_REFCOUNT(fci.object)++;
++ GC_ADDREF(fci.object);
+ }
+ }
+ RETURN_BOOL(rc);
+diff --git a/php_memcached_private.h b/php_memcached_private.h
+index a04e19b..abc0459 100644
+--- a/php_memcached_private.h
++++ b/php_memcached_private.h
+@@ -72,6 +72,13 @@ typedef unsigned long int uint32_t;
+ # endif
+ #endif
+
++/* Backwards compatibility for GC API change in PHP 7.3 */
++#if PHP_VERSION_ID < 70300
++# define GC_ADDREF(p) ++GC_REFCOUNT(p)
++# define GC_DELREF(p) --GC_REFCOUNT(p)
++# define GC_SET_REFCOUNT(p, rc) GC_REFCOUNT(p) = rc
++#endif
++
+ /****************************************
+ Structures and definitions
+ ****************************************/
+diff --git a/php_memcached_session.c b/php_memcached_session.c
+index d8e9be6..607a02c 100644
+--- a/php_memcached_session.c
++++ b/php_memcached_session.c
+@@ -376,7 +376,7 @@ PS_OPEN_FUNC(memcached)
+ le.type = s_memc_sess_list_entry();
+ le.ptr = memc;
+
+- GC_REFCOUNT(&le) = 1;
++ GC_SET_REFCOUNT(&le, 1);
+
+ /* plist_key is not a persistent allocated key, thus we use str_update here */
+ if (zend_hash_str_update_mem(&EG(persistent_list), plist_key, plist_key_len, &le, sizeof(le)) == NULL) {
diff --git a/PHPINFO b/PHPINFO
new file mode 100644
index 0000000..3d571b1
--- /dev/null
+++ b/PHPINFO
@@ -0,0 +1,39 @@
+
+memcached
+
+memcached support => enabled
+Version => 3.0.4
+libmemcached version => 1.0.18
+SASL support => yes
+Session support => yes
+igbinary support => yes
+json support => yes
+msgpack support => yes
+
+Directive => Local Value => Master Value
+memcached.sess_locking => 1 => 1
+memcached.sess_lock_wait_min => 1000 => 1000
+memcached.sess_lock_wait_max => 2000 => 2000
+memcached.sess_lock_retries => 5 => 5
+memcached.sess_lock_expire => 0 => 0
+memcached.sess_binary_protocol => 1 => 1
+memcached.sess_consistent_hash => 1 => 1
+memcached.sess_number_of_replicas => 0 => 0
+memcached.sess_randomize_replica_read => no value => no value
+memcached.sess_remove_failed_servers => no value => no value
+memcached.sess_server_failure_limit => 0 => 0
+memcached.sess_connect_timeout => 1000 => 1000
+memcached.sess_sasl_username => no value => no value
+memcached.sess_sasl_password => no value => no value
+memcached.sess_prefix => memc.sess.key. => memc.sess.key.
+memcached.sess_persistent => no value => no value
+memcached.sess_lock_wait => not set => not set
+memcached.sess_lock_max_wait => not set => not set
+memcached.compression_type => fastlz => fastlz
+memcached.compression_factor => 1.3 => 1.3
+memcached.compression_threshold => 2000 => 2000
+memcached.serializer => igbinary => igbinary
+memcached.store_retry_count => 2 => 2
+memcached.default_consistent_hash => no value => no value
+memcached.default_binary_protocol => no value => no value
+memcached.default_connect_timeout => 0 => 0
diff --git a/REFLECTION b/REFLECTION
index 0547822..5841930 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #180 memcached version 3.0.4 ] {
+Extension [ <persistent> extension #188 memcached version 3.0.4 ] {
- Dependencies {
Dependency [ session (Required) ]
@@ -92,138 +92,138 @@ Extension [ <persistent> extension #180 memcached version 3.0.4 ] {
Class [ <internal:memcached> class Memcached ] {
- Constants [132] {
- Constant [ integer LIBMEMCACHED_VERSION_HEX ] { 16777240 }
- Constant [ integer OPT_COMPRESSION ] { -1001 }
- Constant [ integer OPT_COMPRESSION_TYPE ] { -1004 }
- Constant [ integer OPT_PREFIX_KEY ] { -1002 }
- Constant [ integer OPT_SERIALIZER ] { -1003 }
- Constant [ integer OPT_USER_FLAGS ] { -1006 }
- Constant [ integer OPT_STORE_RETRY_COUNT ] { -1005 }
- Constant [ boolean HAVE_IGBINARY ] { 1 }
- Constant [ boolean HAVE_JSON ] { 1 }
- Constant [ boolean HAVE_MSGPACK ] { 1 }
- Constant [ boolean HAVE_SESSION ] { 1 }
- Constant [ boolean HAVE_SASL ] { 1 }
- Constant [ integer OPT_HASH ] { 2 }
- Constant [ integer HASH_DEFAULT ] { 0 }
- Constant [ integer HASH_MD5 ] { 1 }
- Constant [ integer HASH_CRC ] { 2 }
- Constant [ integer HASH_FNV1_64 ] { 3 }
- Constant [ integer HASH_FNV1A_64 ] { 4 }
- Constant [ integer HASH_FNV1_32 ] { 5 }
- Constant [ integer HASH_FNV1A_32 ] { 6 }
- Constant [ integer HASH_HSIEH ] { 7 }
- Constant [ integer HASH_MURMUR ] { 8 }
- Constant [ integer OPT_DISTRIBUTION ] { 9 }
- Constant [ integer DISTRIBUTION_MODULA ] { 0 }
- Constant [ integer DISTRIBUTION_CONSISTENT ] { 1 }
- Constant [ integer DISTRIBUTION_VIRTUAL_BUCKET ] { 6 }
- Constant [ integer OPT_LIBKETAMA_COMPATIBLE ] { 16 }
- Constant [ integer OPT_LIBKETAMA_HASH ] { 17 }
- Constant [ integer OPT_TCP_KEEPALIVE ] { 32 }
- Constant [ integer OPT_BUFFER_WRITES ] { 10 }
- Constant [ integer OPT_BINARY_PROTOCOL ] { 18 }
- Constant [ integer OPT_NO_BLOCK ] { 0 }
- Constant [ integer OPT_TCP_NODELAY ] { 1 }
- Constant [ integer OPT_SOCKET_SEND_SIZE ] { 4 }
- Constant [ integer OPT_SOCKET_RECV_SIZE ] { 5 }
- Constant [ integer OPT_CONNECT_TIMEOUT ] { 14 }
- Constant [ integer OPT_RETRY_TIMEOUT ] { 15 }
- Constant [ integer OPT_DEAD_TIMEOUT ] { 36 }
- Constant [ integer OPT_SEND_TIMEOUT ] { 19 }
- Constant [ integer OPT_RECV_TIMEOUT ] { 20 }
- Constant [ integer OPT_POLL_TIMEOUT ] { 8 }
- Constant [ integer OPT_CACHE_LOOKUPS ] { 6 }
- Constant [ integer OPT_SERVER_FAILURE_LIMIT ] { 21 }
- Constant [ integer OPT_AUTO_EJECT_HOSTS ] { 28 }
- Constant [ integer OPT_HASH_WITH_PREFIX_KEY ] { 25 }
- Constant [ integer OPT_NOREPLY ] { 26 }
- Constant [ integer OPT_SORT_HOSTS ] { 12 }
- Constant [ integer OPT_VERIFY_KEY ] { 13 }
- Constant [ integer OPT_USE_UDP ] { 27 }
- Constant [ integer OPT_NUMBER_OF_REPLICAS ] { 29 }
- Constant [ integer OPT_RANDOMIZE_REPLICA_READ ] { 30 }
- Constant [ integer OPT_REMOVE_FAILED_SERVERS ] { 35 }
- Constant [ integer OPT_SERVER_TIMEOUT_LIMIT ] { 37 }
- Constant [ integer RES_SUCCESS ] { 0 }
- Constant [ integer RES_FAILURE ] { 1 }
- Constant [ integer RES_HOST_LOOKUP_FAILURE ] { 2 }
- Constant [ integer RES_UNKNOWN_READ_FAILURE ] { 7 }
- Constant [ integer RES_PROTOCOL_ERROR ] { 8 }
- Constant [ integer RES_CLIENT_ERROR ] { 9 }
- Constant [ integer RES_SERVER_ERROR ] { 10 }
- Constant [ integer RES_WRITE_FAILURE ] { 5 }
- Constant [ integer RES_DATA_EXISTS ] { 12 }
- Constant [ integer RES_NOTSTORED ] { 14 }
- Constant [ integer RES_NOTFOUND ] { 16 }
- Constant [ integer RES_PARTIAL_READ ] { 18 }
- Constant [ integer RES_SOME_ERRORS ] { 19 }
- Constant [ integer RES_NO_SERVERS ] { 20 }
- Constant [ integer RES_END ] { 21 }
- Constant [ integer RES_ERRNO ] { 26 }
- Constant [ integer RES_BUFFERED ] { 32 }
- Constant [ integer RES_TIMEOUT ] { 31 }
- Constant [ integer RES_BAD_KEY_PROVIDED ] { 33 }
- Constant [ integer RES_STORED ] { 15 }
- Constant [ integer RES_DELETED ] { 22 }
- Constant [ integer RES_STAT ] { 24 }
- Constant [ integer RES_ITEM ] { 25 }
- Constant [ integer RES_NOT_SUPPORTED ] { 28 }
- Constant [ integer RES_FETCH_NOTFINISHED ] { 30 }
- Constant [ integer RES_SERVER_MARKED_DEAD ] { 35 }
- Constant [ integer RES_UNKNOWN_STAT_KEY ] { 36 }
- Constant [ integer RES_INVALID_HOST_PROTOCOL ] { 34 }
- Constant [ integer RES_MEMORY_ALLOCATION_FAILURE ] { 17 }
- Constant [ integer RES_CONNECTION_SOCKET_CREATE_FAILURE ] { 11 }
- Constant [ integer RES_E2BIG ] { 37 }
- Constant [ integer RES_KEY_TOO_BIG ] { 39 }
- Constant [ integer RES_SERVER_TEMPORARILY_DISABLED ] { 47 }
- Constant [ integer RES_SERVER_MEMORY_ALLOCATION_FAILURE ] { 48 }
- Constant [ integer RES_AUTH_PROBLEM ] { 40 }
- Constant [ integer RES_AUTH_FAILURE ] { 41 }
- Constant [ integer RES_AUTH_CONTINUE ] { 42 }
- Constant [ integer RES_PAYLOAD_FAILURE ] { -1001 }
- Constant [ integer SERIALIZER_PHP ] { 1 }
- Constant [ integer SERIALIZER_IGBINARY ] { 2 }
- Constant [ integer SERIALIZER_JSON ] { 3 }
- Constant [ integer SERIALIZER_JSON_ARRAY ] { 4 }
- Constant [ integer SERIALIZER_MSGPACK ] { 5 }
- Constant [ integer COMPRESSION_FASTLZ ] { 2 }
- Constant [ integer COMPRESSION_ZLIB ] { 1 }
- Constant [ integer GET_PRESERVE_ORDER ] { 1 }
- Constant [ integer GET_EXTENDED ] { 2 }
- Constant [ integer ON_CONNECT ] { 0 }
- Constant [ integer ON_ADD ] { 1 }
- Constant [ integer ON_APPEND ] { 2 }
- Constant [ integer ON_DECREMENT ] { 3 }
- Constant [ integer ON_DELETE ] { 4 }
- Constant [ integer ON_FLUSH ] { 5 }
- Constant [ integer ON_GET ] { 6 }
- Constant [ integer ON_INCREMENT ] { 7 }
- Constant [ integer ON_NOOP ] { 8 }
- Constant [ integer ON_PREPEND ] { 9 }
- Constant [ integer ON_QUIT ] { 10 }
- Constant [ integer ON_REPLACE ] { 11 }
- Constant [ integer ON_SET ] { 12 }
- Constant [ integer ON_STAT ] { 13 }
- Constant [ integer ON_VERSION ] { 14 }
- Constant [ integer RESPONSE_SUCCESS ] { 0 }
- Constant [ integer RESPONSE_KEY_ENOENT ] { 1 }
- Constant [ integer RESPONSE_KEY_EEXISTS ] { 2 }
- Constant [ integer RESPONSE_E2BIG ] { 3 }
- Constant [ integer RESPONSE_EINVAL ] { 4 }
- Constant [ integer RESPONSE_NOT_STORED ] { 5 }
- Constant [ integer RESPONSE_DELTA_BADVAL ] { 6 }
- Constant [ integer RESPONSE_NOT_MY_VBUCKET ] { 7 }
- Constant [ integer RESPONSE_AUTH_ERROR ] { 32 }
- Constant [ integer RESPONSE_AUTH_CONTINUE ] { 33 }
- Constant [ integer RESPONSE_UNKNOWN_COMMAND ] { 129 }
- Constant [ integer RESPONSE_ENOMEM ] { 130 }
- Constant [ integer RESPONSE_NOT_SUPPORTED ] { 131 }
- Constant [ integer RESPONSE_EINTERNAL ] { 132 }
- Constant [ integer RESPONSE_EBUSY ] { 133 }
- Constant [ integer RESPONSE_ETMPFAIL ] { 134 }
- Constant [ boolean GET_ERROR_RETURN_VALUE ] { }
+ Constant [ public integer LIBMEMCACHED_VERSION_HEX ] { 16777240 }
+ Constant [ public integer OPT_COMPRESSION ] { -1001 }
+ Constant [ public integer OPT_COMPRESSION_TYPE ] { -1004 }
+ Constant [ public integer OPT_PREFIX_KEY ] { -1002 }
+ Constant [ public integer OPT_SERIALIZER ] { -1003 }
+ Constant [ public integer OPT_USER_FLAGS ] { -1006 }
+ Constant [ public integer OPT_STORE_RETRY_COUNT ] { -1005 }
+ Constant [ public boolean HAVE_IGBINARY ] { 1 }
+ Constant [ public boolean HAVE_JSON ] { 1 }
+ Constant [ public boolean HAVE_MSGPACK ] { 1 }
+ Constant [ public boolean HAVE_SESSION ] { 1 }
+ Constant [ public boolean HAVE_SASL ] { 1 }
+ Constant [ public integer OPT_HASH ] { 2 }
+ Constant [ public integer HASH_DEFAULT ] { 0 }
+ Constant [ public integer HASH_MD5 ] { 1 }
+ Constant [ public integer HASH_CRC ] { 2 }
+ Constant [ public integer HASH_FNV1_64 ] { 3 }
+ Constant [ public integer HASH_FNV1A_64 ] { 4 }
+ Constant [ public integer HASH_FNV1_32 ] { 5 }
+ Constant [ public integer HASH_FNV1A_32 ] { 6 }
+ Constant [ public integer HASH_HSIEH ] { 7 }
+ Constant [ public integer HASH_MURMUR ] { 8 }
+ Constant [ public integer OPT_DISTRIBUTION ] { 9 }
+ Constant [ public integer DISTRIBUTION_MODULA ] { 0 }
+ Constant [ public integer DISTRIBUTION_CONSISTENT ] { 1 }
+ Constant [ public integer DISTRIBUTION_VIRTUAL_BUCKET ] { 6 }
+ Constant [ public integer OPT_LIBKETAMA_COMPATIBLE ] { 16 }
+ Constant [ public integer OPT_LIBKETAMA_HASH ] { 17 }
+ Constant [ public integer OPT_TCP_KEEPALIVE ] { 32 }
+ Constant [ public integer OPT_BUFFER_WRITES ] { 10 }
+ Constant [ public integer OPT_BINARY_PROTOCOL ] { 18 }
+ Constant [ public integer OPT_NO_BLOCK ] { 0 }
+ Constant [ public integer OPT_TCP_NODELAY ] { 1 }
+ Constant [ public integer OPT_SOCKET_SEND_SIZE ] { 4 }
+ Constant [ public integer OPT_SOCKET_RECV_SIZE ] { 5 }
+ Constant [ public integer OPT_CONNECT_TIMEOUT ] { 14 }
+ Constant [ public integer OPT_RETRY_TIMEOUT ] { 15 }
+ Constant [ public integer OPT_DEAD_TIMEOUT ] { 36 }
+ Constant [ public integer OPT_SEND_TIMEOUT ] { 19 }
+ Constant [ public integer OPT_RECV_TIMEOUT ] { 20 }
+ Constant [ public integer OPT_POLL_TIMEOUT ] { 8 }
+ Constant [ public integer OPT_CACHE_LOOKUPS ] { 6 }
+ Constant [ public integer OPT_SERVER_FAILURE_LIMIT ] { 21 }
+ Constant [ public integer OPT_AUTO_EJECT_HOSTS ] { 28 }
+ Constant [ public integer OPT_HASH_WITH_PREFIX_KEY ] { 25 }
+ Constant [ public integer OPT_NOREPLY ] { 26 }
+ Constant [ public integer OPT_SORT_HOSTS ] { 12 }
+ Constant [ public integer OPT_VERIFY_KEY ] { 13 }
+ Constant [ public integer OPT_USE_UDP ] { 27 }
+ Constant [ public integer OPT_NUMBER_OF_REPLICAS ] { 29 }
+ Constant [ public integer OPT_RANDOMIZE_REPLICA_READ ] { 30 }
+ Constant [ public integer OPT_REMOVE_FAILED_SERVERS ] { 35 }
+ Constant [ public integer OPT_SERVER_TIMEOUT_LIMIT ] { 37 }
+ Constant [ public integer RES_SUCCESS ] { 0 }
+ Constant [ public integer RES_FAILURE ] { 1 }
+ Constant [ public integer RES_HOST_LOOKUP_FAILURE ] { 2 }
+ Constant [ public integer RES_UNKNOWN_READ_FAILURE ] { 7 }
+ Constant [ public integer RES_PROTOCOL_ERROR ] { 8 }
+ Constant [ public integer RES_CLIENT_ERROR ] { 9 }
+ Constant [ public integer RES_SERVER_ERROR ] { 10 }
+ Constant [ public integer RES_WRITE_FAILURE ] { 5 }
+ Constant [ public integer RES_DATA_EXISTS ] { 12 }
+ Constant [ public integer RES_NOTSTORED ] { 14 }
+ Constant [ public integer RES_NOTFOUND ] { 16 }
+ Constant [ public integer RES_PARTIAL_READ ] { 18 }
+ Constant [ public integer RES_SOME_ERRORS ] { 19 }
+ Constant [ public integer RES_NO_SERVERS ] { 20 }
+ Constant [ public integer RES_END ] { 21 }
+ Constant [ public integer RES_ERRNO ] { 26 }
+ Constant [ public integer RES_BUFFERED ] { 32 }
+ Constant [ public integer RES_TIMEOUT ] { 31 }
+ Constant [ public integer RES_BAD_KEY_PROVIDED ] { 33 }
+ Constant [ public integer RES_STORED ] { 15 }
+ Constant [ public integer RES_DELETED ] { 22 }
+ Constant [ public integer RES_STAT ] { 24 }
+ Constant [ public integer RES_ITEM ] { 25 }
+ Constant [ public integer RES_NOT_SUPPORTED ] { 28 }
+ Constant [ public integer RES_FETCH_NOTFINISHED ] { 30 }
+ Constant [ public integer RES_SERVER_MARKED_DEAD ] { 35 }
+ Constant [ public integer RES_UNKNOWN_STAT_KEY ] { 36 }
+ Constant [ public integer RES_INVALID_HOST_PROTOCOL ] { 34 }
+ Constant [ public integer RES_MEMORY_ALLOCATION_FAILURE ] { 17 }
+ Constant [ public integer RES_CONNECTION_SOCKET_CREATE_FAILURE ] { 11 }
+ Constant [ public integer RES_E2BIG ] { 37 }
+ Constant [ public integer RES_KEY_TOO_BIG ] { 39 }
+ Constant [ public integer RES_SERVER_TEMPORARILY_DISABLED ] { 47 }
+ Constant [ public integer RES_SERVER_MEMORY_ALLOCATION_FAILURE ] { 48 }
+ Constant [ public integer RES_AUTH_PROBLEM ] { 40 }
+ Constant [ public integer RES_AUTH_FAILURE ] { 41 }
+ Constant [ public integer RES_AUTH_CONTINUE ] { 42 }
+ Constant [ public integer RES_PAYLOAD_FAILURE ] { -1001 }
+ Constant [ public integer SERIALIZER_PHP ] { 1 }
+ Constant [ public integer SERIALIZER_IGBINARY ] { 2 }
+ Constant [ public integer SERIALIZER_JSON ] { 3 }
+ Constant [ public integer SERIALIZER_JSON_ARRAY ] { 4 }
+ Constant [ public integer SERIALIZER_MSGPACK ] { 5 }
+ Constant [ public integer COMPRESSION_FASTLZ ] { 2 }
+ Constant [ public integer COMPRESSION_ZLIB ] { 1 }
+ Constant [ public integer GET_PRESERVE_ORDER ] { 1 }
+ Constant [ public integer GET_EXTENDED ] { 2 }
+ Constant [ public integer ON_CONNECT ] { 0 }
+ Constant [ public integer ON_ADD ] { 1 }
+ Constant [ public integer ON_APPEND ] { 2 }
+ Constant [ public integer ON_DECREMENT ] { 3 }
+ Constant [ public integer ON_DELETE ] { 4 }
+ Constant [ public integer ON_FLUSH ] { 5 }
+ Constant [ public integer ON_GET ] { 6 }
+ Constant [ public integer ON_INCREMENT ] { 7 }
+ Constant [ public integer ON_NOOP ] { 8 }
+ Constant [ public integer ON_PREPEND ] { 9 }
+ Constant [ public integer ON_QUIT ] { 10 }
+ Constant [ public integer ON_REPLACE ] { 11 }
+ Constant [ public integer ON_SET ] { 12 }
+ Constant [ public integer ON_STAT ] { 13 }
+ Constant [ public integer ON_VERSION ] { 14 }
+ Constant [ public integer RESPONSE_SUCCESS ] { 0 }
+ Constant [ public integer RESPONSE_KEY_ENOENT ] { 1 }
+ Constant [ public integer RESPONSE_KEY_EEXISTS ] { 2 }
+ Constant [ public integer RESPONSE_E2BIG ] { 3 }
+ Constant [ public integer RESPONSE_EINVAL ] { 4 }
+ Constant [ public integer RESPONSE_NOT_STORED ] { 5 }
+ Constant [ public integer RESPONSE_DELTA_BADVAL ] { 6 }
+ Constant [ public integer RESPONSE_NOT_MY_VBUCKET ] { 7 }
+ Constant [ public integer RESPONSE_AUTH_ERROR ] { 32 }
+ Constant [ public integer RESPONSE_AUTH_CONTINUE ] { 33 }
+ Constant [ public integer RESPONSE_UNKNOWN_COMMAND ] { 129 }
+ Constant [ public integer RESPONSE_ENOMEM ] { 130 }
+ Constant [ public integer RESPONSE_NOT_SUPPORTED ] { 131 }
+ Constant [ public integer RESPONSE_EINTERNAL ] { 132 }
+ Constant [ public integer RESPONSE_EBUSY ] { 133 }
+ Constant [ public integer RESPONSE_ETMPFAIL ] { 134 }
+ Constant [ public boolean GET_ERROR_RETURN_VALUE ] { }
}
- Static properties [0] {
diff --git a/php-pecl-memcached.spec b/php-pecl-memcached.spec
index 426c25f..5c890c5 100644
--- a/php-pecl-memcached.spec
+++ b/php-pecl-memcached.spec
@@ -31,14 +31,16 @@
Summary: Extension to work with the Memcached caching daemon
Name: %{?sub_prefix}php-pecl-memcached
Version: 3.0.4
-Release: 4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: PHP
URL: http://pecl.php.net/package/%{pecl_name}
Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz
-Patch0: %{pecl_name}-pr330.patch
+Patch0: https://patch-diff.githubusercontent.com/raw/php-memcached-dev/php-memcached/pull/330.patch
+Patch1: https://github.com/php-memcached-dev/php-memcached/commit/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379.patch
+BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 7
BuildRequires: %{?scl_prefix}php-pear
BuildRequires: %{?scl_prefix}php-json
@@ -134,6 +136,7 @@ sed -e 's/role="test"/role="src"/' \
cd NTS
%patch0 -p1 -b .pr330
+%patch1 -p1 -b .up
%if %{with_fastlz}
rm -r fastlz
@@ -242,7 +245,7 @@ do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
done
-%if 0%{?fedora} < 24
+%if 0%{?fedora} < 24 && 0%{?rhel} < 8
# when pear installed alone, after us
%triggerin -- %{?scl_prefix}php-pear
if [ -x %{__pecl} ] ; then
@@ -337,6 +340,9 @@ exit $ret
%changelog
+* Thu Jun 28 2018 Remi Collet <remi@remirepo.net> - 3.0.4-5
+- add upstream patch for PHP 7.3
+
* Tue Feb 27 2018 Remi Collet <remi@remirepo.net> - 3.0.4-4
- bump release