diff options
-rw-r--r-- | .gitignore | 8 | ||||
-rw-r--r-- | REFLECTION | 33 | ||||
-rw-r--r-- | REFLECTION-DEV | 295 | ||||
-rw-r--r-- | connect.inc | 97 | ||||
-rw-r--r-- | memcache-gcc5.patch | 84 | ||||
-rw-r--r-- | php-pecl-memcache-dev.spec | 458 | ||||
-rw-r--r-- | php-pecl-memcache.spec | 110 |
7 files changed, 124 insertions, 961 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc9aa8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +clog +package-*.xml +*.tgz +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #105 memcache version 3.0.8 ] { +Extension [ <persistent> extension #105 memcache version 3.0.9-dev ] { - INI { Entry [ memcache.allow_failover <ALL> ] @@ -73,6 +73,13 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { Function [ <internal:memcache> function memcache_prepend ] { } Function [ <internal:memcache> function memcache_get ] { + + - Parameters [4] { + Parameter #0 [ <required> $param0 ] + Parameter #1 [ <required> $param1 ] + Parameter #2 [ <required> &$param2 ] + Parameter #3 [ <required> &$param3 ] + } } Function [ <internal:memcache> function memcache_delete ] { } @@ -92,6 +99,8 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { } Function [ <internal:memcache> function memcache_flush ] { } + Function [ <internal:memcache> function memcache_set_sasl_auth_data ] { + } } - Classes [2] { @@ -109,7 +118,7 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { - Properties [0] { } - - Methods [22] { + - Methods [23] { Method [ <internal:memcache> public method connect ] { } @@ -150,6 +159,12 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { } Method [ <internal:memcache> public method get ] { + + - Parameters [3] { + Parameter #0 [ <required> $param0 ] + Parameter #1 [ <required> &$param1 ] + Parameter #2 [ <required> &$param2 ] + } } Method [ <internal:memcache> public method delete ] { @@ -175,6 +190,9 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { Method [ <internal:memcache> public method flush ] { } + + Method [ <internal:memcache> public method setSaslAuthData ] { + } } } @@ -192,7 +210,7 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { - Properties [0] { } - - Methods [23] { + - Methods [24] { Method [ <internal:memcache, overwrites MemcachePool, prototype MemcachePool> public method connect ] { } @@ -236,6 +254,12 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { } Method [ <internal:memcache, inherits MemcachePool> public method get ] { + + - Parameters [3] { + Parameter #0 [ <required> $param0 ] + Parameter #1 [ <required> &$param1 ] + Parameter #2 [ <required> &$param2 ] + } } Method [ <internal:memcache, inherits MemcachePool> public method delete ] { @@ -261,6 +285,9 @@ Extension [ <persistent> extension #105 memcache version 3.0.8 ] { Method [ <internal:memcache, inherits MemcachePool> public method flush ] { } + + Method [ <internal:memcache, inherits MemcachePool> public method setSaslAuthData ] { + } } } } diff --git a/REFLECTION-DEV b/REFLECTION-DEV deleted file mode 100644 index a7c17af..0000000 --- a/REFLECTION-DEV +++ /dev/null @@ -1,295 +0,0 @@ -Extension [ <persistent> extension #105 memcache version 3.0.9-dev ] { - - - INI { - Entry [ memcache.allow_failover <ALL> ] - Current = '1' - } - Entry [ memcache.max_failover_attempts <ALL> ] - Current = '20' - } - Entry [ memcache.default_port <ALL> ] - Current = '11211' - } - Entry [ memcache.chunk_size <ALL> ] - Current = '32768' - } - Entry [ memcache.protocol <ALL> ] - Current = 'ascii' - } - Entry [ memcache.hash_strategy <ALL> ] - Current = 'consistent' - } - Entry [ memcache.hash_function <ALL> ] - Current = 'crc32' - } - Entry [ memcache.redundancy <ALL> ] - Current = '1' - } - Entry [ memcache.session_redundancy <ALL> ] - Current = '2' - } - Entry [ memcache.compress_threshold <ALL> ] - Current = '20000' - } - Entry [ memcache.lock_timeout <ALL> ] - Current = '15' - } - } - - - Constants [6] { - Constant [ integer MEMCACHE_COMPRESSED ] { 2 } - Constant [ integer MEMCACHE_USER1 ] { 65536 } - Constant [ integer MEMCACHE_USER2 ] { 131072 } - Constant [ integer MEMCACHE_USER3 ] { 262144 } - Constant [ integer MEMCACHE_USER4 ] { 524288 } - Constant [ integer MEMCACHE_HAVE_SESSION ] { 1 } - } - - - Functions { - Function [ <internal:memcache> function memcache_connect ] { - } - Function [ <internal:memcache> function memcache_pconnect ] { - } - Function [ <internal:memcache> function memcache_add_server ] { - } - Function [ <internal:memcache> function memcache_set_server_params ] { - } - Function [ <internal:memcache> function memcache_set_failure_callback ] { - } - Function [ <internal:memcache> function memcache_get_server_status ] { - } - Function [ <internal:memcache> function memcache_get_version ] { - } - Function [ <internal:memcache> function memcache_add ] { - } - Function [ <internal:memcache> function memcache_set ] { - } - Function [ <internal:memcache> function memcache_replace ] { - } - Function [ <internal:memcache> function memcache_cas ] { - } - Function [ <internal:memcache> function memcache_append ] { - } - Function [ <internal:memcache> function memcache_prepend ] { - } - Function [ <internal:memcache> function memcache_get ] { - - - Parameters [4] { - Parameter #0 [ <required> $param0 ] - Parameter #1 [ <required> $param1 ] - Parameter #2 [ <required> &$param2 ] - Parameter #3 [ <required> &$param3 ] - } - } - Function [ <internal:memcache> function memcache_delete ] { - } - Function [ <internal:memcache> function memcache_debug ] { - } - Function [ <internal:memcache> function memcache_get_stats ] { - } - Function [ <internal:memcache> function memcache_get_extended_stats ] { - } - Function [ <internal:memcache> function memcache_set_compress_threshold ] { - } - Function [ <internal:memcache> function memcache_increment ] { - } - Function [ <internal:memcache> function memcache_decrement ] { - } - Function [ <internal:memcache> function memcache_close ] { - } - Function [ <internal:memcache> function memcache_flush ] { - } - Function [ <internal:memcache> function memcache_set_sasl_auth_data ] { - } - } - - - Classes [2] { - Class [ <internal:memcache> class MemcachePool ] { - - - Constants [0] { - } - - - Static properties [0] { - } - - - Static methods [0] { - } - - - Properties [0] { - } - - - Methods [23] { - Method [ <internal:memcache> public method connect ] { - } - - Method [ <internal:memcache> public method addserver ] { - } - - Method [ <internal:memcache> public method setserverparams ] { - } - - Method [ <internal:memcache> public method setfailurecallback ] { - } - - Method [ <internal:memcache> public method getserverstatus ] { - } - - Method [ <internal:memcache> public method findserver ] { - } - - Method [ <internal:memcache> public method getversion ] { - } - - Method [ <internal:memcache> public method add ] { - } - - Method [ <internal:memcache> public method set ] { - } - - Method [ <internal:memcache> public method replace ] { - } - - Method [ <internal:memcache> public method cas ] { - } - - Method [ <internal:memcache> public method append ] { - } - - Method [ <internal:memcache> public method prepend ] { - } - - Method [ <internal:memcache> public method get ] { - - - Parameters [3] { - Parameter #0 [ <required> $param0 ] - Parameter #1 [ <required> &$param1 ] - Parameter #2 [ <required> &$param2 ] - } - } - - Method [ <internal:memcache> public method delete ] { - } - - Method [ <internal:memcache> public method getstats ] { - } - - Method [ <internal:memcache> public method getextendedstats ] { - } - - Method [ <internal:memcache> public method setcompressthreshold ] { - } - - Method [ <internal:memcache> public method increment ] { - } - - Method [ <internal:memcache> public method decrement ] { - } - - Method [ <internal:memcache> public method close ] { - } - - Method [ <internal:memcache> public method flush ] { - } - - Method [ <internal:memcache> public method setSaslAuthData ] { - } - } - } - - Class [ <internal:memcache> class Memcache extends MemcachePool ] { - - - Constants [0] { - } - - - Static properties [0] { - } - - - Static methods [0] { - } - - - Properties [0] { - } - - - Methods [24] { - Method [ <internal:memcache, overwrites MemcachePool, prototype MemcachePool> public method connect ] { - } - - Method [ <internal:memcache> public method pconnect ] { - } - - Method [ <internal:memcache, overwrites MemcachePool, prototype MemcachePool> public method addserver ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method setserverparams ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method setfailurecallback ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method getserverstatus ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method findserver ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method getversion ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method add ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method set ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method replace ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method cas ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method append ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method prepend ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method get ] { - - - Parameters [3] { - Parameter #0 [ <required> $param0 ] - Parameter #1 [ <required> &$param1 ] - Parameter #2 [ <required> &$param2 ] - } - } - - Method [ <internal:memcache, inherits MemcachePool> public method delete ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method getstats ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method getextendedstats ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method setcompressthreshold ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method increment ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method decrement ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method close ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method flush ] { - } - - Method [ <internal:memcache, inherits MemcachePool> public method setSaslAuthData ] { - } - } - } - } -} - diff --git a/connect.inc b/connect.inc deleted file mode 100644 index 96d2875..0000000 --- a/connect.inc +++ /dev/null @@ -1,97 +0,0 @@ -<?php - -if (!extension_loaded("memcache")) { - die("skip"); -} - -error_reporting(E_ALL); - -/* -* Please change host & port to match your configuration -*/ - -$host = "localhost"; -$port = 11211; -$udpPort = 11211; - -$host2 = "localhost"; -$port2 = 11212; -$udpPort2 = 11212; - -//ini_set('memcache.hash_strategy', 'standard'); -//ini_set('memcache.hash_function', 'fnv'); -//ini_set('memcache.protocol', 'binary'); - -if (ini_get('memcache.protocol') == 'binary') { - $udpPort = 0; - $udpPort2 = 0; -} - -/* Start a server listening to a unix domain socket - * - * mkdir /var/run/memcached - * chown memcached:memcached /var/run/memcached - * memcached -d -u memcached -s /var/run/memcached/memcached.sock - * chmod a+w /var/run/memcached/memcached.sock - */ -$domainsocket = 'unix:///var/run/memcached/memcached.sock'; - -// A server which is guaranteed to fail immediatly -$nonExistingHost = "localhost"; -$nonExistingPort = 11213; - -// A server which times out when attempting to connect to -$unreachableHost = '10.254.254.254'; -$unreachablePort = 11211; - -$udpPacketSize = 1400; - -$balanceKeys = array( - 'consistent' => array( - 'crc32' => array('key1_abc', 'key2_abcde'), - 'fnv' => array('key1_a', 'key2_2534534'), - ), - 'standard' => array( - 'crc32' => array('load_test_key1', 'load_test_key2'), - 'fnv' => array('key1_ab', 'key2_a'), - ), - ); - -$strat = strtolower(ini_get('memcache.hash_strategy')); -$func = strtolower(ini_get('memcache.hash_function')); -list ($balanceKey1, $balanceKey2) = $balanceKeys[$strat][$func]; - -if (!isset($udpPort)) - $udpPort = 0; -if (!isset($udpPort2)) - $udpPort2 = 0; - -$memcache = memcache_connect($host, $port); - -function test_connect1() { - global $host, $port, $udpPort; - $memcache = new MemcachePool(); - $memcache->connect($host, $port, isset($udpPort) ? $udpPort : 0); - return $memcache; -} - -function test_connect2() { - global $host2, $port2, $udpPort2; - $memcache = new MemcachePool(); - $memcache->connect($host2, $port2, isset($udpPort2) ? $udpPort2 : 0); - return $memcache; -} - -function test_connect_pool() { - global $host, $port, $udpPort, $host2, $port2, $udpPort2; - $memcache = new MemcachePool(); - $memcache->addServer($host, $port, isset($udpPort) ? $udpPort : 0); - $memcache->addServer($host2, $port2, isset($udpPort2) ? $udpPort2 : 0); - return $memcache; -} - -if (!$memcache) { - die('skip Connection to memcached failed'); -} - -?> diff --git a/memcache-gcc5.patch b/memcache-gcc5.patch deleted file mode 100644 index 31c1b0c..0000000 --- a/memcache-gcc5.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff -ru memcache-3.0.8.old/memcache_pool.c memcache-3.0.8/memcache_pool.c ---- memcache-3.0.8.old/memcache_pool.c 2013-04-08 04:12:54.000000000 +0200 -+++ memcache-3.0.8/memcache_pool.c 2015-02-09 15:26:43.678369270 +0100 -@@ -40,7 +40,7 @@ - - ZEND_DECLARE_MODULE_GLOBALS(memcache) - --inline void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size) /* -+MMC_POOL_INLINE void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size) /* - ensures space for an additional size bytes {{{ */ - { - register size_t newlen; -@@ -48,7 +48,7 @@ - } - /* }}} */ - --inline void mmc_buffer_free(mmc_buffer_t *buffer) /* {{{ */ -+MMC_POOL_INLINE void mmc_buffer_free(mmc_buffer_t *buffer) /* {{{ */ - { - if (buffer->value.c != NULL) { - smart_str_free(&(buffer->value)); -@@ -1676,7 +1676,7 @@ - } - /* }}} */ - --inline int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len) /* {{{ */ -+MMC_POOL_INLINE int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len) /* {{{ */ - { - unsigned int i; - if (key_len == 0) { -@@ -1694,7 +1694,7 @@ - } - /* }}} */ - --inline int mmc_prepare_key(zval *key, char *result, unsigned int *result_len) /* {{{ */ -+MMC_POOL_INLINE int mmc_prepare_key(zval *key, char *result, unsigned int *result_len) /* {{{ */ - { - if (Z_TYPE_P(key) == IS_STRING) { - return mmc_prepare_key_ex(Z_STRVAL_P(key), Z_STRLEN_P(key), result, result_len); -diff -ru memcache-3.0.8.old/memcache_pool.h memcache-3.0.8/memcache_pool.h ---- memcache-3.0.8.old/memcache_pool.h 2013-04-08 04:12:54.000000000 +0200 -+++ memcache-3.0.8/memcache_pool.h 2015-02-09 15:26:05.303142526 +0100 -@@ -135,8 +135,15 @@ - #define mmc_buffer_release(b) memset((b), 0, sizeof(*(b))) - #define mmc_buffer_reset(b) (b)->value.len = (b)->idx = 0 - --inline void mmc_buffer_alloc(mmc_buffer_t *, unsigned int); --inline void mmc_buffer_free(mmc_buffer_t *); -+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -+/* see https://gcc.gnu.org/gcc-5/porting_to.html */ -+#define MMC_POOL_INLINE extern inline -+#else -+#define MMC_POOL_INLINE inline -+#endif -+ -+MMC_POOL_INLINE void mmc_buffer_alloc(mmc_buffer_t *, unsigned int); -+MMC_POOL_INLINE void mmc_buffer_free(mmc_buffer_t *); - - /* stream handlers */ - typedef struct mmc_stream mmc_stream_t; -@@ -391,8 +398,8 @@ - double timeval_to_double(struct timeval tv); - struct timeval double_to_timeval(double sec); - --inline int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *); --inline int mmc_prepare_key(zval *, char *, unsigned int *); -+MMC_POOL_INLINE int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *); -+MMC_POOL_INLINE int mmc_prepare_key(zval *, char *, unsigned int *); - - #define mmc_str_left(h, n, hlen, nlen) ((hlen) >= (nlen) ? memcmp((h), (n), (nlen)) == 0 : 0) - -diff -ru memcache-3.0.8.old/memcache_queue.h memcache-3.0.8/memcache_queue.h ---- memcache-3.0.8.old/memcache_queue.h 2013-04-08 04:12:54.000000000 +0200 -+++ memcache-3.0.8/memcache_queue.h 2015-02-09 15:24:23.309539885 +0100 -@@ -39,6 +39,9 @@ - - #ifdef PHP_WIN32 - #define MMC_QUEUE_INLINE -+#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -+/* see https://gcc.gnu.org/gcc-5/porting_to.html */ -+#define MMC_QUEUE_INLINE extern inline - #else - #define MMC_QUEUE_INLINE inline - #endif diff --git a/php-pecl-memcache-dev.spec b/php-pecl-memcache-dev.spec deleted file mode 100644 index 002fa9d..0000000 --- a/php-pecl-memcache-dev.spec +++ /dev/null @@ -1,458 +0,0 @@ -# spec file for php-pecl-memcache -# -# Copyright (c) 2007-2017 Remi Collet -# License: CC-BY-SA -# 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-memcache -%endif - -# https://github.com/websupport-sk/pecl-memcache/commits/NON_BLOCKING_IO_php7 -%global gh_commit df7735e813d247ea141458e1774d163ad4e2d068 -%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_owner websupport-sk -%global gh_project pecl-memcache -%global gh_date 20161124 -%global pecl_name memcache -# Not ready, some failed UDP tests. Neded investigation. -%global with_tests 0%{?_with_tests:1} -%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} -%if "%{php_version}" < "5.6" -%global ini_name %{pecl_name}.ini -%else -%global ini_name 40-%{pecl_name}.ini -%endif - -Summary: Extension to work with the Memcached caching daemon -Name: %{?scl_prefix}php-pecl-memcache -Version: 3.0.9 -%if 0%{?gh_date:1} -Release: 0.8.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -%else -Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} -%endif -License: PHP -Group: Development/Languages -URL: http://pecl.php.net/package/%{pecl_name} - -%if 0%{?gh_date:1} -Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz -%else -Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -%endif - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: %{?scl_prefix}php-devel -BuildRequires: %{?scl_prefix}php-pear -BuildRequires: zlib-devel -%if %{with_tests} -BuildRequires: memcached -%endif - -Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} -Requires: %{?scl_prefix}php(api) = %{php_core_api} -%{?_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(%{pecl_name}) = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_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 -Obsoletes: php53-pecl-%{pecl_name} <= %{version} -Obsoletes: php53u-pecl-%{pecl_name} <= %{version} -Obsoletes: php54-pecl-%{pecl_name} <= %{version} -Obsoletes: php54w-pecl-%{pecl_name} <= %{version} -%if "%{php_version}" > "5.5" -Obsoletes: php55u-pecl-%{pecl_name} <= %{version} -Obsoletes: php55w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "5.6" -Obsoletes: php56u-pecl-%{pecl_name} <= %{version} -Obsoletes: php56w-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.0" -Obsoletes: php70u-pecl-%{pecl_name} <= %{version} -Obsoletes: php70w-pecl-%{pecl_name} <= %{version} -%endif -%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 -%endif - -%if 0%{?fedora} < 20 && 0%{?rhel} < 7 -# Filter shared private -%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} -%{?filter_setup} -%endif - - -%description -Memcached is a caching daemon designed especially for -dynamic web applications to decrease database load by -storing objects in memory. - -This extension allows you to work with memcached through -handy OO and procedural interfaces. - -Memcache can be used as a PHP session handler. - -Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. - - -%prep -%setup -c -q -%if 0%{?gh_date:1} -mv %{gh_project}-%{gh_commit} NTS -%{__php} -r ' - $pkg = simplexml_load_file("NTS/package.xml"); - $pkg->date = substr("%{gh_date}",0,4)."-".substr("%{gh_date}",4,2)."-".substr("%{gh_date}",6,2); - $pkg->version->release = "%{version}dev"; - $pkg->stability->release = "devel"; - $pkg->asXML("package.xml"); -' -%else -mv %{pecl_name}-%{version} NTS -%endif - -# Don't install/register tests -sed -e 's/role="test"/role="src"/' \ - %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ - -i package.xml - -pushd NTS - -# Chech version as upstream often forget to update this -dir=php$(%{__php} -r 'echo PHP_MAJOR_VERSION;') -extver=$(sed -n '/#define PHP_MEMCACHE_VERSION/{s/.* "//;s/".*$//;p}' $dir/php_memcache.h) -if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then - : Error: Upstream version is now ${extver}, expecting %{version}%{?gh_date:-dev}. - : Update the pdover macro and rebuild. - exit 1 -fi -popd - -cat >%{ini_name} << 'EOF' -; ----- Enable %{pecl_name} extension module -extension=%{pecl_name}.so - -; ----- Options for the %{pecl_name} module -; see http://www.php.net/manual/en/memcache.ini.php - -; Whether to transparently failover to other servers on errors -;memcache.allow_failover=1 -; Data will be transferred in chunks of this size -;memcache.chunk_size=32768 -; Autocompress large data -;memcache.compress_threshold=20000 -; The default TCP port number to use when connecting to the memcached server -;memcache.default_port=11211 -; Hash function {crc32, fnv} -;memcache.hash_function=crc32 -; Hash strategy {standard, consistent} -;memcache.hash_strategy=consistent -; Defines how many servers to try when setting and getting data. -;memcache.max_failover_attempts=20 -; The protocol {ascii, binary} : You need a memcached >= 1.3.0 to use the binary protocol -; The binary protocol results in less traffic and is more efficient -;memcache.protocol=ascii -; Redundancy : When enabled the client sends requests to N servers in parallel -;memcache.redundancy=1 -;memcache.session_redundancy=2 -; Lock Timeout -;memcache.lock_timeout = 15 - -; ----- Options to use the memcache session handler - -; RPM note : save_handler and save_path are defined -; for mod_php, in /etc/httpd/conf.d/php.conf -; for php-fpm, in /etc/php-fpm.d/*conf - -; Use memcache as a session handler -;session.save_handler=memcache -; Defines a comma separated of server urls to use for session storage -;session.save_path="tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_interval=15" -EOF - -%if %{with_zts} -cp -r NTS ZTS -%endif - - -%build -cd NTS -%{_bindir}/phpize -%configure --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} - -%if %{with_zts} -cd ../ZTS -%{_bindir}/zts-phpize -%configure --with-php-config=%{_bindir}/zts-php-config -make %{?_smp_mflags} -%endif - -%install -rm -rf %{buildroot} - -make -C NTS install INSTALL_ROOT=%{buildroot} - -# Drop in the bit of configuration -install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} - -%if %{with_zts} -make -C ZTS install INSTALL_ROOT=%{buildroot} -install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} -%endif - -# Install XML package description -install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - -# Documentation -for i in $(grep '<file .* role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - - -%check -: Minimal load test for NTS extension -%{__php} --no-php-ini \ - --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ - -m | grep %{pecl_name} - -%if %{with_zts} -: Minimal load test for ZTS extension -%{__ztsphp} --no-php-ini \ - --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ - -m | grep %{pecl_name} -%endif - -%if %{with_tests} -: Configuration for tests -cd NTS -sed -e "s:/var/run/memcached/memcached.sock:$PWD/memcached.sock:" \ - -i tests/connect.inc - -: Udp tests -rm tests/0{36,38,39,55,57}.phpt - -: Launch the daemons -memcached -p 11211 -U 11211 -d -P $PWD/memcached1.pid -memcached -p 11212 -U 11212 -d -P $PWD/memcached2.pid -memcached -s $PWD/memcached.sock -d -P $PWD/memcached3.pid - -: Upstream test suite for NTS extension -ret=0 -TEST_PHP_EXECUTABLE=%{_bindir}/php \ -TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{_bindir}/php -n run-tests.php --show-diff || ret=1 - -: Cleanup -if [ -f memcached2.pid ]; then - kill $(cat memcached?.pid) -fi - -exit $ret -%endif - - -%clean -rm -rf %{buildroot} - - -%if 0%{?fedora} < 24 -# when pear installed alone, after us -%triggerin -- %{?scl_prefix}php-pear -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -# posttrans as pear can be installed after us -%posttrans -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -%postun -if [ $1 -eq 0 -a -x %{__pecl} ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi -%endif - - -%files -%defattr(-, root, root, -) -%{?_licensedir:%license NTS/LICENSE} -%doc %{pecl_docdir}/%{pecl_name} -%{pecl_xmldir}/%{name}.xml - -%config(noreplace) %{php_inidir}/%{ini_name} -%{php_extdir}/%{pecl_name}.so - -%if %{with_zts} -%config(noreplace) %{php_ztsinidir}/%{ini_name} -%{php_ztsextdir}/%{pecl_name}.so -%endif - - -%changelog -* Tue Jul 18 2017 Remi Collet <remi@remirepo.net> - 3.0.9-0.8.20161124gitdf7735e -- rebuild for PHP 7.2.0beta1 new API - -* Fri Dec 2 2016 Remi Collet <remi@fedoraproject.org> - 3.0.9-0.7.20161124gitdf7735e -- refresh to more recent snapshot - -* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 3.0.9-0.6.20160311git4991c2f -- rebuild with PHP 7.1.0 GA - -* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 3.0.9-0.5.20160311git4991c2f -- rebuild for PHP 7.1 new API version - -* Sat Jun 11 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.4.20160311git4991c2f -- refresh - -* Sat Mar 5 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.3.20151130gitfdbd46b -- adapt for F24 - -* Sun Jan 10 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.2.20151130gitfdbd46b -- set stability = devel in package.xml - -* Sun Jan 3 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.1.20151130gitfdbd46b -- git snapshopt for PHP 7 -- sources from https://github.com/websupport-sk/pecl-memcache (for PHP 7) -- drop runtime dependency on pear, new scriptlets -- don't install/register tests - -* Tue Feb 10 2015 Remi Collet <rcollet@redhat.com> - 3.0.8-7 -- fix gcc 5 FTBFS - -* Wed Dec 24 2014 Remi Collet <remi@fedoraproject.org> - 3.0.8-5.1 -- Fedora 21 SCL mass rebuild - -* Mon Aug 25 2014 Remi Collet <rcollet@redhat.com> - 3.0.8-5 -- allow SCL build - -* Fri Apr 25 2014 Remi Collet <remi@fedoraproject.org> - 3.0.8-4 -- bump release (for EL-7) - -* Thu Apr 10 2014 Remi Collet <remi@fedoraproject.org> - 3.0.8-3 -- add numerical prefix to extension configuration file - -* Fri Mar 7 2014 Remi Collet <remi@fedoraproject.org> - 3.0.8-2 -- cleanups -- install doc in pecl_docdir -- install tests in pecl_testdir - -* Mon Apr 08 2013 Remi Collet <remi@fedoraproject.org> - 3.0.8-1 -- Update to 3.0.8 - -* Sat Dec 29 2012 Remi Collet <remi@fedoraproject.org> - 3.0.7-5 -- add patch for https://bugs.php.net/59602 - segfault in getExtendedStats - -* Fri Nov 30 2012 Remi Collet <remi@fedoraproject.org> - 3.0.7-4.1 -- also provides php-memcache - -* Fri Oct 19 2012 Remi Collet <remi@fedoraproject.org> - 3.0.7-4 -- improve comment in configuration about session. - -* Mon Sep 24 2012 Remi Collet <remi@fedoraproject.org> - 3.0.7-3 -- switch back to previous patch (memleak better than segfault) - -* Sun Sep 23 2012 Remi Collet <remi@fedoraproject.org> - 3.0.7-2 -- use upstream patch instead of our (memleak) - -* Sun Sep 23 2012 Remi Collet <remi@fedoraproject.org> - 3.0.7-1 -- update to 3.0.7 -- drop patches merged upstream -- cleanup spec - -* Sat Sep 8 2012 Remi Collet <remi@fedoraproject.org> - 3.0.6-5 -- add LICENSE -- Obsoletes php53*, php54* on EL - -* Sat Jul 7 2012 Remi Collet <remi@fedoraproject.org> - 3.0.6-4 -- sync patch with rawhide - -* Thu Jul 5 2012 Joe Orton <jorton@redhat.com> - 3.0.6-4 -- fix php_stream_cast() usage -- fix memory corruption after unserialization (Paul Clifford) -- package license - -* Sun Nov 13 2011 Remi Collet <remi@fedoraproject.org> - 3.0.6-3 -- build against php 5.4 -- add patch for ZTS build, see https://bugs.php.net/60284 - -* Mon Oct 03 2011 Remi Collet <Fedora@FamilleCollet.com> 3.0.6-2 -- clean spec for latest macros -- build zts extension - -* Mon Apr 11 2011 Remi Collet <Fedora@FamilleCollet.com> 3.0.6-1 -- update to 3.0.6 - -* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Dec 27 2010 Remi Collet <rpms@famillecollet.com> 3.0.5-3 -- relocate using phpname macro - -* Sat Oct 23 2010 Remi Collet <Fedora@FamilleCollet.com> 3.0.5-2 -- add filter_provides to avoid private-shared-object-provides memcache.so - -* Tue Oct 05 2010 Remi Collet <Fedora@FamilleCollet.com> 3.0.5-1 -- update to 3.0.5 - -* Thu Sep 30 2010 Remi Collet <Fedora@FamilleCollet.com> 3.0.4-4 -- patch for bug #599305 (upstream #17566) -- add minimal load test in %%check - -* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Sun Jul 12 2009 Remi Collet <Fedora@FamilleCollet.com> 3.0.4-2 -- rebuild for new PHP 5.3.0 ABI (20090626) - -* Sat Feb 28 2009 Remi Collet <Fedora@FamilleCollet.com> 3.0.4-1 -- new version 3.0.4 - -* Tue Jan 13 2009 Remi Collet <Fedora@FamilleCollet.com> 3.0.3-1 -- new version 3.0.3 - -* Thu Sep 11 2008 Remi Collet <Fedora@FamilleCollet.com> 3.0.2-1 -- new version 3.0.2 - -* Thu Sep 11 2008 Remi Collet <Fedora@FamilleCollet.com> 2.2.4-1 -- new version 2.2.4 (bug fixes) - -* Sat Feb 9 2008 Remi Collet <Fedora@FamilleCollet.com> 2.2.3-1 -- new version - -* Thu Jan 10 2008 Remi Collet <Fedora@FamilleCollet.com> 2.2.2-1 -- new version - -* Thu Nov 01 2007 Remi Collet <Fedora@FamilleCollet.com> 2.2.1-1 -- new version - -* Sat Sep 22 2007 Remi Collet <Fedora@FamilleCollet.com> 2.2.0-1 -- new version -- add new INI directives (hash_strategy + hash_function) to config -- add BR on php-devel >= 4.3.11 - -* Mon Aug 20 2007 Remi Collet <Fedora@FamilleCollet.com> 2.1.2-1 -- initial RPM diff --git a/php-pecl-memcache.spec b/php-pecl-memcache.spec index 190944f..002fa9d 100644 --- a/php-pecl-memcache.spec +++ b/php-pecl-memcache.spec @@ -6,32 +6,44 @@ # # Please, preserve the changelog entries # -%{?scl: %scl_package php-pecl-memcache} +%if 0%{?scl:1} +%global sub_prefix %{scl_prefix} +%scl_package php-pecl-memcache +%endif -%global pecl_name memcache +# https://github.com/websupport-sk/pecl-memcache/commits/NON_BLOCKING_IO_php7 +%global gh_commit df7735e813d247ea141458e1774d163ad4e2d068 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner websupport-sk +%global gh_project pecl-memcache +%global gh_date 20161124 +%global pecl_name memcache # Not ready, some failed UDP tests. Neded investigation. -%global with_tests %{?_with_tests:1}%{!?_with_tests:0} -%global with_zts 0%{?__ztsphp:1} +%global with_tests 0%{?_with_tests:1} +%global with_zts 0%{!?_without_zts:%{?__ztsphp: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 Summary: Extension to work with the Memcached caching daemon Name: %{?scl_prefix}php-pecl-memcache -Version: 3.0.8 -Release: 8%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Version: 3.0.9 +%if 0%{?gh_date:1} +Release: 0.8.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +%else +Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +%endif License: PHP Group: Development/Languages URL: http://pecl.php.net/package/%{pecl_name} -Source: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -# Missing in official archive -# http://svn.php.net/viewvc/pecl/memcache/branches/NON_BLOCKING_IO/tests/connect.inc?view=co -Source3: connect.inc - -Patch0: %{pecl_name}-gcc5.patch +%if 0%{?gh_date:1} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz +%else +Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz +%endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{?scl_prefix}php-devel @@ -49,8 +61,10 @@ Provides: %{?scl_prefix}php-%{pecl_name} = %{version} Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_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 @@ -66,6 +80,18 @@ Obsoletes: php55w-pecl-%{pecl_name} <= %{version} Obsoletes: php56u-pecl-%{pecl_name} <= %{version} Obsoletes: php56w-pecl-%{pecl_name} <= %{version} %endif +%if "%{php_version}" > "7.0" +Obsoletes: php70u-pecl-%{pecl_name} <= %{version} +Obsoletes: php70w-pecl-%{pecl_name} <= %{version} +%endif +%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 %endif %if 0%{?fedora} < 20 && 0%{?rhel} < 7 @@ -90,20 +116,31 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO %prep %setup -c -q +%if 0%{?gh_date:1} +mv %{gh_project}-%{gh_commit} NTS +%{__php} -r ' + $pkg = simplexml_load_file("NTS/package.xml"); + $pkg->date = substr("%{gh_date}",0,4)."-".substr("%{gh_date}",4,2)."-".substr("%{gh_date}",6,2); + $pkg->version->release = "%{version}dev"; + $pkg->stability->release = "devel"; + $pkg->asXML("package.xml"); +' +%else +mv %{pecl_name}-%{version} NTS +%endif # Don't install/register tests sed -e 's/role="test"/role="src"/' \ %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ -i package.xml -mv %{pecl_name}-%{version} NTS pushd NTS -%patch0 -p1 -b .gcc5 # Chech version as upstream often forget to update this -extver=$(sed -n '/#define PHP_MEMCACHE_VERSION/{s/.* "//;s/".*$//;p}' php_memcache.h) -if test "x${extver}" != "x%{version}"; then - : Error: Upstream version is now ${extver}, expecting %{version}. +dir=php$(%{__php} -r 'echo PHP_MAJOR_VERSION;') +extver=$(sed -n '/#define PHP_MEMCACHE_VERSION/{s/.* "//;s/".*$//;p}' $dir/php_memcache.h) +if test "x${extver}" != "x%{version}%{?gh_date:-dev}"; then + : Error: Upstream version is now ${extver}, expecting %{version}%{?gh_date:-dev}. : Update the pdover macro and rebuild. exit 1 fi @@ -186,7 +223,7 @@ install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml # Documentation -for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') +for i in $(grep '<file .* role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done @@ -207,10 +244,12 @@ done %if %{with_tests} : Configuration for tests cd NTS -cp %{SOURCE3} tests sed -e "s:/var/run/memcached/memcached.sock:$PWD/memcached.sock:" \ -i tests/connect.inc +: Udp tests +rm tests/0{36,38,39,55,57}.phpt + : Launch the daemons memcached -p 11211 -U 11211 -d -P $PWD/memcached1.pid memcached -p 11212 -U 11212 -d -P $PWD/memcached2.pid @@ -222,7 +261,7 @@ TEST_PHP_EXECUTABLE=%{_bindir}/php \ TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ -%{_bindir}/php -n run-tests.php || ret=1 +%{_bindir}/php -n run-tests.php --show-diff || ret=1 : Cleanup if [ -f memcached2.pid ]; then @@ -262,8 +301,10 @@ fi %{?_licensedir:%license NTS/LICENSE} %doc %{pecl_docdir}/%{pecl_name} %{pecl_xmldir}/%{name}.xml + %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so + %if %{with_zts} %config(noreplace) %{php_ztsinidir}/%{ini_name} %{php_ztsextdir}/%{pecl_name}.so @@ -271,10 +312,31 @@ fi %changelog -* Wed Mar 9 2016 Remi Collet <remi@fedoraproject.org> - 3.0.8-8 +* Tue Jul 18 2017 Remi Collet <remi@remirepo.net> - 3.0.9-0.8.20161124gitdf7735e +- rebuild for PHP 7.2.0beta1 new API + +* Fri Dec 2 2016 Remi Collet <remi@fedoraproject.org> - 3.0.9-0.7.20161124gitdf7735e +- refresh to more recent snapshot + +* Thu Dec 1 2016 Remi Collet <remi@fedoraproject.org> - 3.0.9-0.6.20160311git4991c2f +- rebuild with PHP 7.1.0 GA + +* Wed Sep 14 2016 Remi Collet <remi@fedoraproject.org> - 3.0.9-0.5.20160311git4991c2f +- rebuild for PHP 7.1 new API version + +* Sat Jun 11 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.4.20160311git4991c2f +- refresh + +* Sat Mar 5 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.3.20151130gitfdbd46b - adapt for F24 + +* Sun Jan 10 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.2.20151130gitfdbd46b +- set stability = devel in package.xml + +* Sun Jan 3 2016 Remi Collet <rcollet@redhat.com> - 3.0.9-0.1.20151130gitfdbd46b +- git snapshopt for PHP 7 +- sources from https://github.com/websupport-sk/pecl-memcache (for PHP 7) - drop runtime dependency on pear, new scriptlets -- fix license management - don't install/register tests * Tue Feb 10 2015 Remi Collet <rcollet@redhat.com> - 3.0.8-7 |