From 36052ea3278abe639088429859b59195af1ed873 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 5 Oct 2017 14:09:53 +0200 Subject: switch the spec --- .gitignore | 8 + REFLECTION | 33 +++- REFLECTION-DEV | 295 ----------------------------- connect.inc | 97 ---------- memcache-gcc5.patch | 84 --------- php-pecl-memcache-dev.spec | 458 --------------------------------------------- php-pecl-memcache.spec | 110 ++++++++--- 7 files changed, 124 insertions(+), 961 deletions(-) create mode 100644 .gitignore delete mode 100644 REFLECTION-DEV delete mode 100644 connect.inc delete mode 100644 memcache-gcc5.patch delete mode 100644 php-pecl-memcache-dev.spec 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 diff --git a/REFLECTION b/REFLECTION index 5693e29..a7c17af 100644 --- a/REFLECTION +++ b/REFLECTION @@ -1,4 +1,4 @@ -Extension [ extension #105 memcache version 3.0.8 ] { +Extension [ extension #105 memcache version 3.0.9-dev ] { - INI { Entry [ memcache.allow_failover ] @@ -73,6 +73,13 @@ Extension [ extension #105 memcache version 3.0.8 ] { Function [ function memcache_prepend ] { } Function [ function memcache_get ] { + + - Parameters [4] { + Parameter #0 [ $param0 ] + Parameter #1 [ $param1 ] + Parameter #2 [ &$param2 ] + Parameter #3 [ &$param3 ] + } } Function [ function memcache_delete ] { } @@ -92,6 +99,8 @@ Extension [ extension #105 memcache version 3.0.8 ] { } Function [ function memcache_flush ] { } + Function [ function memcache_set_sasl_auth_data ] { + } } - Classes [2] { @@ -109,7 +118,7 @@ Extension [ extension #105 memcache version 3.0.8 ] { - Properties [0] { } - - Methods [22] { + - Methods [23] { Method [ public method connect ] { } @@ -150,6 +159,12 @@ Extension [ extension #105 memcache version 3.0.8 ] { } Method [ public method get ] { + + - Parameters [3] { + Parameter #0 [ $param0 ] + Parameter #1 [ &$param1 ] + Parameter #2 [ &$param2 ] + } } Method [ public method delete ] { @@ -175,6 +190,9 @@ Extension [ extension #105 memcache version 3.0.8 ] { Method [ public method flush ] { } + + Method [ public method setSaslAuthData ] { + } } } @@ -192,7 +210,7 @@ Extension [ extension #105 memcache version 3.0.8 ] { - Properties [0] { } - - Methods [23] { + - Methods [24] { Method [ public method connect ] { } @@ -236,6 +254,12 @@ Extension [ extension #105 memcache version 3.0.8 ] { } Method [ public method get ] { + + - Parameters [3] { + Parameter #0 [ $param0 ] + Parameter #1 [ &$param1 ] + Parameter #2 [ &$param2 ] + } } Method [ public method delete ] { @@ -261,6 +285,9 @@ Extension [ extension #105 memcache version 3.0.8 ] { Method [ public method flush ] { } + + Method [ 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 [ extension #105 memcache version 3.0.9-dev ] { - - - INI { - Entry [ memcache.allow_failover ] - Current = '1' - } - Entry [ memcache.max_failover_attempts ] - Current = '20' - } - Entry [ memcache.default_port ] - Current = '11211' - } - Entry [ memcache.chunk_size ] - Current = '32768' - } - Entry [ memcache.protocol ] - Current = 'ascii' - } - Entry [ memcache.hash_strategy ] - Current = 'consistent' - } - Entry [ memcache.hash_function ] - Current = 'crc32' - } - Entry [ memcache.redundancy ] - Current = '1' - } - Entry [ memcache.session_redundancy ] - Current = '2' - } - Entry [ memcache.compress_threshold ] - Current = '20000' - } - Entry [ memcache.lock_timeout ] - 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 [ function memcache_connect ] { - } - Function [ function memcache_pconnect ] { - } - Function [ function memcache_add_server ] { - } - Function [ function memcache_set_server_params ] { - } - Function [ function memcache_set_failure_callback ] { - } - Function [ function memcache_get_server_status ] { - } - Function [ function memcache_get_version ] { - } - Function [ function memcache_add ] { - } - Function [ function memcache_set ] { - } - Function [ function memcache_replace ] { - } - Function [ function memcache_cas ] { - } - Function [ function memcache_append ] { - } - Function [ function memcache_prepend ] { - } - Function [ function memcache_get ] { - - - Parameters [4] { - Parameter #0 [ $param0 ] - Parameter #1 [ $param1 ] - Parameter #2 [ &$param2 ] - Parameter #3 [ &$param3 ] - } - } - Function [ function memcache_delete ] { - } - Function [ function memcache_debug ] { - } - Function [ function memcache_get_stats ] { - } - Function [ function memcache_get_extended_stats ] { - } - Function [ function memcache_set_compress_threshold ] { - } - Function [ function memcache_increment ] { - } - Function [ function memcache_decrement ] { - } - Function [ function memcache_close ] { - } - Function [ function memcache_flush ] { - } - Function [ function memcache_set_sasl_auth_data ] { - } - } - - - Classes [2] { - Class [ class MemcachePool ] { - - - Constants [0] { - } - - - Static properties [0] { - } - - - Static methods [0] { - } - - - Properties [0] { - } - - - Methods [23] { - Method [ public method connect ] { - } - - Method [ public method addserver ] { - } - - Method [ public method setserverparams ] { - } - - Method [ public method setfailurecallback ] { - } - - Method [ public method getserverstatus ] { - } - - Method [ public method findserver ] { - } - - Method [ public method getversion ] { - } - - Method [ public method add ] { - } - - Method [ public method set ] { - } - - Method [ public method replace ] { - } - - Method [ public method cas ] { - } - - Method [ public method append ] { - } - - Method [ public method prepend ] { - } - - Method [ public method get ] { - - - Parameters [3] { - Parameter #0 [ $param0 ] - Parameter #1 [ &$param1 ] - Parameter #2 [ &$param2 ] - } - } - - Method [ public method delete ] { - } - - Method [ public method getstats ] { - } - - Method [ public method getextendedstats ] { - } - - Method [ public method setcompressthreshold ] { - } - - Method [ public method increment ] { - } - - Method [ public method decrement ] { - } - - Method [ public method close ] { - } - - Method [ public method flush ] { - } - - Method [ public method setSaslAuthData ] { - } - } - } - - Class [ class Memcache extends MemcachePool ] { - - - Constants [0] { - } - - - Static properties [0] { - } - - - Static methods [0] { - } - - - Properties [0] { - } - - - Methods [24] { - Method [ public method connect ] { - } - - Method [ public method pconnect ] { - } - - Method [ public method addserver ] { - } - - Method [ public method setserverparams ] { - } - - Method [ public method setfailurecallback ] { - } - - Method [ public method getserverstatus ] { - } - - Method [ public method findserver ] { - } - - Method [ public method getversion ] { - } - - Method [ public method add ] { - } - - Method [ public method set ] { - } - - Method [ public method replace ] { - } - - Method [ public method cas ] { - } - - Method [ public method append ] { - } - - Method [ public method prepend ] { - } - - Method [ public method get ] { - - - Parameters [3] { - Parameter #0 [ $param0 ] - Parameter #1 [ &$param1 ] - Parameter #2 [ &$param2 ] - } - } - - Method [ public method delete ] { - } - - Method [ public method getstats ] { - } - - Method [ public method getextendedstats ] { - } - - Method [ public method setcompressthreshold ] { - } - - Method [ public method increment ] { - } - - Method [ public method decrement ] { - } - - Method [ public method close ] { - } - - Method [ public method flush ] { - } - - Method [ 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 @@ - 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 '/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 - 3.0.9-0.8.20161124gitdf7735e -- rebuild for PHP 7.2.0beta1 new API - -* Fri Dec 2 2016 Remi Collet - 3.0.9-0.7.20161124gitdf7735e -- refresh to more recent snapshot - -* Thu Dec 1 2016 Remi Collet - 3.0.9-0.6.20160311git4991c2f -- rebuild with PHP 7.1.0 GA - -* Wed Sep 14 2016 Remi Collet - 3.0.9-0.5.20160311git4991c2f -- rebuild for PHP 7.1 new API version - -* Sat Jun 11 2016 Remi Collet - 3.0.9-0.4.20160311git4991c2f -- refresh - -* Sat Mar 5 2016 Remi Collet - 3.0.9-0.3.20151130gitfdbd46b -- adapt for F24 - -* Sun Jan 10 2016 Remi Collet - 3.0.9-0.2.20151130gitfdbd46b -- set stability = devel in package.xml - -* Sun Jan 3 2016 Remi Collet - 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 - 3.0.8-7 -- fix gcc 5 FTBFS - -* Wed Dec 24 2014 Remi Collet - 3.0.8-5.1 -- Fedora 21 SCL mass rebuild - -* Mon Aug 25 2014 Remi Collet - 3.0.8-5 -- allow SCL build - -* Fri Apr 25 2014 Remi Collet - 3.0.8-4 -- bump release (for EL-7) - -* Thu Apr 10 2014 Remi Collet - 3.0.8-3 -- add numerical prefix to extension configuration file - -* Fri Mar 7 2014 Remi Collet - 3.0.8-2 -- cleanups -- install doc in pecl_docdir -- install tests in pecl_testdir - -* Mon Apr 08 2013 Remi Collet - 3.0.8-1 -- Update to 3.0.8 - -* Sat Dec 29 2012 Remi Collet - 3.0.7-5 -- add patch for https://bugs.php.net/59602 - segfault in getExtendedStats - -* Fri Nov 30 2012 Remi Collet - 3.0.7-4.1 -- also provides php-memcache - -* Fri Oct 19 2012 Remi Collet - 3.0.7-4 -- improve comment in configuration about session. - -* Mon Sep 24 2012 Remi Collet - 3.0.7-3 -- switch back to previous patch (memleak better than segfault) - -* Sun Sep 23 2012 Remi Collet - 3.0.7-2 -- use upstream patch instead of our (memleak) - -* Sun Sep 23 2012 Remi Collet - 3.0.7-1 -- update to 3.0.7 -- drop patches merged upstream -- cleanup spec - -* Sat Sep 8 2012 Remi Collet - 3.0.6-5 -- add LICENSE -- Obsoletes php53*, php54* on EL - -* Sat Jul 7 2012 Remi Collet - 3.0.6-4 -- sync patch with rawhide - -* Thu Jul 5 2012 Joe Orton - 3.0.6-4 -- fix php_stream_cast() usage -- fix memory corruption after unserialization (Paul Clifford) -- package license - -* Sun Nov 13 2011 Remi Collet - 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 3.0.6-2 -- clean spec for latest macros -- build zts extension - -* Mon Apr 11 2011 Remi Collet 3.0.6-1 -- update to 3.0.6 - -* Wed Feb 09 2011 Fedora Release Engineering - 3.0.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Dec 27 2010 Remi Collet 3.0.5-3 -- relocate using phpname macro - -* Sat Oct 23 2010 Remi Collet 3.0.5-2 -- add filter_provides to avoid private-shared-object-provides memcache.so - -* Tue Oct 05 2010 Remi Collet 3.0.5-1 -- update to 3.0.5 - -* Thu Sep 30 2010 Remi Collet 3.0.4-4 -- patch for bug #599305 (upstream #17566) -- add minimal load test in %%check - -* Sun Jul 26 2009 Fedora Release Engineering - 3.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Sun Jul 12 2009 Remi Collet 3.0.4-2 -- rebuild for new PHP 5.3.0 ABI (20090626) - -* Sat Feb 28 2009 Remi Collet 3.0.4-1 -- new version 3.0.4 - -* Tue Jan 13 2009 Remi Collet 3.0.3-1 -- new version 3.0.3 - -* Thu Sep 11 2008 Remi Collet 3.0.2-1 -- new version 3.0.2 - -* Thu Sep 11 2008 Remi Collet 2.2.4-1 -- new version 2.2.4 (bug fixes) - -* Sat Feb 9 2008 Remi Collet 2.2.3-1 -- new version - -* Thu Jan 10 2008 Remi Collet 2.2.2-1 -- new version - -* Thu Nov 01 2007 Remi Collet 2.2.1-1 -- new version - -* Sat Sep 22 2007 Remi Collet 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 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 ' - 3.0.8-8 +* Tue Jul 18 2017 Remi Collet - 3.0.9-0.8.20161124gitdf7735e +- rebuild for PHP 7.2.0beta1 new API + +* Fri Dec 2 2016 Remi Collet - 3.0.9-0.7.20161124gitdf7735e +- refresh to more recent snapshot + +* Thu Dec 1 2016 Remi Collet - 3.0.9-0.6.20160311git4991c2f +- rebuild with PHP 7.1.0 GA + +* Wed Sep 14 2016 Remi Collet - 3.0.9-0.5.20160311git4991c2f +- rebuild for PHP 7.1 new API version + +* Sat Jun 11 2016 Remi Collet - 3.0.9-0.4.20160311git4991c2f +- refresh + +* Sat Mar 5 2016 Remi Collet - 3.0.9-0.3.20151130gitfdbd46b - adapt for F24 + +* Sun Jan 10 2016 Remi Collet - 3.0.9-0.2.20151130gitfdbd46b +- set stability = devel in package.xml + +* Sun Jan 3 2016 Remi Collet - 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 - 3.0.8-7 -- cgit