summaryrefslogtreecommitdiff
path: root/dev-libs/libmemcached/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libmemcached/files
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libmemcached/files')
-rw-r--r--dev-libs/libmemcached/files/continuum-1.0.18.patch56
-rw-r--r--dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch29
-rw-r--r--dev-libs/libmemcached/files/libmemcached-1.0.18-gcc7.patch29
3 files changed, 114 insertions, 0 deletions
diff --git a/dev-libs/libmemcached/files/continuum-1.0.18.patch b/dev-libs/libmemcached/files/continuum-1.0.18.patch
new file mode 100644
index 000000000000..296978044311
--- /dev/null
+++ b/dev-libs/libmemcached/files/continuum-1.0.18.patch
@@ -0,0 +1,56 @@
+diff --git libmemcached/memcached.cc libmemcached/memcached.cc
+index 337f918..6e88c25 100644
+--- libmemcached/memcached.cc
++++ libmemcached/memcached.cc
+@@ -285,6 +285,8 @@ void memcached_servers_reset(memcached_st *shell)
+ {
+ libmemcached_free(self, self->ketama.continuum);
+ self->ketama.continuum= NULL;
++ self->ketama.continuum_count= 0;
++ self->ketama.continuum_points_counter= 0;
+
+ memcached_instance_list_free(memcached_instance_list(self), self->number_of_hosts);
+ memcached_instance_set(self, NULL, 0);
+diff --git tests/libmemcached-1.0/all_tests.h tests/libmemcached-1.0/all_tests.h
+index b4abe9d..f89f007 100644
+--- tests/libmemcached-1.0/all_tests.h
++++ tests/libmemcached-1.0/all_tests.h
+@@ -452,6 +452,7 @@ collection_st collection[] ={
+ {"hsieh_availability", 0, 0, hsieh_availability},
+ {"murmur_availability", 0, 0, murmur_availability},
+ {"memcached_server_add", (test_callback_fn*)memcached_servers_reset_SETUP, 0, memcached_server_add_TESTS},
++ {"memcached_server_add(continuum)", (test_callback_fn*)memcached_servers_reset_CONTINUUM, 0, memcached_server_add_TESTS},
+ {"memcached_server_add(MEMCACHED_DISTRIBUTION_CONSISTENT)", (test_callback_fn*)memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_SETUP, 0, memcached_server_add_TESTS},
+ {"memcached_server_add(MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED)", (test_callback_fn*)memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED_SETUP, 0, memcached_server_add_TESTS},
+ {"block", 0, 0, tests},
+diff --git tests/libmemcached-1.0/setup_and_teardowns.cc tests/libmemcached-1.0/setup_and_teardowns.cc
+index 4191c38..eb29128 100644
+--- tests/libmemcached-1.0/setup_and_teardowns.cc
++++ tests/libmemcached-1.0/setup_and_teardowns.cc
+@@ -177,6 +177,16 @@ test_return_t memcached_servers_reset_SETUP(memcached_st *memc)
+ return TEST_SUCCESS;
+ }
+
++test_return_t memcached_servers_reset_CONTINUUM(memcached_st *memc)
++{
++ memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, MEMCACHED_DISTRIBUTION_CONSISTENT);
++ memcached_servers_reset(memc);
++ test_compare(0, memc->ketama.continuum_count);
++ // If memc->ketama.continuum_count is non-zero at this point, any call to
++ // memcached_server_add will cause a segfault.
++ return TEST_SUCCESS;
++}
++
+ test_return_t memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_SETUP(memcached_st *memc)
+ {
+ test_compare(TEST_SUCCESS, memcached_servers_reset_SETUP(memc));
+diff --git tests/libmemcached-1.0/setup_and_teardowns.h tests/libmemcached-1.0/setup_and_teardowns.h
+index 7610c5a..59b56f6 100644
+--- tests/libmemcached-1.0/setup_and_teardowns.h
++++ tests/libmemcached-1.0/setup_and_teardowns.h
+@@ -64,3 +64,4 @@ test_return_t pre_buffer(memcached_st*);
+ test_return_t memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_SETUP(memcached_st *memc);
+ test_return_t memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED_SETUP(memcached_st *memc);
+ test_return_t memcached_servers_reset_SETUP(memcached_st *memc);
++test_return_t memcached_servers_reset_CONTINUUM(memcached_st *memc);
+
diff --git a/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch b/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch
new file mode 100644
index 000000000000..ed87cbd7a1c1
--- /dev/null
+++ b/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch
@@ -0,0 +1,29 @@
+Fixed a bug that caused configure to disobey the enable/disable debug flag. The debug flag will default to disabled if not specified.
+diff -ru libmemcached-1.0.18-orig/m4/ax_debug.m4 libmemcached-1.0.18/m4/ax_debug.m4
+--- libmemcached-1.0.18-orig/m4/ax_debug.m4 2014-11-05 14:43:53.720284916 -0600
++++ libmemcached-1.0.18/m4/ax_debug.m4 2014-11-19 14:23:19.512482198 -0600
+@@ -49,16 +49,18 @@
+ [AC_PREREQ([2.63])dnl
+ AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+- [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
+- [ax_enable_debug=yes
++ [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])])
++ AS_IF([test "x$enable_debug" = "xyes"], [
++ ax_enable_debug=yes
+ AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code.])
+ AX_CHECK_LIBRARY([MCHECK],[mcheck.h],[mcheck],[AX_APPEND_LINK_FLAGS([-lmcheck])])
+ AX_ADD_AM_MACRO([--debug],[AM_YFLAGS])
+- AX_ADD_AM_MACRO([-D_GLIBCXX_DEBUG],[AM_CPPFLAGS])],
+- [ax_enable_debug=no
++ AX_ADD_AM_MACRO([-D_GLIBCXX_DEBUG],[AM_CPPFLAGS])
++ ], [
++ ax_enable_debug=no
+ AC_SUBST([MCHECK])
+- AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])])
+-
++ AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])
++ ])
+ AC_MSG_CHECKING([for debug])
+ AC_MSG_RESULT([$ax_enable_debug])
+ AM_CONDITIONAL([DEBUG],[test "x${ax_enable_debug}" = "xyes"])])
diff --git a/dev-libs/libmemcached/files/libmemcached-1.0.18-gcc7.patch b/dev-libs/libmemcached/files/libmemcached-1.0.18-gcc7.patch
new file mode 100644
index 000000000000..6bcb23136c4b
--- /dev/null
+++ b/dev-libs/libmemcached/files/libmemcached-1.0.18-gcc7.patch
@@ -0,0 +1,29 @@
+gcc-7 fails the build as:
+ clients/memflush.cc: In function 'int main(int, char**)':
+ clients/memflush.cc:42:22: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
+ if (opt_servers == false)
+ ^~~~~
+
+opt_servers is declated as 'static char *opt_servers= NULL;'
+diff --git a/clients/memflush.cc b/clients/memflush.cc
+index 8bd0dbf..7641b88 100644
+--- a/clients/memflush.cc
++++ b/clients/memflush.cc
+@@ -39,7 +39,7 @@ int main(int argc, char *argv[])
+ {
+ options_parse(argc, argv);
+
+- if (opt_servers == false)
++ if (!opt_servers)
+ {
+ char *temp;
+
+@@ -48,7 +48,7 @@ int main(int argc, char *argv[])
+ opt_servers= strdup(temp);
+ }
+
+- if (opt_servers == false)
++ if (!opt_servers)
+ {
+ std::cerr << "No Servers provided" << std::endl;
+ exit(EXIT_FAILURE);