Bug#1033034: unblock: libmemcached/1.1.4-1
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Hi,
Please unblock package libmemcached 1.1.4-1, it contains fix for #1032479
(CVE-2023-27478). Removing libmemcached from testing would pull a hell lot of
packages with it. The upstream changes between 1.1.3 and 1.1.4 are minimal and
the code changes are limited to fixing the CVE; It also fixes the underlinking
problem that we had to patch.
Thanks,
Ondrej
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
unblock libmemcached/1.1.4-1
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEEw2Gx4wKVQ+vGJel9g3Kkd++uWcIFAmQSouNfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEMz
NjFCMUUzMDI5NTQzRUJDNjI1RTk3RDgzNzJBNDc3RUZBRTU5QzIACgkQg3Kkd++u
WcK6XxAAp5XHOJE5RV6adouX85kXtGR9Yj7L9LcRH/n77IReorLZa/JpxtKceha9
JufAm0CK8fWuvJ5HqYcqo2BClpIiyjLSz8WtuwJw8lQMoblOikpC36P2Cw362UO7
/9guIyuyEaMOY25f6N0P7+w3Xpd6eJXksCvpAYUnSCitBz9Ce0MLiRvQaXtBFT0r
WBQnKd63kF6t/ZG75Et8pJJgUoIxarlrBPe7EwwIepvoQO5RcNt3TqUFzy9uOF2C
74GOMOn8RLLYFlQyhUfVds18m53i5pxXa2B+leYfvVvZhkTrZuJCrDPUUlAxtkfP
WDfUPCKzegYcUfwSiIPDqjihPiMD+OasuUPfDKPG39e2iQts9wUeCMkRnBOVHUVw
Pp/zt5KGPXwvgz9xeKBIVRbquVt+l3lmGI/qUU3vCezVi4nhOlnrwXoPyC5QoWG3
ZGe1DY0nzcSLq1yviUWmUTVQwHfp9dxoJPIvsAi7sh5saTnnquxEC/xUjTWn1wQ3
uKHUw3uFnZ5q8VYqdsAFjTbCogz8MZsyZlsYcxspDCEkW8JoKpdSl9zZiZ9ouoap
Gy4IqQBmQCU9u2oBiwf9CWLywxkzmmHYuCdNGwzspOZbqfOB4iY4tsq9n5uM/KsR
zlT3OO/DQdiEOztBZJQIhWuZ6VFMDpqMrVdDQIXjecvpknAr+MU=
=JrGZ
-----END PGP SIGNATURE-----
diff -Nru libmemcached-1.1.3/.builds/freebsd.yml libmemcached-1.1.4/.builds/freebsd.yml
--- libmemcached-1.1.3/.builds/freebsd.yml 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/.builds/freebsd.yml 2023-03-06 19:36:56.000000000 +0100
@@ -45,11 +45,5 @@
maybe cmake --build debug -j2 --target test
- install: |
maybe cmake --install debug --prefix /tmp
- - package: |
- maybe cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_DOCS_MANGZ=ON -S libmemcached -B release
- maybe cmake --build release -j2 --target package -- VERBOSE=
- maybe cmake -DCPACK_COMPONENT_INSTALL=ON release
- maybe cmake --build release -j2 --target package -- VERBOSE=
- maybe cmake --build release -j2 --target push-artifacts -- VERBOSE=
- success: |
notify-gitter success
diff -Nru libmemcached-1.1.3/.builds/openbsd.yml libmemcached-1.1.4/.builds/openbsd.yml
--- libmemcached-1.1.3/.builds/openbsd.yml 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/.builds/openbsd.yml 2023-03-06 19:36:56.000000000 +0100
@@ -33,11 +33,5 @@
maybe cmake --build debug -j2 --target test
- install: |
maybe cmake --install debug --prefix /tmp
- - package: |
- maybe cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_DOCS_MANGZ=ON -S libmemcached -B release
- maybe cmake --build release -j2 --target package -- VERBOSE=
- maybe cmake -DCPACK_COMPONENT_INSTALL=ON release
- maybe cmake --build release -j2 --target package -- VERBOSE=
- maybe cmake --build release -j2 --target push-artifacts -- VERBOSE=
- success:
notify-gitter success
diff -Nru libmemcached-1.1.3/.builds/scripts/notify-gitter libmemcached-1.1.4/.builds/scripts/notify-gitter
--- libmemcached-1.1.3/.builds/scripts/notify-gitter 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/.builds/scripts/notify-gitter 2023-03-06 19:36:56.000000000 +0100
@@ -1,6 +1,8 @@
#!/usr/bin/env bash
set -eu
+test -f ~/.gitter || exit 0
+
GITTER=$(cat ~/.gitter)
STATUS=$1
diff -Nru libmemcached-1.1.3/ChangeLog libmemcached-1.1.4/ChangeLog
--- libmemcached-1.1.3/ChangeLog 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/ChangeLog 2023-03-06 19:36:56.000000000 +0100
@@ -1,5 +1,22 @@
# ChangeLog v1.1
+## v 1.1.4
+
+> released 2022-03-06
+
+* Fix [gh #107](https://github.com/awesomized/libmemcached/issues/107):
+ macOS: deprecated sasl API (improve detection of `libsasl2`).
+* Fix [gh #131](https://github.com/awesomized/libmemcached/issues/131):
+ Consider renaming tools (add `CLIENT_PREFIX` build option; default: `mem`)
+* Fix [gh #132](https://github.com/awesomized/libmemcached/issues/132):
+ Add build of static library (add `BUILD_SHARED_LIBS` build option; default: `ON`).
+* Fix [gh #134](https://github.com/awesomized/libmemcached/issues/134):
+ Update client option documentation.
+* Fix [gh #136](https://github.com/awesomized/libmemcached/issues/136):
+ `libmemcachedutil` is underlinked (link against libmemcached).
+* Fix [gh php-memcached#531](https://github.com/php-memcached-dev/php-memcached/issues/531):
+ `get` returns random values when lower than default `OPT_POLL_TIMEOUT` is set.
+
## v 1.1.3
> released 2022-11-09
diff -Nru libmemcached-1.1.3/ChangeLog-1.1.md libmemcached-1.1.4/ChangeLog-1.1.md
--- libmemcached-1.1.3/ChangeLog-1.1.md 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/ChangeLog-1.1.md 2023-03-06 19:36:56.000000000 +0100
@@ -1,5 +1,22 @@
# ChangeLog v1.1
+## v 1.1.4
+
+> released 2022-03-06
+
+* Fix [gh #107](https://github.com/awesomized/libmemcached/issues/107):
+ macOS: deprecated sasl API (improve detection of `libsasl2`).
+* Fix [gh #131](https://github.com/awesomized/libmemcached/issues/131):
+ Consider renaming tools (add `CLIENT_PREFIX` build option; default: `mem`)
+* Fix [gh #132](https://github.com/awesomized/libmemcached/issues/132):
+ Add build of static library (add `BUILD_SHARED_LIBS` build option; default: `ON`).
+* Fix [gh #134](https://github.com/awesomized/libmemcached/issues/134):
+ Update client option documentation.
+* Fix [gh #136](https://github.com/awesomized/libmemcached/issues/136):
+ `libmemcachedutil` is underlinked (link against libmemcached).
+* Fix [gh php-memcached#531](https://github.com/php-memcached-dev/php-memcached/issues/531):
+ `get` returns random values when lower than default `OPT_POLL_TIMEOUT` is set.
+
## v 1.1.3
> released 2022-11-09
diff -Nru libmemcached-1.1.3/ChangeLog.md libmemcached-1.1.4/ChangeLog.md
--- libmemcached-1.1.3/ChangeLog.md 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/ChangeLog.md 2023-03-06 19:36:56.000000000 +0100
@@ -1,5 +1,22 @@
# ChangeLog v1.1
+## v 1.1.4
+
+> released 2022-03-06
+
+* Fix [gh #107](https://github.com/awesomized/libmemcached/issues/107):
+ macOS: deprecated sasl API (improve detection of `libsasl2`).
+* Fix [gh #131](https://github.com/awesomized/libmemcached/issues/131):
+ Consider renaming tools (add `CLIENT_PREFIX` build option; default: `mem`)
+* Fix [gh #132](https://github.com/awesomized/libmemcached/issues/132):
+ Add build of static library (add `BUILD_SHARED_LIBS` build option; default: `ON`).
+* Fix [gh #134](https://github.com/awesomized/libmemcached/issues/134):
+ Update client option documentation.
+* Fix [gh #136](https://github.com/awesomized/libmemcached/issues/136):
+ `libmemcachedutil` is underlinked (link against libmemcached).
+* Fix [gh php-memcached#531](https://github.com/php-memcached-dev/php-memcached/issues/531):
+ `get` returns random values when lower than default `OPT_POLL_TIMEOUT` is set.
+
## v 1.1.3
> released 2022-11-09
diff -Nru libmemcached-1.1.3/CMake/CheckDebug.cmake libmemcached-1.1.4/CMake/CheckDebug.cmake
--- libmemcached-1.1.3/CMake/CheckDebug.cmake 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/CMake/CheckDebug.cmake 2023-03-06 19:36:56.000000000 +0100
@@ -15,7 +15,7 @@
if(${NAME} IN_LIST ${VAR} OR ${LIB} IN_LIST ${VAR})
make_have_identifier(${LIB} HAVE)
cmake_push_check_state(RESET)
- set(CMAKE_REQUIRED_LIBRARIES ${LIB})
+ set(CMAKE_REQUIRED_LIBRARIES -fsanitize=${NAME})
check_cxx_compiler_flag(-fsanitize=${NAME} ${HAVE})
cmake_pop_check_state()
if(${HAVE})
diff -Nru libmemcached-1.1.3/CMake/_Include.cmake libmemcached-1.1.4/CMake/_Include.cmake
--- libmemcached-1.1.3/CMake/_Include.cmake 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/CMake/_Include.cmake 2023-03-06 19:36:56.000000000 +0100
@@ -131,6 +131,11 @@
if(HAVE_LIBSASL)
set(LIBMEMCACHED_WITH_SASL_SUPPORT 1)
pkgconfig_export(REQUIRES libsasl2)
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_INCLUDES "${LIBSASL_INCLUDEDIR}")
+ set(CMAKE_REQUIRED_LIBRARIES "${LIBSASL_LIBRARIES}")
+ check_symbol(sasl_client_done sasl/sasl.h)
+ cmake_pop_check_state()
endif()
endif()
diff -Nru libmemcached-1.1.3/CMakeConfig.txt libmemcached-1.1.4/CMakeConfig.txt
--- libmemcached-1.1.3/CMakeConfig.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/CMakeConfig.txt 2023-03-06 19:36:56.000000000 +0100
@@ -23,6 +23,11 @@
set(TARGET_NAMELINK_COMPONENT NAMELINK_COMPONENT dev DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
+set(CLIENT_PREFIX mem
+ CACHE STRING "client prefix (default mem; i.e.: memstat, memcp, memcat ...)")
+
+option(BUILD_SHARED_LIBS "whether to build shared libraries"
+ ON)
option(BUILD_TESTING "whether to enable build of the test suite"
$ENV{BUILD_TESTING})
option(BUILD_DOCSONLY "build *only* documentation"
diff -Nru libmemcached-1.1.3/CMakeLists.txt libmemcached-1.1.4/CMakeLists.txt
--- libmemcached-1.1.3/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -30,19 +30,19 @@
include(CMake/_Include.cmake)
set(CLIENTS
- memcapable
- memcat
- memcp
- memdump
- memerror
- memexist
- memflush
- memparse
- memping
- memrm
- memslap
- memstat
- memtouch
+ capable
+ cat
+ cp
+ dump
+ error
+ exist
+ flush
+ parse
+ ping
+ rm
+ slap
+ stat
+ touch
)
add_subdirectory(include)
diff -Nru libmemcached-1.1.3/CMakeVersions.txt libmemcached-1.1.4/CMakeVersions.txt
--- libmemcached-1.1.3/CMakeVersions.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/CMakeVersions.txt 2023-03-06 19:36:56.000000000 +0100
@@ -2,9 +2,9 @@
# libmemcached
#
-set(LIBMEMCACHED_VERSION 1.1.3)
+set(LIBMEMCACHED_VERSION 1.1.4)
set(LIBMEMCACHED_VERSION_INC 1.0)
-set(LIBMEMCACHED_VERSION_HEX 0x001001003)
+set(LIBMEMCACHED_VERSION_HEX 0x001001004)
# libmemcached.so
diff -Nru libmemcached-1.1.3/contrib/bin/memaslap/CMakeLists.txt libmemcached-1.1.4/contrib/bin/memaslap/CMakeLists.txt
--- libmemcached-1.1.3/contrib/bin/memaslap/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/contrib/bin/memaslap/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -9,7 +9,7 @@
check_dependency(LIBEVENT event)
if(HAVE_LIBEVENT AND HAVE_ATOMICS)
- add_executable(memaslap
+ add_executable(aslap
ms_main.c
ms_conn.c
ms_setting.c
@@ -17,19 +17,19 @@
ms_stats.c
ms_task.c
ms_thread.c)
- target_include_directories(memaslap PRIVATE
+ target_include_directories(aslap PRIVATE
${CMAKE_SOURCE_DIR}/include
${CMAKE_BINARY_DIR}/include
${CMAKE_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}/src
${CMAKE_BINARY_DIR})
- target_link_libraries(memaslap PRIVATE libmemcached Threads::Threads ${LIBEVENT} m)
- set_property(TARGET memaslap PROPERTY C_STANDARD 11)
+ target_link_libraries(aslap PRIVATE libmemcached Threads::Threads ${LIBEVENT} m)
+ set_target_properties(aslap PROPERTIES C_STANDARD 11 OUTPUT_NAME ${CLIENT_PREFIX}aslap)
if(CMAKE_INSTALL_RPATH)
- set_target_properties(${CLIENT} PROPERTIES
+ set_target_properties(aslap PROPERTIES
INSTALL_RPATH ${CMAKE_INSTALL_RPATH}/../${CMAKE_INSTALL_LIBDIR})
endif()
- install(TARGETS memaslap
+ install(TARGETS aslap
RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
diff -Nru libmemcached-1.1.3/debian/changelog libmemcached-1.1.4/debian/changelog
--- libmemcached-1.1.3/debian/changelog 2023-02-23 01:50:44.000000000 +0100
+++ libmemcached-1.1.4/debian/changelog 2023-03-06 19:38:02.000000000 +0100
@@ -1,3 +1,9 @@
+libmemcached (1.1.4-1) unstable; urgency=high
+
+ * New upstream version 1.1.4
+
+ -- Ondřej Surý <ondrej@debian.org> Mon, 06 Mar 2023 19:38:02 +0100
+
libmemcached (1.1.3-3) unstable; urgency=medium
* Prevent libmemcachedutil underlinking by removing the conditional
diff -Nru libmemcached-1.1.3/debian/patches/0001-Prevent-libmemcachedutil-underlinking-by-removing-th.patch libmemcached-1.1.4/debian/patches/0001-Prevent-libmemcachedutil-underlinking-by-removing-th.patch
--- libmemcached-1.1.3/debian/patches/0001-Prevent-libmemcachedutil-underlinking-by-removing-th.patch 2023-02-23 01:50:44.000000000 +0100
+++ libmemcached-1.1.4/debian/patches/0001-Prevent-libmemcachedutil-underlinking-by-removing-th.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= <ondrej@sury.org>
-Date: Thu, 23 Feb 2023 01:50:21 +0100
-Subject: Prevent libmemcachedutil underlinking by removing the conditional
- around target_link_libraries
-
----
- src/libmemcachedutil/CMakeLists.txt | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/libmemcachedutil/CMakeLists.txt b/src/libmemcachedutil/CMakeLists.txt
-index 78e87d3..49bc4e1 100644
---- a/src/libmemcachedutil/CMakeLists.txt
-+++ b/src/libmemcachedutil/CMakeLists.txt
-@@ -23,9 +23,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
- LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
- )
- endif()
--if(MSVC OR MINGW)
-- target_link_libraries(libmemcachedutil PUBLIC libmemcached)
--endif()
-+target_link_libraries(libmemcachedutil PUBLIC libmemcached)
- target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
- if(HAVE_LIBSASL)
- target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
diff -Nru libmemcached-1.1.3/debian/patches/series libmemcached-1.1.4/debian/patches/series
--- libmemcached-1.1.3/debian/patches/series 2023-02-23 01:50:44.000000000 +0100
+++ libmemcached-1.1.4/debian/patches/series 2023-03-06 19:38:02.000000000 +0100
@@ -1 +0,0 @@
-0001-Prevent-libmemcachedutil-underlinking-by-removing-th.patch
diff -Nru libmemcached-1.1.3/debian/rules libmemcached-1.1.4/debian/rules
--- libmemcached-1.1.3/debian/rules 2023-02-23 01:50:44.000000000 +0100
+++ libmemcached-1.1.4/debian/rules 2023-03-06 19:38:02.000000000 +0100
@@ -3,7 +3,7 @@
TMP=$(CURDIR)/debian/tmp/
%:
- dh $@ --with autoreconf -X.la -Xlibmemcached-awesome -Xlibmemcachedprotocol.so -Xlibmemcachedprotocol-0.0 -O--dbgsym-migration='libmemcached-dbg (<< 1.0.18-5~)' --buildsystem=cmake
+ dh $@ --with autoreconf -X.la -Xlibp9y.a -Xlibmemcached-awesome -Xlibmemcachedprotocol.so -Xlibmemcachedprotocol-0.0 -O--dbgsym-migration='libmemcached-dbg (<< 1.0.18-5~)' --buildsystem=cmake
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
diff -Nru libmemcached-1.1.3/debian/upstream/signing-key.asc libmemcached-1.1.4/debian/upstream/signing-key.asc
--- libmemcached-1.1.3/debian/upstream/signing-key.asc 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/debian/upstream/signing-key.asc 2023-03-06 19:38:02.000000000 +0100
@@ -0,0 +1,30 @@
+-----BEGIN PGP ARMORED FILE-----
+Comment: Use "gpg --dearmor" for unpacking
+
+mQENBE3uqzUBCADh6f5+LRiEpgxD9G/bo9mv3tqdiR5ovlmwlChTwf7l+rIbbm2Z
+p6NjKu4AUdBgUfsZe4SjGhRNWf7S79TSZNaiYoI6X2j+ETa2Q4PYyyKkPKlby2mr
+E63H/I6iuQkqWqD95SxFoLpg3SrN38Irbb3j8RBaD7ws07hrFH0FVd1CtOeS+YeS
+fT5Mj72flCZOEvu6p2XAvEM5ZddMUGk8Z4ev4z7qrM39rLA59mfVhwKoNiRmB534
+Q/N1hmGZEY2tGztYRugfT0egDkxULrsv/0xpRXizA+Fw6hSnGW29RokS9ZEdjURW
+96GBTe8MVbrsBXN7hMpNkTOvPUnAHkrOHLsrABEBAAG0HkJyaWFuIEFrZXIgPGJy
+aWFuQHRhbmdlbnQub3JnPokBOAQTAQIAIgUCTe6rNQIbAwYLCQgHAwIGFQgCCQoL
+BBYCAwECHgECF4AACgkQi07jX9okiBMzxgf/cr3Rlhk4vinHiAYJJwsAp6FBKU2o
+pBBpmp1erXoiQzujlcKtWVtA9/C84KeDncYDN1KHOjksuOygnEOTieMRkysp99m8
+Q7p5DMXV8DU4smkTPzh8YVBc1To/bm7++2g82TXvpL8oZrMh+scCQO1jfaVG6HOK
+BIka7kf8X4nQp9hhWyGRoKiA9TvMJ02i7E8pR+/hp4kCIrFk9VtPvVFXaZkhUq/e
+c1h2GcCNUB5GFUPSc0vh1v1N0lpYUcMBhCDHJUDYrX5S6TRna1h7Nog5QvGJA5h+
+OW6qoLxNmw9NzPbX4IIMJ+fyohy2jSPxbp3SJM1JpcXUEGpYOQjFOR9wgrkBDQRN
+7qs1AQgAtyFmp0v78yNdp9qkfTwGFtozAavBOFTG/0kAlAdIrJ6xnRbz9f5keDrr
+j9JTEGnI4+QIsrbvY9vplG+ZIVxefS9BUMPL9OmgYaPl/UmFYTNtTDHyuNQDfNxu
+SPq096UKhoqMpG5/a0BYuXxGUr9P97SmyKWzQlI3Um47dziJJkDFhNQt+16BOdYD
+lkEXjZ+6+lQYPrlrrRxz+O26BbStsu3/Kkik8VL8fIAPQuLGEpI0Wyp5WbkVXuRi
+cMbMN7aChR/Ttu5gets59yA5Pg77c7j4EGcfCMr14+FzbQeOzQG7E1g4qM6YZhSO
+6C9ZSTyewGNOAVVKNp7LanYrqpm3GQARAQABiQEfBBgBAgAJBQJN7qs1AhsMAAoJ
+EItO41/aJIgT364H/ieE7++8IjQw0O+4f/mcCpeMD8HZk2KkrQO/U9gNWqzQjKEV
+7K1F82MmY/UjGatUMRsoQ2qD8h0l7dXtskAURVamjvwEG3ydbyqqmOMNDTJarrCV
+YGCUUR/+7I0DUiqG5GzrnnFkirNLmbYXbuW8BWvBGCI9YYekiAlzInwO5JAGdrwV
+fAXxlEm7GNrUySyDmEzVGiuDbjUbpQA7IyJtqpRboR7R08ruljf9CGzn6XqwVthI
+e+W3d8QA7q42hDZWRikEEGbH1nC0B3ME3WNhVjUbqTjR5/PmN4iykZWLMroS4NeY
+bVkXf/vg4i5fnVmKXnfgfM3gop7voxbBkNjz5Js=
+=B43W
+-----END PGP ARMORED FILE-----
Binary files /tmp/rg_uWpjnBI/libmemcached-1.1.3/debian/upstream-signing-key.pgp and /tmp/ZpOUphpagE/libmemcached-1.1.4/debian/upstream-signing-key.pgp differ
diff -Nru libmemcached-1.1.3/docs/CMakeLists.txt libmemcached-1.1.4/docs/CMakeLists.txt
--- libmemcached-1.1.3/docs/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -50,7 +50,7 @@
COMMAND
${CMAKE_COMMAND} -E touch "${SPHINX_HTML_DIR}"
BYPRODUCTS ${SPHINX_HTML_DIR}
- DEPENDS "${DOCS_SOURCE}"
+ DEPENDS "${DOCS_SOURCE}" conf.py.in
)
add_custom_target(html ALL DEPENDS "${SPHINX_HTML_DIR}")
@@ -73,7 +73,7 @@
COMMAND
${CMAKE_COMMAND} -E touch "${SPHINX_MAN_DIR}"
BYPRODUCTS ${SPHINX_MAN_DIR}
- DEPENDS "${DOCS_SOURCE}"
+ DEPENDS "${DOCS_SOURCE}" conf.py.in
)
add_custom_target(man ALL DEPENDS "${SPHINX_MAN_DIR}")
diff -Nru libmemcached-1.1.3/docs/conf.py.in libmemcached-1.1.4/docs/conf.py.in
--- libmemcached-1.1.3/docs/conf.py.in 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/conf.py.in 2023-03-06 19:36:56.000000000 +0100
@@ -191,27 +191,46 @@
('libmemcachedutil/memcached_pool' ,'memcached_pool_st' ,u'libmemcached Documentation' ,man_authors,3),
('libmemcachedutil/memcached_pool' ,'memcached_pool' ,u'libmemcached Documentation' ,man_authors,3),
- ('bin/memcapable' , 'memcapable' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memcat' , 'memcat' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memcp' , 'memcp' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memdump' , 'memdump' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memerror' , 'memerror' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memflush' , 'memflush' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memrm' , 'memrm' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memaslap' , 'memaslap' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memslap' , 'memslap' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memstat' , 'memstat' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memexist' , 'memexist' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memparse' , 'memparse' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memping' , 'memping' , u'libmemcached Documentation' , man_authors, 1),
- ('bin/memtouch' , 'memtouch' , u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memcapable' , 'memcapable' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memcat' , 'memcat' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memcp' , 'memcp' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memdump' , 'memdump' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memerror' , 'memerror' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memflush' , 'memflush' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memrm' , 'memrm' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memaslap' , 'memaslap' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memslap' , 'memslap' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memstat' , 'memstat' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memexist' , 'memexist' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memparse' , 'memparse' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memping' , 'memping' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memtouch' , 'memtouch' ,u'libmemcached Documentation' , man_authors, 1),
]
+if '@CLIENT_PREFIX@' != 'mem' :
+ man_pages.extend([
+ ('bin/memcapable' , '@CLIENT_PREFIX@capable' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memcat' , '@CLIENT_PREFIX@cat' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memcp' , '@CLIENT_PREFIX@cp' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memdump' , '@CLIENT_PREFIX@dump' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memerror' , '@CLIENT_PREFIX@error' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memflush' , '@CLIENT_PREFIX@flush' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memrm' , '@CLIENT_PREFIX@rm' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memaslap' , '@CLIENT_PREFIX@aslap' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memslap' , '@CLIENT_PREFIX@slap' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memstat' , '@CLIENT_PREFIX@stat' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memexist' , '@CLIENT_PREFIX@exist' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memparse' , '@CLIENT_PREFIX@parse' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memping' , '@CLIENT_PREFIX@ping' ,u'libmemcached Documentation' , man_authors, 1),
+ ('bin/memtouch' , '@CLIENT_PREFIX@touch' ,u'libmemcached Documentation' , man_authors, 1),
+ ])
+
rst_prolog = """
-.. |libhashkit_version| replace:: 1.0
-.. |libmemcached_version| replace:: 1.0
-.. |libmemcachedprotocol_version| replace:: 0.0
-.. |libmemcachedutil_version| replace:: 1.0
+.. |client_prefix| replace:: @CLIENT_PREFIX@
+.. |libhashkit_version| replace:: @LIBHASHKIT_VERSION_INC@
+.. |libmemcached_version| replace:: @LIBMEMCACHED_VERSION_INC@
+.. |libmemcachedprotocol_version| replace:: @LIBMEMCACHEDPROTOCOL_VERSION_INC@
+.. |libmemcachedutil_version| replace:: @LIBMEMCACHEDUTIL_VERSION_INC@
"""
@SPHINX_CONF_APPEND@
diff -Nru libmemcached-1.1.3/docs/source/bin/common/env.rst libmemcached-1.1.4/docs/source/bin/common/env.rst
--- libmemcached-1.1.3/docs/source/bin/common/env.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/common/env.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,7 @@
+ENVIRONMENT
+-----------
+
+.. envvar:: MEMCACHED_SERVERS
+
+ Specify a list of servers.
+
diff -Nru libmemcached-1.1.3/docs/source/bin/common/note_contrib_options.rst libmemcached-1.1.4/docs/source/bin/common/note_contrib_options.rst
--- libmemcached-1.1.3/docs/source/bin/common/note_contrib_options.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/common/note_contrib_options.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,8 @@
+
+CONTRIBUTED PROGRAM
+...................
+
+This is a contributed program.
+
+This program doesn't follow the standard flag/option scheme.
+
diff -Nru libmemcached-1.1.3/docs/source/bin/common/note_program_prefix.rst libmemcached-1.1.4/docs/source/bin/common/note_program_prefix.rst
--- libmemcached-1.1.3/docs/source/bin/common/note_program_prefix.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/common/note_program_prefix.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,10 @@
+
+PROGRAM PREFIX
+..............
+
+The prefix of this program is variable, i.e. it can be configured at build time.
+
+Usually the client programs of ``libmemcached-awesome`` are prefixed with ``mem``, like ``memcat`` or ``memcp``.
+
+It can be configured, though, to replace the prefix with something else like ``mc``, in case of that,
+the client programs of ``libmemcached-awesome`` would be called ``mccat``, ``mccp``, etc. respectively.
diff -Nru libmemcached-1.1.3/docs/source/bin/memaslap.rst libmemcached-1.1.4/docs/source/bin/memaslap.rst
--- libmemcached-1.1.3/docs/source/bin/memaslap.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memaslap.rst 2023-03-06 19:36:56.000000000 +0100
@@ -5,11 +5,12 @@
SYNOPSIS
--------
-memaslap [options]
+|client_prefix|\aslap [options]
.. program:: memaslap
.. option:: --help
+.. option:: --servers
.. envvar:: MEMCACHED_SERVERS
@@ -29,7 +30,7 @@
connections in each thread. Each connection keeps key size distribution,
value size distribution, and command distribution by itself.
-You can specify servers via the :option:`memslap --servers` option or via the
+You can specify servers via the :option:`memaslap --servers` option or via the
environment variable :envvar:`MEMCACHED_SERVERS`.
FEATURES
@@ -999,6 +1000,12 @@
memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2
+NOTES
+-----
+
+.. include:: common/note_program_prefix.rst
+.. include:: common/note_contrib_options.rst
+
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memcapable.rst libmemcached-1.1.4/docs/source/bin/memcapable.rst
--- libmemcached-1.1.3/docs/source/bin/memcapable.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memcapable.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memcapable
-memcapable [options]
+|client_prefix|\capable [options]
Check a memcached server's capabilities and compatibility.
@@ -39,6 +39,14 @@
Set the timeout for an IO operation to/from the server to \ *n*\ seconds.
+
+NOTES
+-----
+
+.. include:: common/note_program_prefix.rst
+.. include:: common/note_contrib_options.rst
+
+
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memcat.rst libmemcached-1.1.4/docs/source/bin/memcat.rst
--- libmemcached-1.1.3/docs/source/bin/memcat.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memcat.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memcat
-memcat [options] key [key...]
+|client_prefix|\cat [options] key [key...]
Read and output the value of one key or the values of a set of keys.
@@ -23,20 +23,17 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
+.. include:: options/common_get.rst
+.. include:: options/flags_noarg.rst
.. include:: options/hash.rst
+.. include:: options/file_out.rst
-.. option:: --flag
+.. include:: common/env.rst
- Display stored flags.
+NOTES
+-----
-ENVIRONMENT
------------
-
-.. envvar:: MEMCACHED_SERVERS
-
- Specify a list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memcp.rst libmemcached-1.1.4/docs/source/bin/memcp.rst
--- libmemcached-1.1.3/docs/source/bin/memcp.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memcp.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memcp
-memcp [options] \-\-servers <hostname[:port]...> <file...>
+|client_prefix|\cp [options] \-\-servers <hostname[:port]...> <file...>
Copy files to a collection of memcached servers.
@@ -21,37 +21,42 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
-.. include:: options/expire.rst
-.. include:: options/flag.rst
-.. include:: options/hash.rst
-.. include:: options/sasl.rst
+.. include:: options/common_set.rst
+.. include:: /bin/options/flags_reqarg.rst
.. include:: options/udp.rst
-.. option:: --buffer
-
- Enable internal buffering of commands.
-
-.. option:: --set
+.. option:: -S|--set
Issue *SET* command(s). This is the default mode.
- See also :option:`--add` and :option:`--replace`.
+ See also :option:`-A|--add` and :option:`-R|--replace`.
-.. option:: --add
+.. option:: -A|--add
Issue *ADD* command(s).
-.. option:: --replace
+.. option:: -R|--replace
Issue *REPLACE* command(s).
-ENVIRONMENT
------------
+.. option:: -.|--basename
+
+ Use basename of path as key (default).
+
+.. option:: -+|--relative
+
+ Use relative path (as passed), instead of basename only.
+
+.. option:: -/|--absolute
+
+ Use absolute path (real path), instead of basename only.
+
+
+.. include:: common/env.rst
-.. envvar:: MEMCACHED_SERVERS
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memdump.rst libmemcached-1.1.4/docs/source/bin/memdump.rst
--- libmemcached-1.1.3/docs/source/bin/memdump.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memdump.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memdump
-memdump [options]
+|client_prefix|\dump [options]
Dump a list of keys from a server.
@@ -20,17 +20,16 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
-.. include:: options/hash.rst
-.. include:: options/sasl.rst
+.. include:: options/common_get.rst
+.. include:: options/file_out.rst
-ENVIRONMENT
------------
-.. envvar:: MEMCACHED_SERVERS
+.. include:: common/env.rst
+
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memerror.rst libmemcached-1.1.4/docs/source/bin/memerror.rst
--- libmemcached-1.1.3/docs/source/bin/memerror.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memerror.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memerror
-memerror [options] <error code>
+|client_prefix|\error [options] <error code>
Translate a memcached error code into a string.
@@ -20,13 +20,15 @@
-------
.. include:: options/all.rst
+.. include:: options/common.rst
-ENVIRONMENT
------------
-.. envvar:: MEMCACHED_SERVERS
+.. include:: common/env.rst
+
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memexist.rst libmemcached-1.1.4/docs/source/bin/memexist.rst
--- libmemcached-1.1.3/docs/source/bin/memexist.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memexist.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memexist
-memexist [options] <key>
+|client_prefix|\exist [options] <key>
Check for the existence of a key.
@@ -18,17 +18,15 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
+.. include:: options/common_get.rst
.. include:: options/hash.rst
-.. include:: options/sasl.rst
-ENVIRONMENT
------------
+.. include:: common/env.rst
-.. envvar:: MEMCACHED_SERVERS
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memflush.rst libmemcached-1.1.4/docs/source/bin/memflush.rst
--- libmemcached-1.1.3/docs/source/bin/memflush.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memflush.rst 2023-03-06 19:36:56.000000000 +0100
@@ -4,7 +4,7 @@
SYNOPSIS
--------
-memflush [options]
+|client_prefix|\flush [options]
.. program:: memflush
@@ -22,9 +22,7 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
-.. include:: options/sasl.rst
+.. include:: options/common_get.rst
.. include:: options/expire.rst
.. note::
@@ -53,12 +51,13 @@
.. _memcached protocol documentation: https://github.com/memcached/memcached/blob/master/doc/protocol.txt
-ENVIRONMENT
------------
-.. envvar:: MEMCACHED_SERVERS
+.. include:: common/env.rst
+
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memparse.rst libmemcached-1.1.4/docs/source/bin/memparse.rst
--- libmemcached-1.1.3/docs/source/bin/memparse.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memparse.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memparse
-memparse <option string>
+|client_prefix|\parse <option string>
Parse and validate an option string.
@@ -20,6 +20,12 @@
None.
+NOTES
+-----
+
+.. include:: common/note_program_prefix.rst
+
+
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memping.rst libmemcached-1.1.4/docs/source/bin/memping.rst
--- libmemcached-1.1.3/docs/source/bin/memping.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memping.rst 2023-03-06 19:36:56.000000000 +0100
@@ -4,7 +4,7 @@
SYNOPSIS
--------
-memping [options] [server]
+|client_prefix|\ping [options] [server]
.. program:: memping
@@ -22,12 +22,17 @@
.. include:: options/common.rst
.. include:: options/sasl.rst
-ENVIRONMENT
------------
+.. option:: -s|--servers <list of servers>
+
+ Specify the list of servers as *hostname[:port][,hostname[:port]...]*.
+
+
+.. include:: common/env.rst
-.. envvar:: MEMCACHED_SERVERS
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memrm.rst libmemcached-1.1.4/docs/source/bin/memrm.rst
--- libmemcached-1.1.3/docs/source/bin/memrm.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memrm.rst 2023-03-06 19:36:56.000000000 +0100
@@ -4,7 +4,7 @@
SYNOPSIS
--------
-memrm [options] <key ...>
+|client_prefix|\rm [options] <key ...>
.. program:: memrm
@@ -18,17 +18,14 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
-.. include:: options/hash.rst
-.. include:: options/sasl.rst
+.. include:: options/common_set.rst
-ENVIRONMENT
------------
+.. include:: common/env.rst
-.. envvar:: MEMCACHED_SERVERS
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memslap.rst libmemcached-1.1.4/docs/source/bin/memslap.rst
--- libmemcached-1.1.3/docs/source/bin/memslap.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memslap.rst 2023-03-06 19:36:56.000000000 +0100
@@ -4,7 +4,7 @@
SYNOPSIS
--------
-memslap [options]
+|client_prefix|\slap [options]
.. program:: memslap
@@ -21,15 +21,41 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
+.. include:: options/common_get.rst
+.. include:: options/hash.rst
+.. include:: options/udp.rst
-ENVIRONMENT
------------
+.. option:: -R|--noreply
+
+ Enable the NOREPLY behavior for storage commands.
+
+.. option:: -F|--flush
+
+ Flush all servers prior test.
+
+.. option:: -t|--test <arg>
+
+ Test to perform (options: get, mget, set; default: get).
+
+.. option:: -c|--concurrency <num>
+
+ Concurrency (number of threads to start; default: 1).
+
+.. option:: -e|--execute-number <num>
+
+ Number of times to execute the tests (default: 10000).
+
+.. option:: -l|--initial-load <num>
+
+ Number of keys to load before executing tests (default: 10000).
+
+
+.. include:: common/env.rst
-.. envvar:: MEMCACHED_SERVERS
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memstat.rst libmemcached-1.1.4/docs/source/bin/memstat.rst
--- libmemcached-1.1.3/docs/source/bin/memstat.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memstat.rst 2023-03-06 19:36:56.000000000 +0100
@@ -4,7 +4,7 @@
SYNOPSIS
--------
-memstat [options]
+|client_prefix|\stat [options] [stat args]
.. program:: memstat
@@ -19,31 +19,42 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
-.. include:: options/sasl.rst
+.. include:: options/common_get.rst
-.. option:: --analyze
+.. option:: -A|--args <stat>
- Analyze and print differences of a server cluster. A memory and uptime comparison is performed by default.
+ Stat args.
- Available additional modes:
+ **DEPRECATED:** use positional arguments.
- --analyze=latency
- Network latency comparison
+.. option:: -a|--analyze [<arg>]
+
+ Analyze and print differences of a server cluster.
+ A memory and uptime comparison is performed by default.
+ Options:
+
+ --analyze[=default]
+ Memory and uptime comparison.
+ --analyze=latency
+ Network latency comparison.
-.. option:: --server-version
+.. option:: -S|-server-version
Obtain and print server version(s) only.
-ENVIRONMENT
------------
+.. option:: --iterations
+
+ Iteration count of GETs sent by the latency test (default: 1000).
+
+
+.. include:: common/env.rst
-.. envvar:: MEMCACHED_SERVERS
+NOTES
+-----
- Specify the list of servers.
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/memtouch.rst libmemcached-1.1.4/docs/source/bin/memtouch.rst
--- libmemcached-1.1.3/docs/source/bin/memtouch.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/memtouch.rst 2023-03-06 19:36:56.000000000 +0100
@@ -6,7 +6,7 @@
.. program:: memtouch
-memtouch [options] <key>
+|client_prefix|\touch [options] <key>
DESCRIPTION
-----------
@@ -16,11 +16,16 @@
OPTIONS
-------
-.. include:: options/all.rst
-.. include:: options/common.rst
-.. include:: options/expire.rst
+.. include:: options/common_get.rst
.. include:: options/hash.rst
-.. include:: options/sasl.rst
+.. include:: options/expire.rst
+
+.. include:: common/env.rst
+
+NOTES
+-----
+
+.. include:: common/note_program_prefix.rst
SEE ALSO
--------
diff -Nru libmemcached-1.1.3/docs/source/bin/options/all.rst libmemcached-1.1.4/docs/source/bin/options/all.rst
--- libmemcached-1.1.3/docs/source/bin/options/all.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/all.rst 2023-03-06 19:36:56.000000000 +0100
@@ -1,8 +1,8 @@
-.. option:: --help
+.. option:: -h|--help
Display help.
-.. option:: --version
+.. option:: -V|--version
Display version.
diff -Nru libmemcached-1.1.3/docs/source/bin/options/common_get.rst libmemcached-1.1.4/docs/source/bin/options/common_get.rst
--- libmemcached-1.1.3/docs/source/bin/options/common_get.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/common_get.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,6 @@
+
+.. include:: /bin/options/all.rst
+.. include:: /bin/options/common.rst
+.. include:: /bin/options/net.rst
+.. include:: /bin/options/proto.rst
+.. include:: /bin/options/sasl.rst
diff -Nru libmemcached-1.1.3/docs/source/bin/options/common.rst libmemcached-1.1.4/docs/source/bin/options/common.rst
--- libmemcached-1.1.3/docs/source/bin/options/common.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/common.rst 2023-03-06 19:36:56.000000000 +0100
@@ -1,20 +1,11 @@
-.. option:: --quiet
+.. option:: -q|--quiet
Operate quietly.
-.. option:: --verbose
+.. option:: -v|--verbose
Operate more verbosely.
-.. option:: --debug
-
- See :option:`--verbose`.
-
-.. option:: --servers <list of servers>
-
- Specify the list of servers as *hostname[:port][,hostname[:port]...]*.
-
-.. option:: --binary
-
- Enable binary protocol.
+.. option:: -d|--debug
+ See :option:`-v\|--verbose`.
diff -Nru libmemcached-1.1.3/docs/source/bin/options/common_set.rst libmemcached-1.1.4/docs/source/bin/options/common_set.rst
--- libmemcached-1.1.3/docs/source/bin/options/common_set.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/common_set.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,8 @@
+
+.. include:: /bin/options/all.rst
+.. include:: /bin/options/common.rst
+.. include:: /bin/options/expire.rst
+.. include:: /bin/options/hash.rst
+.. include:: /bin/options/net.rst
+.. include:: /bin/options/proto.rst
+.. include:: /bin/options/sasl.rst
diff -Nru libmemcached-1.1.3/docs/source/bin/options/expire.rst libmemcached-1.1.4/docs/source/bin/options/expire.rst
--- libmemcached-1.1.3/docs/source/bin/options/expire.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/expire.rst 2023-03-06 19:36:56.000000000 +0100
@@ -1,4 +1,4 @@
-.. option:: --expire <expiration>
+.. option:: -e|--expire <expiration>
Use *expiration* seconds (or a UNIX timestamp).
diff -Nru libmemcached-1.1.3/docs/source/bin/options/file_out.rst libmemcached-1.1.4/docs/source/bin/options/file_out.rst
--- libmemcached-1.1.3/docs/source/bin/options/file_out.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/file_out.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,6 @@
+
+.. option:: -f|--file [<file>]
+
+ Output to file instead of standard output.
+
+ *NOTE:* defaults to <key> if no argument was provided.
diff -Nru libmemcached-1.1.3/docs/source/bin/options/flag.rst libmemcached-1.1.4/docs/source/bin/options/flag.rst
--- libmemcached-1.1.3/docs/source/bin/options/flag.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/flag.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-.. option:: --flag <number>
-
- Use *number* as flag.
-
diff -Nru libmemcached-1.1.3/docs/source/bin/options/flags_noarg.rst libmemcached-1.1.4/docs/source/bin/options/flags_noarg.rst
--- libmemcached-1.1.3/docs/source/bin/options/flags_noarg.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/flags_noarg.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,4 @@
+.. option:: -F|--flags
+
+ Display key's flags.
+
diff -Nru libmemcached-1.1.3/docs/source/bin/options/flags_reqarg.rst libmemcached-1.1.4/docs/source/bin/options/flags_reqarg.rst
--- libmemcached-1.1.3/docs/source/bin/options/flags_reqarg.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/flags_reqarg.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,4 @@
+.. option:: -F|--flags <number>
+
+ Use *number* as key's flags.
+
diff -Nru libmemcached-1.1.3/docs/source/bin/options/hash.rst libmemcached-1.1.4/docs/source/bin/options/hash.rst
--- libmemcached-1.1.3/docs/source/bin/options/hash.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/hash.rst 2023-03-06 19:36:56.000000000 +0100
@@ -1,4 +1,4 @@
-.. option:: --hash <algorithm>
+.. option:: -H|--hash <algorithm>
Use *algorithm* as key hash algo.
See :enumerator:`memcached_behavior_t::MEMCACHED_BEHAVIOR_HASH`.
diff -Nru libmemcached-1.1.3/docs/source/bin/options/net.rst libmemcached-1.1.4/docs/source/bin/options/net.rst
--- libmemcached-1.1.3/docs/source/bin/options/net.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/net.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,12 @@
+
+.. option:: -s|--servers <list of servers>
+
+ Specify the list of servers as *hostname[:port][,hostname[:port]...]*.
+
+.. option:: -n|--non-blocking
+
+ Enable non-blocking operations.
+
+.. option:: -N|--tcp-nodelay
+
+ Disable Nagle's algorithm.
diff -Nru libmemcached-1.1.3/docs/source/bin/options/proto.rst libmemcached-1.1.4/docs/source/bin/options/proto.rst
--- libmemcached-1.1.3/docs/source/bin/options/proto.rst 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/proto.rst 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,8 @@
+
+.. option:: -b|--binary
+
+ Enable binary protocol.
+
+.. option:: -B|--buffer
+
+ Buffer requests.
diff -Nru libmemcached-1.1.3/docs/source/bin/options/sasl.rst libmemcached-1.1.4/docs/source/bin/options/sasl.rst
--- libmemcached-1.1.3/docs/source/bin/options/sasl.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/sasl.rst 2023-03-06 19:36:56.000000000 +0100
@@ -1,8 +1,8 @@
-.. option:: --username <username>
+.. option:: -u|--username <username>
Use *username* for SASL authentication.
-.. option:: --password <password>
+.. option:: -p|--password <password>
Use *password* for SASL authentication.
diff -Nru libmemcached-1.1.3/docs/source/bin/options/udp.rst libmemcached-1.1.4/docs/source/bin/options/udp.rst
--- libmemcached-1.1.3/docs/source/bin/options/udp.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/bin/options/udp.rst 2023-03-06 19:36:56.000000000 +0100
@@ -1,4 +1,4 @@
-.. option:: --udp
+.. option:: -U|--udp
Enable UDP operation mode.
diff -Nru libmemcached-1.1.3/docs/source/ChangeLog-1.1.rst libmemcached-1.1.4/docs/source/ChangeLog-1.1.rst
--- libmemcached-1.1.3/docs/source/ChangeLog-1.1.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/ChangeLog-1.1.rst 2023-03-06 19:36:56.000000000 +0100
@@ -5,6 +5,28 @@
ChangeLog v1.1
==============
+v 1.1.4
+-------
+
+..
+
+ released 2022-03-06
+
+
+
+* Fix `gh #107 <https://github.com/awesomized/libmemcached/issues/107>`_\ :
+ macOS: deprecated sasl API (improve detection of ``libsasl2``\ ).
+* Fix `gh #131 <https://github.com/awesomized/libmemcached/issues/131>`_\ :
+ Consider renaming tools (add ``CLIENT_PREFIX`` build option; default: ``mem``\ )
+* Fix `gh #132 <https://github.com/awesomized/libmemcached/issues/132>`_\ :
+ Add build of static library (add ``BUILD_SHARED_LIBS`` build option; default: ``ON``\ ).
+* Fix `gh #134 <https://github.com/awesomized/libmemcached/issues/134>`_\ :
+ Update client option documentation.
+* Fix `gh #136 <https://github.com/awesomized/libmemcached/issues/136>`_\ :
+ ``libmemcachedutil`` is underlinked (link against libmemcached).
+* Fix `gh php-memcached#531 <https://github.com/php-memcached-dev/php-memcached/issues/531>`_\ :
+ ``get`` returns random values when lower than default ``OPT_POLL_TIMEOUT`` is set.
+
v 1.1.3
-------
diff -Nru libmemcached-1.1.3/docs/source/libmemcached/memcached_analyze.rst libmemcached-1.1.4/docs/source/libmemcached/memcached_analyze.rst
--- libmemcached-1.1.3/docs/source/libmemcached/memcached_analyze.rst 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/docs/source/libmemcached/memcached_analyze.rst 2023-03-06 19:36:56.000000000 +0100
@@ -28,7 +28,7 @@
and sets the result to the `memcached_analysis_st` structure. The return value
must be freed by the calling application.
-.. seealso:: :option:`memstat --analyze`
+.. seealso:: :option:`memstat -a|--analyze [<arg>]`
A command line tool to analyze a memcached server.
diff -Nru libmemcached-1.1.3/.github/workflows/cmake-build-ci.gen libmemcached-1.1.4/.github/workflows/cmake-build-ci.gen
--- libmemcached-1.1.3/.github/workflows/cmake-build-ci.gen 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/.github/workflows/cmake-build-ci.gen 2023-03-06 19:36:56.000000000 +0100
@@ -5,102 +5,156 @@
const DEF = [
"os" => "Linux",
- "Linux" => "ubuntu-20.04",
- "Windows" => "windows-2019",
- "macOS" => "macos-10.15",
- "ubuntu-20.04" => "gnu",
- "windows-2019" => "msvc",
- "macos-10.15" => "clang",
+
+ "Linux" => "ubuntu-22.04", "ubuntu-22.04" => "gnu",
+ "Windows" => "windows-2022", "windows-2022" => "msvc",
+ "macOS" => "macos-12", "macos-12" => "clang",
+
"gnu" => [
- "ver" => "cur",
"CC" => "gcc",
"CXX" => "g++",
],
"clang" => [
- "ver" => "cur",
"CC" => "clang",
"CXX" => "clang++",
],
- "msvc" => [ // dummy
- "ver" => "cur",
- "CC" => "msvc",
- "CXX" => "msvc",
+ "msvc" => [
+ "CMAKE_GENERATOR" => "Visual Studio"
],
- "mingw" => [ // dummy
- "ver" => "cur",
- "CC" => "mingw",
- "CXX" => "mingw",
+ "mingw" => [
+ "CMAKE_GENERATOR" => "MinGW Makefiles"
]
];
const MAP = [
- 'env.OS_VER' => [
- "ubuntu-20.04" => [
- 'env.CC_VND' => [
- "gnu" => [
- 'env.CC_VER' => [
- "new" => "-10",
- "cur" => "-9",
+ "Linux" => [
+ 'env.OS_VER' => [
+ "ubuntu-22.04" => [
+ 'env.CC_VND' => [
+ "gnu" => [
+ 'env.CC_VER' => [
+ "new" => "-12",
+ "cur" => "-11",
+ "old" => "-10",
+ ]
+ ],
+ "clang" => [
+ 'env.CC_VER' => [
+ "new" => "-14",
+ "cur" => "-13",
+ ]
]
- ],
- "clang" => [
- 'env.CC_VER' => [
- "new" => "-12",
- "cur" => "-11",
- "old" => "-10"
+ ]
+ ],
+ "ubuntu-20.04" => [
+ 'env.CC_VND' => [
+ "gnu" => [
+ 'env.CC_VER' => [
+ "new" => "-10",
+ "cur" => "-9",
+ ]
+ ],
+ "clang" => [
+ 'env.CC_VER' => [
+ "new" => "-12",
+ "cur" => "-11",
+ "old" => "-10"
+ ]
]
]
- ]
+ ],
],
- "ubuntu-18.04" => [
- 'env.CC_VND' => [
- "gnu" => [
- 'env.CC_VER' => [
- "new" => "-10",
- "cur" => "-9",
- "old" => "-7"
+ ],
+ "Windows" => [
+ 'env.OS_VER' => [
+ "windows-2022" => [
+ 'env.CC_VND' => [
+ "msvc" => [
+ "env.CC_VER" => [
+ "cur" => " 17 2022"
+ ]
+ ],
+ "mingw" => [
+ "env.CC_VER" => [
+ "cur" => ""
+ ]
]
- ],
- "clang" => [
- 'env.CC_VER' => [
- "cur" => "-9",
+ ]
+ ],
+ "windows-2019" => [
+ 'env.CC_VND' => [
+ "msvc" => [
+ "env.CC_VER" => [
+ "cur" => " 16 2019"
+ ]
+ ],
+ "mingw" => [
+ "env.CC_VER" => [
+ "cur" => ""
+ ]
]
]
- ]
- ],
- ]
+ ],
+ ]
+ ],
+ "macOS" => []
];
const ENV = [
- "ubuntu-20.04" => [
+ "ubuntu-22.04" => [
"clang" => [
"new" => [
"CXXFLAGS" => "-stdlib=libc++",
- "INSTALL_CXX" => "libc++-12-dev libc++abi-12-dev"
+ "INSTALL_CXX" => "libc++-14-dev libc++abi-14-dev"
],
"cur" => [
"CXXFLAGS" => "-stdlib=libc++",
- "INSTALL_CXX" => "libc++-11-dev libc++abi-11-dev"
- ],
- "old" => [
- "CXXFLAGS" => "-stdlib=libc++",
- "INSTALL_CXX" => "libc++-10-dev libc++abi-10-dev"
+ "INSTALL_CXX" => "libc++-13-dev libc++abi-13-dev"
],
]
],
- "ubuntu-18.04" => [
+ "ubuntu-20.04" => [
"clang" => [
"new" => [
- "CXXFLAGS" => "-stdlib=libc++"
+ "CXXFLAGS" => "-stdlib=libc++",
+ "INSTALL_CXX" => "libc++-12-dev libc++abi-12-dev"
],
"cur" => [
- "CXXFLAGS" => "-stdlib=libc++"
+ "CXXFLAGS" => "-stdlib=libc++",
+ "INSTALL_CXX" => "libc++-11-dev libc++abi-11-dev"
],
"old" => [
- "CXXFLAGS" => "-stdlib=libc++"
+ "CXXFLAGS" => "-stdlib=libc++",
+ "INSTALL_CXX" => "libc++-10-dev libc++abi-10-dev"
],
]
- ]
+ ],
];
+function set_addpath($os_vnd, $paths) {
+ foreach ((array) $paths as $path) if ($os_vnd == "Windows") {
+?>
+ echo "<?=$path?>" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
+<?php
+ } else {
+?>
+ echo 'PATH="$PATH:<?=$path?>"' >> ${GITHUB_ENV}
+<?php
+ }
+}
+function step_setenv($os_vnd, $var, $val) {
+ if ($var === "PATH") {
+ return set_addpath($os_vnd, $val);
+ }
+ if ($os_vnd == "Windows") {
+?>
+ echo '<?=$var?>=<?=$val?>' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+<?php
+ } else {
+?>
+ echo <?=$var?>="<?=$val?>" >> ${GITHUB_ENV}
+<?php
+ }
+}
+
/**
* @var bool $splat_map false = no splat map, null = default splat map, true = full splat map
*/
@@ -111,14 +165,10 @@
run: |
echo "c:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "c:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- echo 'CMAKE_GENERATOR=Visual Studio 16 2019' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- - name: Prepare environment (MinGW)
- if: env.CC_VND == 'mingw'
- run: |
- echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
<?php
- } elseif ($splat_map !== false) {
- foreach (MAP as $os_is => $os_vers) {
+ }
+ if ($splat_map !== false) {
+ foreach (MAP[$os_vnd] as $os_is => $os_vers) {
foreach ($os_vers as $os_ver => $cc_vnds_) {
if (!$splat_map && DEF[DEF["os"]] != $os_ver) continue;
foreach ($cc_vnds_ as $cc_vnd_is => $cc_vnds) {
@@ -126,19 +176,18 @@
if (!$splat_map && DEF[DEF[DEF["os"]]] != $cc_vnd) continue;
foreach ($cc_vers_ as $cc_ver_is => $cc_vers) {
foreach ($cc_vers as $cc_ver => $ver) {
- if (!$splat_map && DEF[DEF[DEF[DEF["os"]]]]["ver"] != $cc_ver) continue;
+ if (!$splat_map && "cur" != $cc_ver) continue;
?>
- name: Prepare environment (<?= "for $cc_ver $cc_vnd on $os_ver" ?>)
if: (<?="$os_is=='$os_ver') && ($cc_vnd_is=='$cc_vnd') && ($cc_ver_is=='$cc_ver'"?>)
run: |
- echo CC="<?=DEF[$cc_vnd]["CC"] . $ver?>" >> ${GITHUB_ENV}
- echo CXX="<?=DEF[$cc_vnd]["CXX"] . $ver?>" >> ${GITHUB_ENV}
<?php
+ foreach (DEF[$cc_vnd] as $env => $val) {
+ step_setenv($os_vnd, $env, $val . $ver);
+ }
if (isset(ENV[$os_ver][$cc_vnd][$cc_ver])) {
foreach (ENV[$os_ver][$cc_vnd][$cc_ver] as $env => $val) {
-?>
- echo <?=$env?>="<?=$val?>" >> ${GITHUB_ENV}
-<?php
+ step_setenv($os_vnd, $env, $val);
}
}
}
@@ -172,7 +221,7 @@
if ($os_vnd === "macOS") :
?>
run: |
- brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
+ brew install bison flex libevent pkg-config sphinx-doc ${INSTALL_MEMCACHED}
brew services stop memcached || true
echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
<?php
@@ -184,6 +233,8 @@
release: false
path-type: inherit
install: >-
+ bison
+ flex
rsync
openssh
<?php
@@ -197,7 +248,8 @@
then
cd memcached
./autogen.sh
- ./configure CFLAGS="-O2 -pipe" \
+ cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
+ ./configure CFLAGS="-O2 -pipe -fcommon" \
--prefix=${MEMCACHED_PREFIX} \
--enable-sasl \
--enable-sasl-pwdb \
@@ -244,7 +296,7 @@
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
run: |
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -276,8 +328,7 @@
function defaults($os_vnd = DEF["os"]) {
$os_ver = DEF[$os_vnd];
$cc_vnd = DEF[$os_ver];
- $cc_ver = DEF[$cc_vnd]["ver"];
- return "$os_ver, $cc_vnd, $cc_ver";
+ return "$os_ver, $cc_vnd";
}
function env_override($os_vnd, $cc_vnd = null) {
@@ -286,7 +337,7 @@
OS_VND: <?=$os_vnd?> #
OS_VER: <?=DEF[$os_vnd]?> #
CC_VND: <?=$cc_vnd?> #
- CC_VER: <?=DEF[$cc_vnd]["ver"]?> #
+ CC_VER: cur
<?php
}
@@ -320,51 +371,77 @@
OS_VND: <?=DEF["os"]?> #
OS_VER: <?=DEF[DEF["os"]]?> #
CC_VND: <?=DEF[DEF[DEF["os"]]]?> #
- CC_VER: <?=DEF[DEF[DEF[DEF["os"]]]]["ver"]?> #
+ CC_VER: cur
jobs:
- # new memcached
- dbg-new:
- name: dbg-new (<?=defaults()?>)
+ # sanitizer
+ debug-sanitizer:
+ name: debug sanitizer
runs-on: <?=DEF[DEF["os"]]?> #
+ strategy:
+ matrix:
+ sanitizer: ['address;undefined', 'thread']
+ env:
+ CMAKE_BUILD_TYPE: "Debug"
+ BUILD_TESTING: "ON"
+ VERBOSE: "ON"
+ ENABLE_SANITIZERS: ${{ matrix.sanitizer }}
+ steps:
+ - uses: actions/checkout@v3
+<?php steps("Linux"); ?>
+
+# memcached
+ debug-memcached:
+ name: debug memcached
+ runs-on: <?=DEF[DEF["os"]]?> #
+ continue-on-error: true
+ strategy:
+ matrix:
+ memcached: ['master', '1.6.17', '1.6.9', '1.5.22', '1.5.6']
env:
CMAKE_BUILD_TYPE: "Debug"
BUILD_TESTING: "ON"
VERBOSE: "ON"
- CFLAGS: "-O0 --coverage"
- CXXFLAGS: "-O0 --coverage"
INSTALL_MEMCACHED: ""
MEMCACHED_PREFIX: "/tmp"
ENABLE_SASL: "ON"
steps:
- - uses: actions/checkout@v2
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
+ - uses: actions/checkout@v3
with:
repository: memcached/memcached
path: memcached
- ref: 1.6.7
+ ref: ${{ matrix.memcached }}
<?php steps("Linux"); ?>
- - uses: codecov/codecov-action@v1.0.13
- # sanitizer build
- sanitizer:
+# coverage linux
+ debug-coverage-linux:
+ name: debug coverage (<?=defaults()?>)
runs-on: <?=DEF[DEF["os"]]?> #
- strategy:
- matrix:
- sanitizer: ['address;undefined', 'thread']
env:
CMAKE_BUILD_TYPE: "Debug"
BUILD_TESTING: "ON"
VERBOSE: "ON"
- ENABLE_SANITIZERS: ${{ matrix.sanitizer }}
+ CFLAGS: "-O0 --coverage"
+ CXXFLAGS: "-O0 --coverage"
+ INSTALL_MEMCACHED: ""
+ MEMCACHED_PREFIX: "/tmp"
+ ENABLE_SASL: "ON"
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
+ - uses: actions/checkout@v3
+ with:
+ repository: memcached/memcached
+ path: memcached
+ ref: 1.6.7
<?php steps("Linux"); ?>
+ - uses: codecov/codecov-action@v3
+
- # mac debug
- dbg-mac:
- name: dbg-mac (<?=DEF["macOS"]?>, <?=DEF[DEF["macOS"]]?>, <?=DEF[DEF[DEF["macOS"]]]["ver"]?>)
+ # coverage mac
+ debug-coverage-mac:
+ name: debug coverage (<?=defaults("macOS")?>)
runs-on: <?=DEF["macOS"]?> #
env:
CMAKE_BUILD_TYPE: "Debug"
@@ -375,31 +452,36 @@
<?php env_override("macOS")?>
continue-on-error: true
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
<?php steps("macOS", false); ?>
- - uses: codecov/codecov-action@v1.0.13
+ - uses: codecov/codecov-action@v3
- # mac release
- rel-mac:
- name: rel-mac (<?=DEF["macOS"]?>, <?=DEF[DEF["macOS"]]?>, <?=DEF[DEF[DEF["macOS"]]]["ver"]?>)
- runs-on: <?=DEF["macOS"]?> #
+ # mac release builds
+ mac:
+ name: release
+ strategy:
+ fail-fast: false
+ matrix:
+ os_ver: [macos-12, macos-11, macos-10.15]
+ runs-on: ${{ matrix.os_ver }}
env:
CMAKE_BUILD_TYPE: "Release"
BUILD_DOCS_MANGZ: "ON"
<?php env_override("macOS")?>
continue-on-error: true
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
fetch-depth: 0
<?php steps("macOS", false); ?>
# windows release builds
windows:
+ name: release
strategy:
fail-fast: false
matrix:
- os_ver: [<?=DEF["Windows"]?>]
+ os_ver: [windows-2022, windows-2019]
cc_vnd: [msvc, mingw]
cc_ver: [cur]
runs-on: ${{ matrix.os_ver }}
@@ -411,7 +493,7 @@
CC_VND: ${{ matrix.cc_vnd }}
CC_VER: ${{ matrix.cc_ver }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
fetch-depth: 0
<?php steps("Windows", true); ?>
@@ -421,7 +503,7 @@
strategy:
fail-fast: false
matrix:
- os_ver: [ubuntu-20.04, ubuntu-18.04]
+ os_ver: [ubuntu-22.04, ubuntu-20.04]
cc_vnd: [gnu, clang]
cc_ver: [new, cur, old]
runs-on: ${{ matrix.os_ver }}
@@ -434,7 +516,7 @@
CC_VND: ${{ matrix.cc_vnd }}
CC_VER: ${{ matrix.cc_ver }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
fetch-depth: 0
<?php steps("Linux", true); ?>
diff -Nru libmemcached-1.1.3/.github/workflows/cmake-build-ci.yml libmemcached-1.1.4/.github/workflows/cmake-build-ci.yml
--- libmemcached-1.1.3/.github/workflows/cmake-build-ci.yml 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/.github/workflows/cmake-build-ci.yml 2023-03-06 19:36:56.000000000 +0100
@@ -26,37 +26,122 @@
ENABLE_HASH_HSIEH: "ON"
ENABLE_DTRACE: "OFF"
OS_VND: Linux #
- OS_VER: ubuntu-20.04 #
+ OS_VER: ubuntu-22.04 #
CC_VND: gnu #
- CC_VER: cur #
+ CC_VER: cur
jobs:
- # new memcached
- dbg-new:
- name: dbg-new (ubuntu-20.04, gnu, cur)
- runs-on: ubuntu-20.04 #
+ # sanitizer
+ debug-sanitizer:
+ name: debug sanitizer
+ runs-on: ubuntu-22.04 #
+ strategy:
+ matrix:
+ sanitizer: ['address;undefined', 'thread']
+ env:
+ CMAKE_BUILD_TYPE: "Debug"
+ BUILD_TESTING: "ON"
+ VERBOSE: "ON"
+ ENABLE_SANITIZERS: ${{ matrix.sanitizer }}
+ steps:
+ - uses: actions/checkout@v3
+ - name: Prepare environment (for cur gnu on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
+ run: |
+ echo CC="gcc-11" >> ${GITHUB_ENV}
+ echo CXX="g++-11" >> ${GITHUB_ENV}
+ - name: Install dependencies (Linux)
+ if: runner.os == 'Linux'
+ run: |
+ sudo apt-get update -y
+ sudo apt-get install -my \
+ libevent-dev \
+ libsasl2-dev \
+ libtbb-dev \
+ python3-sphinx \
+ ${INSTALL_MEMCACHED} \
+ ${INSTALL_CC} ${INSTALL_CXX}
+ sudo systemctl stop memcached || true
+ - name: Build memcached
+ if: runner.os != 'Windows'
+ run: |
+ if test -d memcached
+ then
+ cd memcached
+ ./autogen.sh
+ cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
+ ./configure CFLAGS="-O2 -pipe -fcommon" \
+ --prefix=${MEMCACHED_PREFIX} \
+ --enable-sasl \
+ --enable-sasl-pwdb \
+ --disable-coverage \
+ --disable-dependency-tracking \
+ --disable-docs \
+ --disable-extstore \
+ --disable-option-checking \
+ ;
+ make -j2
+ make install
+ cd ..
+ echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
+ fi
+ - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
+ run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
+ run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
+ - name: Test
+ if: env.BUILD_TESTING == 'ON'
+ run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
+ - name: Install
+ if: env.BUILD_TESTING == 'ON'
+ run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
+ - name: Failed tests log
+ if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
+ run: cat build/Testing/Temporary/LastTest.log || true
+ - name: Package
+ env:
+ PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
+ run: |
+ cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
+ cmake -DCPACK_COMPONENT_INSTALL=ON build
+ cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
+ cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
+ - name: Notify Gitter
+ env:
+ GITTER: ${{ secrets.GITTER }}
+ if: (success() || failure()) && env.GITTER != ''
+ run: bash .github/notify-gitter.sh ${{ job.status }}
+
+# memcached
+ debug-memcached:
+ name: debug memcached
+ runs-on: ubuntu-22.04 #
+ continue-on-error: true
+ strategy:
+ matrix:
+ memcached: ['master', '1.6.17', '1.6.9', '1.5.22', '1.5.6']
env:
CMAKE_BUILD_TYPE: "Debug"
BUILD_TESTING: "ON"
VERBOSE: "ON"
- CFLAGS: "-O0 --coverage"
- CXXFLAGS: "-O0 --coverage"
INSTALL_MEMCACHED: ""
MEMCACHED_PREFIX: "/tmp"
ENABLE_SASL: "ON"
steps:
- - uses: actions/checkout@v2
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
+ - uses: actions/checkout@v3
with:
repository: memcached/memcached
path: memcached
- ref: 1.6.7
- - name: Prepare environment (for cur gnu on ubuntu-20.04)
- if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
+ ref: ${{ matrix.memcached }}
+ - name: Prepare environment (for cur gnu on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
run: |
- echo CC="gcc-9" >> ${GITHUB_ENV}
- echo CXX="g++-9" >> ${GITHUB_ENV}
+ echo CC="gcc-11" >> ${GITHUB_ENV}
+ echo CXX="g++-11" >> ${GITHUB_ENV}
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
@@ -76,7 +161,8 @@
then
cd memcached
./autogen.sh
- ./configure CFLAGS="-O2 -pipe" \
+ cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
+ ./configure CFLAGS="-O2 -pipe -fcommon" \
--prefix=${MEMCACHED_PREFIX} \
--enable-sasl \
--enable-sasl-pwdb \
@@ -107,7 +193,7 @@
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
run: |
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -119,26 +205,32 @@
GITTER: ${{ secrets.GITTER }}
if: (success() || failure()) && env.GITTER != ''
run: bash .github/notify-gitter.sh ${{ job.status }}
- - uses: codecov/codecov-action@v1.0.13
- # sanitizer build
- sanitizer:
- runs-on: ubuntu-20.04 #
- strategy:
- matrix:
- sanitizer: ['address;undefined', 'thread']
+# coverage linux
+ debug-coverage-linux:
+ name: debug coverage (ubuntu-22.04, gnu)
+ runs-on: ubuntu-22.04 #
env:
CMAKE_BUILD_TYPE: "Debug"
BUILD_TESTING: "ON"
VERBOSE: "ON"
- ENABLE_SANITIZERS: ${{ matrix.sanitizer }}
+ CFLAGS: "-O0 --coverage"
+ CXXFLAGS: "-O0 --coverage"
+ INSTALL_MEMCACHED: ""
+ MEMCACHED_PREFIX: "/tmp"
+ ENABLE_SASL: "ON"
steps:
- - uses: actions/checkout@v2
- - name: Prepare environment (for cur gnu on ubuntu-20.04)
- if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
+ - uses: actions/checkout@v3
+ - uses: actions/checkout@v3
+ with:
+ repository: memcached/memcached
+ path: memcached
+ ref: 1.6.7
+ - name: Prepare environment (for cur gnu on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
run: |
- echo CC="gcc-9" >> ${GITHUB_ENV}
- echo CXX="g++-9" >> ${GITHUB_ENV}
+ echo CC="gcc-11" >> ${GITHUB_ENV}
+ echo CXX="g++-11" >> ${GITHUB_ENV}
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
@@ -158,7 +250,8 @@
then
cd memcached
./autogen.sh
- ./configure CFLAGS="-O2 -pipe" \
+ cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
+ ./configure CFLAGS="-O2 -pipe -fcommon" \
--prefix=${MEMCACHED_PREFIX} \
--enable-sasl \
--enable-sasl-pwdb \
@@ -189,7 +282,7 @@
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
run: |
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -201,11 +294,13 @@
GITTER: ${{ secrets.GITTER }}
if: (success() || failure()) && env.GITTER != ''
run: bash .github/notify-gitter.sh ${{ job.status }}
+ - uses: codecov/codecov-action@v3
+
- # mac debug
- dbg-mac:
- name: dbg-mac (macos-10.15, clang, cur)
- runs-on: macos-10.15 #
+ # coverage mac
+ debug-coverage-mac:
+ name: debug coverage (macos-12, clang)
+ runs-on: macos-12 #
env:
CMAKE_BUILD_TYPE: "Debug"
BUILD_TESTING: "ON"
@@ -213,16 +308,16 @@
CFLAGS: "-O0 --coverage"
CXXFLAGS: "-O0 --coverage"
OS_VND: macOS #
- OS_VER: macos-10.15 #
+ OS_VER: macos-12 #
CC_VND: clang #
- CC_VER: cur #
+ CC_VER: cur
continue-on-error: true
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
- brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
+ brew install bison flex libevent pkg-config sphinx-doc ${INSTALL_MEMCACHED}
brew services stop memcached || true
echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
- name: Build memcached
@@ -232,7 +327,8 @@
then
cd memcached
./autogen.sh
- ./configure CFLAGS="-O2 -pipe" \
+ cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
+ ./configure CFLAGS="-O2 -pipe -fcommon" \
--prefix=${MEMCACHED_PREFIX} \
--enable-sasl \
--enable-sasl-pwdb \
@@ -263,7 +359,7 @@
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
run: |
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -275,28 +371,32 @@
GITTER: ${{ secrets.GITTER }}
if: (success() || failure()) && env.GITTER != ''
run: bash .github/notify-gitter.sh ${{ job.status }}
- - uses: codecov/codecov-action@v1.0.13
+ - uses: codecov/codecov-action@v3
- # mac release
- rel-mac:
- name: rel-mac (macos-10.15, clang, cur)
- runs-on: macos-10.15 #
+ # mac release builds
+ mac:
+ name: release
+ strategy:
+ fail-fast: false
+ matrix:
+ os_ver: [macos-12, macos-11, macos-10.15]
+ runs-on: ${{ matrix.os_ver }}
env:
CMAKE_BUILD_TYPE: "Release"
BUILD_DOCS_MANGZ: "ON"
OS_VND: macOS #
- OS_VER: macos-10.15 #
+ OS_VER: macos-12 #
CC_VND: clang #
- CC_VER: cur #
+ CC_VER: cur
continue-on-error: true
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
- brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
+ brew install bison flex libevent pkg-config sphinx-doc ${INSTALL_MEMCACHED}
brew services stop memcached || true
echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
- name: Build memcached
@@ -306,7 +406,8 @@
then
cd memcached
./autogen.sh
- ./configure CFLAGS="-O2 -pipe" \
+ cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
+ ./configure CFLAGS="-O2 -pipe -fcommon" \
--prefix=${MEMCACHED_PREFIX} \
--enable-sasl \
--enable-sasl-pwdb \
@@ -337,7 +438,7 @@
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
run: |
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -352,10 +453,11 @@
# windows release builds
windows:
+ name: release
strategy:
fail-fast: false
matrix:
- os_ver: [windows-2019]
+ os_ver: [windows-2022, windows-2019]
cc_vnd: [msvc, mingw]
cc_ver: [cur]
runs-on: ${{ matrix.os_ver }}
@@ -367,16 +469,27 @@
CC_VND: ${{ matrix.cc_vnd }}
CC_VER: ${{ matrix.cc_ver }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Prepare environment (Windows)
run: |
echo "c:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "c:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
+ - name: Prepare environment (for cur msvc on windows-2022)
+ if: (env.OS_VER=='windows-2022') && (env.CC_VND=='msvc') && (env.CC_VER=='cur')
+ run: |
+ echo 'CMAKE_GENERATOR=Visual Studio 17 2022' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+ - name: Prepare environment (for cur mingw on windows-2022)
+ if: (env.OS_VER=='windows-2022') && (env.CC_VND=='mingw') && (env.CC_VER=='cur')
+ run: |
+ echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+ - name: Prepare environment (for cur msvc on windows-2019)
+ if: (env.OS_VER=='windows-2019') && (env.CC_VND=='msvc') && (env.CC_VER=='cur')
+ run: |
echo 'CMAKE_GENERATOR=Visual Studio 16 2019' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- - name: Prepare environment (MinGW)
- if: env.CC_VND == 'mingw'
+ - name: Prepare environment (for cur mingw on windows-2019)
+ if: (env.OS_VER=='windows-2019') && (env.CC_VND=='mingw') && (env.CC_VER=='cur')
run: |
echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install dependencies (Windows)
@@ -386,6 +499,8 @@
release: false
path-type: inherit
install: >-
+ bison
+ flex
rsync
openssh
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
@@ -404,7 +519,7 @@
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
run: |
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
@@ -422,7 +537,7 @@
strategy:
fail-fast: false
matrix:
- os_ver: [ubuntu-20.04, ubuntu-18.04]
+ os_ver: [ubuntu-22.04, ubuntu-20.04]
cc_vnd: [gnu, clang]
cc_ver: [new, cur, old]
runs-on: ${{ matrix.os_ver }}
@@ -435,9 +550,38 @@
CC_VND: ${{ matrix.cc_vnd }}
CC_VER: ${{ matrix.cc_ver }}
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
fetch-depth: 0
+ - name: Prepare environment (for new gnu on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
+ run: |
+ echo CC="gcc-12" >> ${GITHUB_ENV}
+ echo CXX="g++-12" >> ${GITHUB_ENV}
+ - name: Prepare environment (for cur gnu on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
+ run: |
+ echo CC="gcc-11" >> ${GITHUB_ENV}
+ echo CXX="g++-11" >> ${GITHUB_ENV}
+ - name: Prepare environment (for old gnu on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
+ run: |
+ echo CC="gcc-10" >> ${GITHUB_ENV}
+ echo CXX="g++-10" >> ${GITHUB_ENV}
+ - name: Prepare environment (for new clang on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
+ run: |
+ echo CC="clang-14" >> ${GITHUB_ENV}
+ echo CXX="clang++-14" >> ${GITHUB_ENV}
+ echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
+ echo INSTALL_CXX="libc++-14-dev libc++abi-14-dev" >> ${GITHUB_ENV}
+ - name: Prepare environment (for cur clang on ubuntu-22.04)
+ if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
+ run: |
+ echo CC="clang-13" >> ${GITHUB_ENV}
+ echo CXX="clang++-13" >> ${GITHUB_ENV}
+ echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
+ echo INSTALL_CXX="libc++-13-dev libc++abi-13-dev" >> ${GITHUB_ENV}
- name: Prepare environment (for new gnu on ubuntu-20.04)
if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
run: |
@@ -469,27 +613,6 @@
echo CXX="clang++-10" >> ${GITHUB_ENV}
echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
echo INSTALL_CXX="libc++-10-dev libc++abi-10-dev" >> ${GITHUB_ENV}
- - name: Prepare environment (for new gnu on ubuntu-18.04)
- if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
- run: |
- echo CC="gcc-10" >> ${GITHUB_ENV}
- echo CXX="g++-10" >> ${GITHUB_ENV}
- - name: Prepare environment (for cur gnu on ubuntu-18.04)
- if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
- run: |
- echo CC="gcc-9" >> ${GITHUB_ENV}
- echo CXX="g++-9" >> ${GITHUB_ENV}
- - name: Prepare environment (for old gnu on ubuntu-18.04)
- if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
- run: |
- echo CC="gcc-7" >> ${GITHUB_ENV}
- echo CXX="g++-7" >> ${GITHUB_ENV}
- - name: Prepare environment (for cur clang on ubuntu-18.04)
- if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
- run: |
- echo CC="clang-9" >> ${GITHUB_ENV}
- echo CXX="clang++-9" >> ${GITHUB_ENV}
- echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
@@ -509,7 +632,8 @@
then
cd memcached
./autogen.sh
- ./configure CFLAGS="-O2 -pipe" \
+ cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure
+ ./configure CFLAGS="-O2 -pipe -fcommon" \
--prefix=${MEMCACHED_PREFIX} \
--enable-sasl \
--enable-sasl-pwdb \
@@ -540,7 +664,7 @@
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release'
run: |
cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
diff -Nru libmemcached-1.1.3/src/bin/CMakeLists.txt libmemcached-1.1.4/src/bin/CMakeLists.txt
--- libmemcached-1.1.3/src/bin/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/bin/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -1,8 +1,8 @@
add_subdirectory(common)
foreach(CLIENT IN LISTS CLIENTS)
- add_executable(${CLIENT} ${CLIENT}.cc)
- set_property(TARGET ${CLIENT} PROPERTY CXX_STANDARD ${CXX_STANDARD})
+ add_executable(${CLIENT} mem${CLIENT}.cc)
+ set_target_properties(${CLIENT} PROPERTIES CXX_STANDARD ${CXX_STANDARD} OUTPUT_NAME ${CLIENT_PREFIX}${CLIENT})
target_include_directories(${CLIENT} PRIVATE ..)
target_link_libraries(${CLIENT} PRIVATE libclient_common)
if(CMAKE_INSTALL_RPATH)
@@ -14,9 +14,9 @@
# extra sources
-target_sources(memcapable PRIVATE ../libmemcached/byteorder.cc)
+target_sources(capable PRIVATE ../libmemcached/byteorder.cc)
# extra libs
-target_link_libraries(memping PRIVATE libmemcachedutil)
-target_link_libraries(memslap PRIVATE Threads::Threads)
+target_link_libraries(ping PRIVATE libmemcachedutil)
+target_link_libraries(slap PRIVATE Threads::Threads)
diff -Nru libmemcached-1.1.3/src/libhashkit/CMakeLists.txt libmemcached-1.1.4/src/libhashkit/CMakeLists.txt
--- libmemcached-1.1.3/src/libhashkit/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/libhashkit/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -21,12 +21,12 @@
strerror.cc
string.cc
)
-add_library(libhashkit SHARED)
+add_library(libhashkit)
add_library(hashkit ALIAS libhashkit)
set_target_properties(libhashkit PROPERTIES
CXX_STANDARD ${CXX_STANDARD}
- LIBRARY_OUTPUT_NAME hashkit
- LIBRARY_OUTPUT_NAME_DEBUG hashkit-dbg
+ OUTPUT_NAME hashkit
+ OUTPUT_NAME_DEBUG hashkit-dbg
SOVERSION ${LIBHASHKIT_SO_SOVERSION}
VERSION ${LIBHASHKIT_SO_VERSION})
target_compile_options(libhashkit PRIVATE -DBUILDING_HASHKIT)
diff -Nru libmemcached-1.1.3/src/libmemcached/CMakeLists.txt libmemcached-1.1.4/src/libmemcached/CMakeLists.txt
--- libmemcached-1.1.3/src/libmemcached/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/libmemcached/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -85,12 +85,12 @@
)
endif()
-add_library(libmemcached SHARED)
+add_library(libmemcached)
add_library(memcached ALIAS libmemcached)
set_target_properties(libmemcached PROPERTIES
CXX_STANDARD ${CXX_STANDARD}
- LIBRARY_OUTPUT_NAME memcached
- LIBRARY_OUTPUT_NAME_DEBUG memcached-dbg
+ OUTPUT_NAME memcached
+ OUTPUT_NAME_DEBUG memcached-dbg
SOVERSION ${LIBMEMCACHED_SO_SOVERSION}
VERSION ${LIBMEMCACHED_SO_VERSION})
target_compile_definitions(libmemcached PRIVATE -DBUILDING_LIBMEMCACHED)
@@ -147,7 +147,7 @@
add_library(libmemcachedinternal STATIC)
add_library(memcachedinternal ALIAS libmemcachedinternal)
-set_target_properties(libmemcachedinternal PROPERTIES CXX_STANDARD ${CXX_STANDARD} LIBRARY_OUTPUT_NAME memcachedinternal)
+set_target_properties(libmemcachedinternal PROPERTIES CXX_STANDARD ${CXX_STANDARD} OUTPUT_NAME memcachedinternal)
target_compile_definitions(libmemcachedinternal PRIVATE -DBUILDING_LIBMEMCACHEDINTERNAL)
target_link_libraries(libmemcachedinternal PUBLIC libhashkit Threads::Threads ${CMAKE_DL_LIBS})
target_link_libraries(libmemcachedinternal PRIVATE p9y)
diff -Nru libmemcached-1.1.3/src/libmemcached/purge.cc libmemcached-1.1.4/src/libmemcached/purge.cc
--- libmemcached-1.1.3/src/libmemcached/purge.cc 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/libmemcached/purge.cc 2023-03-06 19:36:56.000000000 +0100
@@ -108,9 +108,6 @@
WATCHPOINT_ERROR(rc);
is_successful = false;
}
- if (rc == MEMCACHED_TIMEOUT) {
- break;
- }
if (ptr->root->callbacks) {
memcached_callback_st cb = *ptr->root->callbacks;
diff -Nru libmemcached-1.1.3/src/libmemcached/response.cc libmemcached-1.1.4/src/libmemcached/response.cc
--- libmemcached-1.1.3/src/libmemcached/response.cc 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/libmemcached/response.cc 2023-03-06 19:36:56.000000000 +0100
@@ -761,7 +761,7 @@
rc = textual_read_one_response(instance, buffer, buffer_length, result);
}
- if (memcached_fatal(rc) && rc != MEMCACHED_TIMEOUT) {
+ if (memcached_fatal(rc)) {
memcached_io_reset(instance);
}
diff -Nru libmemcached-1.1.3/src/libmemcached/sasl.cc libmemcached-1.1.4/src/libmemcached/sasl.cc
--- libmemcached-1.1.3/src/libmemcached/sasl.cc 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/libmemcached/sasl.cc 2023-03-06 19:36:56.000000000 +0100
@@ -92,7 +92,11 @@
extern "C" {
static void sasl_shutdown_function() {
+#if HAVE_SASL_CLIENT_DONE
+ (void) sasl_client_done();
+#else
sasl_done();
+#endif
}
static std::atomic<int> sasl_startup_state(SASL_OK);
diff -Nru libmemcached-1.1.3/src/libmemcachedprotocol/CMakeLists.txt libmemcached-1.1.4/src/libmemcachedprotocol/CMakeLists.txt
--- libmemcached-1.1.3/src/libmemcachedprotocol/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/libmemcachedprotocol/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -9,12 +9,12 @@
pedantic.c
../libmemcached/byteorder.cc
)
-add_library(libmemcachedprotocol SHARED)
+add_library(libmemcachedprotocol)
add_library(memcachedprotocol ALIAS libmemcachedprotocol)
set_target_properties(libmemcachedprotocol PROPERTIES
CXX_STANDARD ${CXX_STANDARD}
- LIBRARY_OUTPUT_NAME memcachedprotocol
- LIBRARY_OUTPUT_NAME_DEBUG memcachedprotocol-dbg
+ OUTPUT_NAME memcachedprotocol
+ OUTPUT_NAME_DEBUG memcachedprotocol-dbg
SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_SOVERSION}
VERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION})
target_compile_definitions(libmemcachedprotocol PRIVATE -DBUILDING_LIBMEMCACHED)
diff -Nru libmemcached-1.1.3/src/libmemcachedutil/CMakeLists.txt libmemcached-1.1.4/src/libmemcachedutil/CMakeLists.txt
--- libmemcached-1.1.3/src/libmemcachedutil/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/libmemcachedutil/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -6,15 +6,15 @@
ping.cc
version.cc
)
-add_library(libmemcachedutil SHARED)
+add_library(libmemcachedutil)
add_library(memcachedutil ALIAS libmemcachedutil)
if(CMAKE_USE_PTHREADS_INIT)
target_sources(libmemcachedutil PRIVATE pool.cc)
endif()
set_target_properties(libmemcachedutil PROPERTIES
CXX_STANDARD ${CXX_STANDARD}
- LIBRARY_OUTPUT_NAME memcachedutil
- LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
+ OUTPUT_NAME memcachedutil
+ OUTPUT_NAME_DEBUG memcachedutil-dbg
SOVERSION ${LIBMEMCACHEDUTIL_SO_SOVERSION}
VERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
@@ -23,10 +23,7 @@
LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
)
endif()
-if(MSVC OR MINGW)
- target_link_libraries(libmemcachedutil PUBLIC libmemcached)
-endif()
-target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
+target_link_libraries(libmemcachedutil PUBLIC libmemcached Threads::Threads)
if(HAVE_LIBSASL)
target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
endif()
diff -Nru libmemcached-1.1.3/src/p9y/CMakeLists.txt libmemcached-1.1.4/src/p9y/CMakeLists.txt
--- libmemcached-1.1.3/src/p9y/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/src/p9y/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -20,6 +20,17 @@
${CMAKE_BINARY_DIR}/include
)
+install(TARGETS p9y EXPORT p9y-targets
+ RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
+ ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ${TARGET_NAMELINK_COMPONENT}
+ )
+export(EXPORT p9y-targets NAMESPACE libmemcached::)
+install(EXPORT p9y-targets NAMESPACE libmemcached::
+ COMPONENT dev
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+
if(NOT HAVE_GETOPT_H)
target_sources(p9y PRIVATE getopt.c)
endif()
diff -Nru libmemcached-1.1.3/test/CMakeLists.txt libmemcached-1.1.4/test/CMakeLists.txt
--- libmemcached-1.1.3/test/CMakeLists.txt 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/test/CMakeLists.txt 2023-03-06 19:36:56.000000000 +0100
@@ -70,7 +70,7 @@
add_dependencies(runtests ${CLIENTS} timeout)
if(TARGET memaslap)
configure_set(HAVE_MEMASLAP 1)
- add_dependencies(runtests memaslap)
+ add_dependencies(runtests aslap)
endif()
configure_file(${CONFIGURE_FILE_IN} ${CONFIGURE_FILE_OUT} @ONLY)
diff -Nru libmemcached-1.1.3/test/lib/ReturnMatcher.cpp libmemcached-1.1.4/test/lib/ReturnMatcher.cpp
--- libmemcached-1.1.3/test/lib/ReturnMatcher.cpp 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/test/lib/ReturnMatcher.cpp 2023-03-06 19:36:56.000000000 +0100
@@ -24,7 +24,7 @@
}
string ReturnMatcher::describe() const {
- return "is " + to_string(expected)
- + "\n actual: " + memcached_last_error_message(memc);
+ return "// but '" + to_string(expected) + "' was expected\n"
+ + "last error: " + memcached_last_error_message(memc);
}
diff -Nru libmemcached-1.1.3/test/tests/memcached/noblock.cpp libmemcached-1.1.4/test/tests/memcached/noblock.cpp
--- libmemcached-1.1.3/test/tests/memcached/noblock.cpp 2023-02-03 11:59:40.000000000 +0100
+++ libmemcached-1.1.4/test/tests/memcached/noblock.cpp 2023-03-06 19:36:56.000000000 +0100
@@ -10,7 +10,7 @@
REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, 1));
REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, timeout));
- auto num = timeout ? 10'000 : 1'000'000;
+ auto num = 10000;
auto hit = 0u;
auto rnd = random_ascii_string(512);
for (auto i = 0; i < num; ++i) {
@@ -23,20 +23,16 @@
break;
case MEMCACHED_TIMEOUT:
case MEMCACHED_WRITE_FAILURE:
- if(!timeout) {
- --i;
- }
++hit;
- REQUIRE(true);
break;
default:
REQUIRE(false);
}
}
- INFO("failures triggered: " << hit);
+ INFO("timeout=" << timeout << " failures triggered: " << hit);
if (timeout) {
- CHECK_FALSE(hit);
+ REQUIRE_FALSE(hit);
} else {
- CHECK(hit > 0);
+ REQUIRE(hit > 0);
}
}
diff -Nru libmemcached-1.1.3/test/tests/memcached/regression/gh-php-memcached_0531.cpp libmemcached-1.1.4/test/tests/memcached/regression/gh-php-memcached_0531.cpp
--- libmemcached-1.1.3/test/tests/memcached/regression/gh-php-memcached_0531.cpp 1970-01-01 01:00:00.000000000 +0100
+++ libmemcached-1.1.4/test/tests/memcached/regression/gh-php-memcached_0531.cpp 2023-03-06 19:36:56.000000000 +0100
@@ -0,0 +1,29 @@
+#include "test/lib/common.hpp"
+#include "test/lib/MemcachedCluster.hpp"
+
+TEST_CASE("memcached_regression_gh-php-memcached_0531") {
+ auto test = MemcachedCluster{Cluster{Server{MEMCACHED_BINARY, {"-p", random_socket_or_port_string("-p")}}, 1}};
+ auto memc = &test.memc;
+ auto nonblock = GENERATE(0, 1);
+
+ INFO("nonblock=" << nonblock);
+
+ REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, nonblock));
+
+ REQUIRE_SUCCESS(memcached_set(memc, S("first"), S("first"), 0, 0));
+ REQUIRE_SUCCESS(memcached_set(memc, S("second"), S("second"), 0, 0));
+
+ REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, 0));
+
+ memcached_return_t rc;
+ size_t len;
+ Malloced value1(memcached_get(memc, S("first"), &len, nullptr, &rc));
+ REQUIRE_RC(MEMCACHED_TIMEOUT, rc);
+ REQUIRE_FALSE(*value1);
+
+ REQUIRE_SUCCESS(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, 100));
+
+ Malloced value2(memcached_get(memc, S("second"), &len, nullptr, &rc));
+ REQUIRE_SUCCESS(rc);
+ REQUIRE(string(*value2) == string("second"));
+}
Reply to: