Auto sync2gitlab import of libmemcached-1.0.18-17.el8.src.rpm
This commit is contained in:
parent
2bb0aa13e9
commit
8f183abb01
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/libmemcached-1.0.18-exhsieh.tar.gz
|
21
libmemcached-build.patch
Normal file
21
libmemcached-build.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff -up ./clients/memflush.cc.old ./clients/memflush.cc
|
||||||
|
--- ./clients/memflush.cc.old 2017-02-12 10:12:59.615209225 +0100
|
||||||
|
+++ ./clients/memflush.cc 2017-02-12 10:13:39.998382783 +0100
|
||||||
|
@@ -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);
|
19
libmemcached-fix-linking-with-libpthread.patch
Normal file
19
libmemcached-fix-linking-with-libpthread.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
diff -up libmemcached-1.0.16/build-aux/ltmain.sh.orig libmemcached-1.0.16/build-aux/ltmain.sh
|
||||||
|
--- libmemcached-1.0.16/build-aux/ltmain.sh.orig 2013-12-03 16:36:53.222107642 +0100
|
||||||
|
+++ libmemcached-1.0.16/build-aux/ltmain.sh 2013-12-03 16:37:35.770132249 +0100
|
||||||
|
@@ -5664,6 +5664,15 @@ func_mode_link ()
|
||||||
|
*" $arg "*) ;;
|
||||||
|
* ) func_append new_inherited_linker_flags " $arg" ;;
|
||||||
|
esac
|
||||||
|
+ # As we are forced to pass -nostdlib to g++ during linking, the option
|
||||||
|
+ # -pthread{,s} is not in effect; add the -lpthread to $deplist
|
||||||
|
+ # explicitly to link correctly.
|
||||||
|
+ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then
|
||||||
|
+ case "$arg" in
|
||||||
|
+ -pthread*) func_append deplibs " -lpthread" ;;
|
||||||
|
+ esac
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
|
225
libmemcached-memaslap-help.patch
Normal file
225
libmemcached-memaslap-help.patch
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
commit 567105e2f3007783cd155846118ad47068110565
|
||||||
|
Author: Tomas Korbar <tkorbar@redhat.com>
|
||||||
|
Date: Mon Oct 11 12:26:45 2021 +0200
|
||||||
|
|
||||||
|
Fix typo in memaslap manpage and help
|
||||||
|
|
||||||
|
diff --git a/clients/memaslap.c b/clients/memaslap.c
|
||||||
|
index 0290794..d599cc4 100644
|
||||||
|
--- a/clients/memaslap.c
|
||||||
|
+++ b/clients/memaslap.c
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
#include "ms_setting.h"
|
||||||
|
#include "ms_thread.h"
|
||||||
|
|
||||||
|
-#define PROGRAM_NAME "memslap"
|
||||||
|
+#define PROGRAM_NAME "memaslap"
|
||||||
|
#define PROGRAM_DESCRIPTION \
|
||||||
|
"Generates workload against memcached servers."
|
||||||
|
|
||||||
|
@@ -130,7 +130,7 @@ static __attribute__((noreturn)) void ms_help_command(const char *command_name,
|
||||||
|
printf(" %s\n\n", description);
|
||||||
|
printf(
|
||||||
|
"Usage:\n"
|
||||||
|
- " memslap -hV | -s servers [-F config_file] [-t time | -x exe_num] [...]\n\n"
|
||||||
|
+ " memaslap -hV | -s servers [-F config_file] [-t time | -x exe_num] [...]\n\n"
|
||||||
|
"Options:\n");
|
||||||
|
|
||||||
|
for (int x= 0; long_options[x].name; x++)
|
||||||
|
@@ -146,13 +146,13 @@ static __attribute__((noreturn)) void ms_help_command(const char *command_name,
|
||||||
|
|
||||||
|
printf(
|
||||||
|
"\nExamples:\n"
|
||||||
|
- " memslap -s 127.0.0.1:11211 -S 5s\n"
|
||||||
|
- " memslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b\n"
|
||||||
|
- " memslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2\n"
|
||||||
|
- " memslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k\n"
|
||||||
|
- " memslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40\n"
|
||||||
|
- " memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m\n"
|
||||||
|
- " memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2\n\n");
|
||||||
|
+ " memaslap -s 127.0.0.1:11211 -S 5s\n"
|
||||||
|
+ " memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b\n"
|
||||||
|
+ " memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2\n"
|
||||||
|
+ " memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k\n"
|
||||||
|
+ " memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40\n"
|
||||||
|
+ " memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m\n"
|
||||||
|
+ " memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2\n\n");
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
} /* ms_help_command */
|
||||||
|
@@ -286,7 +286,7 @@ static const char *ms_lookup_help(ms_options_t option)
|
||||||
|
|
||||||
|
case OPT_UDP:
|
||||||
|
return
|
||||||
|
- "UDP support, default memslap uses TCP, TCP port and UDP port of\n"
|
||||||
|
+ "UDP support, default memaslap uses TCP, TCP port and UDP port of\n"
|
||||||
|
" server must be same.";
|
||||||
|
|
||||||
|
case OPT_EXPIRE:
|
||||||
|
diff --git a/man/memaslap.1 b/man/memaslap.1
|
||||||
|
index 1f41484..e884381 100644
|
||||||
|
--- a/man/memaslap.1
|
||||||
|
+++ b/man/memaslap.1
|
||||||
|
@@ -83,11 +83,11 @@ the threads don\(aqt communicate with each other, and there are several socket
|
||||||
|
connections in each thread. Each connection keeps key size distribution,
|
||||||
|
value size distribution, and command distribution by itself.
|
||||||
|
.sp
|
||||||
|
-You can specify servers via the \fImemslap \-\-servers\fP option or via the
|
||||||
|
+You can specify servers via the \fImemaslap \-\-servers\fP option or via the
|
||||||
|
environment variable \fI\%MEMCACHED_SERVERS\fP\&.
|
||||||
|
.SH FEATURES
|
||||||
|
.sp
|
||||||
|
-Memslap is developed to for the following purposes:
|
||||||
|
+Memaslap is developed to for the following purposes:
|
||||||
|
.sp
|
||||||
|
Manages network connections with libevent asynchronously.
|
||||||
|
.sp
|
||||||
|
@@ -121,8 +121,8 @@ of memaslap is similar to memcached. Libevent can ensure
|
||||||
|
memaslap can handle network very efficiently.
|
||||||
|
.SS Effective implementation of multi\-threads and concurrency
|
||||||
|
.sp
|
||||||
|
-Memslap has the similar implementation of multi\-threads to
|
||||||
|
-memcached. Memslap creates one or more self\-governed threads;
|
||||||
|
+Memaslap has the similar implementation of multi\-threads to
|
||||||
|
+memcached. Memaslap creates one or more self\-governed threads;
|
||||||
|
each thread is bound with one CPU core if the system testss setting CPU
|
||||||
|
core affinity.
|
||||||
|
.sp
|
||||||
|
@@ -131,7 +131,7 @@ each thread has one or more self\-governed concurrencies; and each
|
||||||
|
concurrency has one or more socket connections. All the concurrencies don’t
|
||||||
|
communicate with each other even though they are in the same thread.
|
||||||
|
.sp
|
||||||
|
-Memslap can create thousands of socket connections, and each
|
||||||
|
+Memaslap can create thousands of socket connections, and each
|
||||||
|
concurrency has tens of socket connections. Each concurrency randomly or
|
||||||
|
sequentially selects one socket connection from its socket connection pool
|
||||||
|
to run, so memaslap can ensure each concurrency handles one
|
||||||
|
@@ -144,7 +144,7 @@ In order to improve time efficiency and space efficiency,
|
||||||
|
memaslap creates a random characters table with 10M characters. All the
|
||||||
|
suffixes of keys and values are generated from this random characters table.
|
||||||
|
.sp
|
||||||
|
-Memslap uses the offset in the character table and the length
|
||||||
|
+Memaslap uses the offset in the character table and the length
|
||||||
|
of the string to identify a string. It can save much memory.
|
||||||
|
Each key contains two parts, a prefix and a suffix. The prefix is an
|
||||||
|
uint64_t, 8 bytes. In order to verify the data set before,
|
||||||
|
@@ -152,7 +152,7 @@ memaslap need to ensure each key is unique, so it uses the prefix to identify
|
||||||
|
a key. The prefix cannot include illegal characters, such as ‘r’, ‘n’,
|
||||||
|
‘0’ and ‘ ‘. And memaslap has an algorithm to ensure that.
|
||||||
|
.sp
|
||||||
|
-Memslap doesn’t generate all the objects (key\-value pairs) at
|
||||||
|
+Memaslap doesn’t generate all the objects (key\-value pairs) at
|
||||||
|
the beginning. It only generates enough objects to fill the task window
|
||||||
|
(default 10K objects) of each concurrency. Each object has the following
|
||||||
|
basic information, key prefix, key suffix offset in the character table, key
|
||||||
|
@@ -164,16 +164,16 @@ time, each concurrency kicks objects out of its window and adds new object
|
||||||
|
into it.
|
||||||
|
.SS Simple but useful task scheduling
|
||||||
|
.sp
|
||||||
|
-Memslap uses libevent to schedule all the concurrencies of
|
||||||
|
+Memaslap uses libevent to schedule all the concurrencies of
|
||||||
|
threads, and each concurrency schedules tasks based on the local task
|
||||||
|
-window. Memslap assumes that if each concurrency keeps the same
|
||||||
|
+window. Memaslap assumes that if each concurrency keeps the same
|
||||||
|
key distribution, value distribution and commands distribution, from
|
||||||
|
outside, memaslap keeps all the distribution as a whole.
|
||||||
|
Each task window includes a lot of objects, each object stores its basic
|
||||||
|
information, such as key, value, expire time, and so on. At any time, all
|
||||||
|
the objects in the window keep the same and fixed key and value
|
||||||
|
distribution. If an object is overwritten, the value of the object will be
|
||||||
|
-updated. Memslap verifies the data or expire\-time according to
|
||||||
|
+updated. Memaslap verifies the data or expire\-time according to
|
||||||
|
the object information stored in the task window.
|
||||||
|
.sp
|
||||||
|
Libevent selects which concurrency to handle based on a specific network
|
||||||
|
@@ -201,16 +201,16 @@ test. Each concurrency has one socket connection to each memcached server.
|
||||||
|
For the implementation, memaslap can set some objects to one
|
||||||
|
memcached server, and get these objects from the other servers.
|
||||||
|
.sp
|
||||||
|
-By default, Memslap does single get. If the user specifies
|
||||||
|
+By default, Memaslap does single get. If the user specifies
|
||||||
|
multi\-get option, memaslap will collect enough get commands and
|
||||||
|
pack and send the commands together.
|
||||||
|
.sp
|
||||||
|
-Memslap testss both the ASCII protocol and binary protocol,
|
||||||
|
+Memaslap testss both the ASCII protocol and binary protocol,
|
||||||
|
but it runs on the ASCII protocol by default.
|
||||||
|
-Memslap by default runs on the TCP protocol, but it also
|
||||||
|
+Memaslap by default runs on the TCP protocol, but it also
|
||||||
|
tests UDP. Because UDP is unreliable, dropped packages and out\-of\-order
|
||||||
|
-packages may occur. Memslap creates a memory buffer to handle
|
||||||
|
-these problems. Memslap tries to read all the response data of
|
||||||
|
+packages may occur. Memaslap creates a memory buffer to handle
|
||||||
|
+these problems. Memaslap tries to read all the response data of
|
||||||
|
one command from the server and reorders the response data. If some packages
|
||||||
|
get lost, the waiting timeout mechanism can ensure half\-baked packages will
|
||||||
|
be discarded and the next command will be sent.
|
||||||
|
@@ -343,7 +343,7 @@ throughput using “\-\-tps” option.
|
||||||
|
Most of the time, the user does not need to specify the window size. The
|
||||||
|
default window size is 10k. For Schooner Memcached, the user can specify
|
||||||
|
different window sizes to get different cache miss rates based on the test
|
||||||
|
-case. Memslap testss cache miss rate between 0% and 100%.
|
||||||
|
+case. Memaslap testss cache miss rate between 0% and 100%.
|
||||||
|
If you use this utility to test the performance of Schooner Memcached, you
|
||||||
|
can specify a proper window size to get the expected cache miss rate. The
|
||||||
|
formula for calculating window size is as follows:
|
||||||
|
@@ -389,7 +389,7 @@ The formula for calculating window size for cache miss rate 5%:
|
||||||
|
cache_size / concurrency / (key_size + value_size) * 0.7
|
||||||
|
.SS Verification
|
||||||
|
.sp
|
||||||
|
-Memslap testss both data verification and expire\-time
|
||||||
|
+Memaslap testss both data verification and expire\-time
|
||||||
|
verification. The user can use "\-\-verify=" or "\-v" to specify the proportion
|
||||||
|
of data verification. In theory, it testss 100% data verification. The
|
||||||
|
user can use "\-\-exp_verify=" or "\-e" to specify the proportion of
|
||||||
|
@@ -403,9 +403,9 @@ objects are gotten, memaslap will verify the expire\-time and
|
||||||
|
value.
|
||||||
|
.SS multi\-servers and multi\-config
|
||||||
|
.sp
|
||||||
|
-Memslap testss multi\-servers based on self\-governed thread.
|
||||||
|
+Memaslap testss multi\-servers based on self\-governed thread.
|
||||||
|
There is a limitation that the number of servers cannot be greater than the
|
||||||
|
-number of threads. Memslap assigns one thread to handle one
|
||||||
|
+number of threads. Memaslap assigns one thread to handle one
|
||||||
|
server at least. The user can use the "\-\-servers=" or "\-s" option to specify
|
||||||
|
multi\-servers.
|
||||||
|
.sp
|
||||||
|
@@ -445,17 +445,17 @@ For example:
|
||||||
|
.sp
|
||||||
|
\-\-stat_freq=20s
|
||||||
|
.sp
|
||||||
|
-Memslap will dump the statistics of the commands (get and set) at the frequency of every 20
|
||||||
|
+Memaslap will dump the statistics of the commands (get and set) at the frequency of every 20
|
||||||
|
seconds.
|
||||||
|
.sp
|
||||||
|
For more information on the format of dumping statistic information, refer to “Format of Output” section.
|
||||||
|
.SS Multi\-get
|
||||||
|
.sp
|
||||||
|
The user can use "\-\-division=" or "\-d" to specify multi\-get keys count.
|
||||||
|
-Memslap by default does single get with TCP. Memslap also testss data
|
||||||
|
+Memaslap by default does single get with TCP. Memaslap also testss data
|
||||||
|
verification and expire\-time verification for multi\-get.
|
||||||
|
.sp
|
||||||
|
-Memslap testss multi\-get with both TCP and UDP. Because of
|
||||||
|
+Memaslap testss multi\-get with both TCP and UDP. Because of
|
||||||
|
the different implementation of the ASCII protocol and binary protocol,
|
||||||
|
there are some differences between the two. For the ASCII protocol,
|
||||||
|
memaslap sends one “multi\-get” to the server once. For the
|
||||||
|
@@ -463,7 +463,7 @@ binary protocol, memaslap sends several single get commands
|
||||||
|
together as “multi\-get” to the server.
|
||||||
|
.SS UDP and TCP
|
||||||
|
.sp
|
||||||
|
-Memslap testss both UDP and TCP. For TCP,
|
||||||
|
+Memaslap testss both UDP and TCP. For TCP,
|
||||||
|
memaslap does not reconnect the memcached server if socket connections are
|
||||||
|
lost. If all the socket connections are lost or memcached server crashes,
|
||||||
|
memaslap will exit. If the user specifies the “\-\-reconnect”
|
||||||
|
@@ -493,7 +493,7 @@ For example: \-\-facebook \-\-division=50 \-\-conn_sock=200
|
||||||
|
The above command means that memaslap will do facebook test,
|
||||||
|
each concurrency has 200 socket TCP connections and one UDP socket.
|
||||||
|
.sp
|
||||||
|
-Memslap sets objects with the TCP socket, and multi\-gets 50
|
||||||
|
+Memaslap sets objects with the TCP socket, and multi\-gets 50
|
||||||
|
objects once with the UDP socket.
|
||||||
|
.sp
|
||||||
|
If you specify "\-\-division=50", the key size must be less that 25 bytes
|
12
libmemcached-memparse-man.patch
Normal file
12
libmemcached-memparse-man.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up libmemcached-1.0.18/man/memparse.1.memparse-man libmemcached-1.0.18/man/memparse.1
|
||||||
|
--- libmemcached-1.0.18/man/memparse.1.memparse-man 2018-07-27 16:20:15.260664733 +0200
|
||||||
|
+++ libmemcached-1.0.18/man/memparse.1 2018-07-27 16:20:54.262765065 +0200
|
||||||
|
@@ -57,8 +57,6 @@ level margin: \\n[rst2man-indent\\n[rst2
|
||||||
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||||
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||||
|
..
|
||||||
|
-.sp
|
||||||
|
-Copies files to a collection of memcached servers
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.sp
|
||||||
|
memparse [options] "option string"
|
429
libmemcached.spec
Normal file
429
libmemcached.spec
Normal file
@ -0,0 +1,429 @@
|
|||||||
|
# spec file for libmemcached
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009-2018 Remi Collet
|
||||||
|
# License: CC-BY-SA
|
||||||
|
# http://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
#
|
||||||
|
# Please, preserve the changelog entries
|
||||||
|
#
|
||||||
|
# Lot of tests are broken making test suite unusable
|
||||||
|
%global with_tests 0%{?_witht_tests:1}
|
||||||
|
%global with_sasl 1
|
||||||
|
%global libname libmemcached
|
||||||
|
|
||||||
|
Name: libmemcached
|
||||||
|
Summary: Client library and command line tools for memcached server
|
||||||
|
Version: 1.0.18
|
||||||
|
Release: 17%{?dist}
|
||||||
|
License: BSD
|
||||||
|
URL: http://libmemcached.org/
|
||||||
|
# Original sources:
|
||||||
|
# http://launchpad.net/libmemcached/1.0/%%{version}/+download/libmemcached-%%{version}.tar.gz
|
||||||
|
# The source tarball must be repackaged to remove the Hsieh hash
|
||||||
|
# code, since the license is non-free. When upgrading, download the new
|
||||||
|
# source tarball, and run "./strip-hsieh.sh <version>" to produce the
|
||||||
|
# "-exhsieh" tarball.
|
||||||
|
Source0: %{libname}-%{version}-exhsieh.tar.gz
|
||||||
|
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
%if %{with_sasl}
|
||||||
|
BuildRequires: cyrus-sasl-devel
|
||||||
|
%endif
|
||||||
|
BuildRequires: flex
|
||||||
|
BuildRequires: bison
|
||||||
|
BuildRequires: python3-sphinx
|
||||||
|
BuildRequires: memcached
|
||||||
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
||||||
|
BuildRequires: systemtap-sdt-devel
|
||||||
|
%endif
|
||||||
|
BuildRequires: libevent-devel
|
||||||
|
|
||||||
|
Provides: bundled(bobjenkins-hash)
|
||||||
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
Patch0: libmemcached-fix-linking-with-libpthread.patch
|
||||||
|
# Fix: ISO C++ forbids comparison between pointer and integer [-fpermissive]
|
||||||
|
# https://bugs.launchpad.net/libmemcached/+bug/1663985
|
||||||
|
Patch1: %{libname}-build.patch
|
||||||
|
# Fix typo in memparse man page
|
||||||
|
# https://bugs.launchpad.net/libmemcached/+bug/1675762
|
||||||
|
Patch2: %{libname}-memparse-man.patch
|
||||||
|
Patch3: %{libname}-memaslap-help.patch
|
||||||
|
|
||||||
|
%description
|
||||||
|
libmemcached is a C/C++ client library and tools for the memcached server
|
||||||
|
(http://memcached.org/). It has been designed to be light on memory
|
||||||
|
usage, and provide full access to server side methods.
|
||||||
|
|
||||||
|
It also implements several command line tools:
|
||||||
|
|
||||||
|
memaslap Load testing and benchmarking a server
|
||||||
|
memcapable Checking a Memcached server capibilities and compatibility
|
||||||
|
memcat Copy the value of a key to standard output
|
||||||
|
memcp Copy data to a server
|
||||||
|
memdump Dumping your server
|
||||||
|
memerror Translate an error code to a string
|
||||||
|
memexist Check for the existance of a key
|
||||||
|
memflush Flush the contents of your servers
|
||||||
|
memparse Parse an option string
|
||||||
|
memping Test to see if a server is available.
|
||||||
|
memrm Remove a key(s) from the server
|
||||||
|
memslap Generate testing loads on a memcached cluster
|
||||||
|
memstat Dump the stats of your servers to standard output
|
||||||
|
memtouch Touches a key
|
||||||
|
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Header files and development libraries for %{name}
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: pkgconfig
|
||||||
|
%if %{with_sasl}
|
||||||
|
Requires: cyrus-sasl-devel%{?_isa}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package contains the header files and development libraries
|
||||||
|
for %{name}. If you like to develop programs using %{name},
|
||||||
|
you will need to install %{name}-devel.
|
||||||
|
|
||||||
|
|
||||||
|
%package libs
|
||||||
|
Summary: %{libname} libraries
|
||||||
|
|
||||||
|
%description libs
|
||||||
|
This package contains the %{libname} libraries version %{version}.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{libname}-%{version}
|
||||||
|
%patch0 -p1 -b .link
|
||||||
|
%patch1 -p1 -b .build
|
||||||
|
%patch2 -p1 -b .memparse-man
|
||||||
|
%patch3 -p1 -b .memaslap-help
|
||||||
|
|
||||||
|
mkdir examples
|
||||||
|
cp -p tests/*.{cc,h} examples/
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# option --with-memcached=false to disable server binary check (as we don't run test)
|
||||||
|
%configure \
|
||||||
|
%if %{with_tests}
|
||||||
|
--with-memcached=%{_bindir}/memcached \
|
||||||
|
%else
|
||||||
|
--with-memcached=false \
|
||||||
|
%endif
|
||||||
|
%if %{with_sasl}
|
||||||
|
--enable-sasl \
|
||||||
|
%else
|
||||||
|
--disable-sasl \
|
||||||
|
%endif
|
||||||
|
--enable-libmemcachedprotocol \
|
||||||
|
--enable-memaslap \
|
||||||
|
--enable-dtrace \
|
||||||
|
--disable-static
|
||||||
|
|
||||||
|
%if 0%{?fedora} < 14 && 0%{?rhel} < 7
|
||||||
|
# for warning: unknown option after '#pragma GCC diagnostic' kind
|
||||||
|
sed -e 's/-Werror//' -i Makefile
|
||||||
|
%endif
|
||||||
|
|
||||||
|
make %{_smp_mflags} V=1
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install DESTDIR="%{buildroot}" AM_INSTALL_PROGRAM_FLAGS=""
|
||||||
|
|
||||||
|
# Hack: when sphinx-build too old (fedora < 14 and rhel < 7)
|
||||||
|
# install upstream provided man pages
|
||||||
|
if [ ! -d %{buildroot}%{_mandir}/man1 ]; then
|
||||||
|
install -d %{buildroot}%{_mandir}/man1
|
||||||
|
install -p -m 644 man/*1 %{buildroot}%{_mandir}/man1
|
||||||
|
install -d %{buildroot}%{_mandir}/man3
|
||||||
|
install -p -m 644 man/*3 %{buildroot}%{_mandir}/man3
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if %{with_tests}
|
||||||
|
: Run test suite
|
||||||
|
make test
|
||||||
|
%else
|
||||||
|
: Skip test suite
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_bindir}/mem*
|
||||||
|
%exclude %{_libdir}/lib*.la
|
||||||
|
%{_mandir}/man1/mem*
|
||||||
|
|
||||||
|
%files libs
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS README THANKS TODO ChangeLog
|
||||||
|
%{_libdir}/libhashkit.so.2*
|
||||||
|
%{_libdir}/libmemcached.so.11*
|
||||||
|
%{_libdir}/libmemcachedprotocol.so.0*
|
||||||
|
%{_libdir}/libmemcachedutil.so.2*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc examples
|
||||||
|
%{_includedir}/libmemcached
|
||||||
|
%{_includedir}/libmemcached-1.0
|
||||||
|
%{_includedir}/libhashkit
|
||||||
|
%{_includedir}/libhashkit-1.0
|
||||||
|
%{_includedir}/libmemcachedprotocol-0.0
|
||||||
|
%{_includedir}/libmemcachedutil-1.0
|
||||||
|
%{_libdir}/libhashkit.so
|
||||||
|
%{_libdir}/libmemcached.so
|
||||||
|
%{_libdir}/libmemcachedprotocol.so
|
||||||
|
%{_libdir}/libmemcachedutil.so
|
||||||
|
%{_libdir}/pkgconfig/libmemcached.pc
|
||||||
|
%{_datadir}/aclocal/ax_libmemcached.m4
|
||||||
|
%{_mandir}/man3/libmemcached*
|
||||||
|
%{_mandir}/man3/libhashkit*
|
||||||
|
%{_mandir}/man3/memcached*
|
||||||
|
%{_mandir}/man3/hashkit*
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Oct 25 2021 Tomas Korbar <tkorbar@redhat.com> - 1.0.18-17
|
||||||
|
- fix also memaslap help text
|
||||||
|
- Related: rhbz#2008399
|
||||||
|
|
||||||
|
* Mon Oct 11 2021 Tomas Korbar <tkorbar@redhat.com> - 1.0.18-16
|
||||||
|
- fix typo in memaslap man page
|
||||||
|
- Resolves: rhbz#2008399
|
||||||
|
|
||||||
|
* Fri Jul 27 2018 Miroslav Lichvar <mlichvar@redhat.com> 1.0.18-15
|
||||||
|
- fix typo in memparse man page (#1609312)
|
||||||
|
|
||||||
|
* Mon Jul 09 2018 Charalampos Stratakis <cstratak@redhat.com> - 1.0.18-14
|
||||||
|
- Change to python3-sphinx
|
||||||
|
|
||||||
|
* Tue Feb 20 2018 Remi Collet <remi@remirepo.net> - 1.0.18-13
|
||||||
|
- missing BR on C/C++ compilers
|
||||||
|
|
||||||
|
* Thu Feb 15 2018 Remi Collet <remi@remirepo.net> - 1.0.18-12
|
||||||
|
- drop ldconfig scriptlets
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Feb 12 2017 Remi Collet <remi@fedoraproject.org> - 1.0.18-8
|
||||||
|
- add build patch to fix FTBFS
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.18-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.0.18-5
|
||||||
|
- Rebuilt for GCC 5 C++11 ABI change
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.18-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.18-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 19 2014 Remi Collet <remi@fedoraproject.org> - 1.0.18-2
|
||||||
|
- cleanups
|
||||||
|
|
||||||
|
* Wed Feb 19 2014 Remi Collet <remi@fedoraproject.org> - 1.0.18-1
|
||||||
|
- update to 1.0.18
|
||||||
|
- disable test suite (too much broken tests)
|
||||||
|
|
||||||
|
* Sat Dec 14 2013 Remi Collet <remi@fedoraproject.org> - 1.0.16-2
|
||||||
|
- move libraries in new libs sub packages
|
||||||
|
- add provides for bundled(bobjenkins-hash) #1041351
|
||||||
|
- apply libpthread workaround #1037707
|
||||||
|
- spec cleanups
|
||||||
|
|
||||||
|
* Tue Dec 03 2013 Ruben Kerkhof <ruben@rubenkerkhof.com> 1.0.16-2
|
||||||
|
- Fix linking against libpthread as a workaround for libtool bug #661333
|
||||||
|
|
||||||
|
* Mon Aug 5 2013 Remi Collet <remi@fedoraproject.org> - 1.0.16-1
|
||||||
|
- revert to 1.0.16 for fedora 20
|
||||||
|
|
||||||
|
* Mon Aug 5 2013 Remi Collet <remi@fedoraproject.org> - 1.0.17-2
|
||||||
|
- fix BR, libasan don't exist on all arch
|
||||||
|
- disable all sanitize options (only for dev)
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.17-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Apr 4 2013 Remi Collet <remi@fedoraproject.org> - 1.0.17-1
|
||||||
|
- update to 1.0.17
|
||||||
|
- fix option --with-memcached and report regression
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1164440
|
||||||
|
- broken build when -fsanitize=thread available
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1164442
|
||||||
|
|
||||||
|
* Mon Feb 4 2013 Remi Collet <remi@fedoraproject.org> - 1.0.16-1
|
||||||
|
- update to 1.0.16
|
||||||
|
- ignore test result for memaslap (XFAIL but PASS)
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1115357
|
||||||
|
|
||||||
|
* Sat Dec 29 2012 Remi Collet <remi@fedoraproject.org> - 1.0.15-1
|
||||||
|
- update to 1.0.15
|
||||||
|
- libmemcachedprotocol is back
|
||||||
|
- add memaslap command line tool
|
||||||
|
- report various issues to upstream
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1094413 (libevent)
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1094414 (c99 MODE)
|
||||||
|
|
||||||
|
* Sat Nov 17 2012 Remi Collet <remi@fedoraproject.org> - 1.0.14-1
|
||||||
|
- update to 1.0.14
|
||||||
|
- libmemcachedprotocol removed
|
||||||
|
- sasl support is back
|
||||||
|
- run test during build
|
||||||
|
- report various issues to upstream
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1079994 (bigendian)
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1079995 (config.h)
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1079996 (dtrace)
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1079997 (-ldl)
|
||||||
|
https://bugs.launchpad.net/libmemcached/+bug/1080000 (touch)
|
||||||
|
|
||||||
|
* Sat Oct 20 2012 Remi Collet <remi@fedoraproject.org> - 1.0.13-1
|
||||||
|
- update to 1.0.13
|
||||||
|
|
||||||
|
* Fri Oct 19 2012 Remi Collet <remi@fedoraproject.org> - 1.0.12-2
|
||||||
|
- temporary hack: fix LIBMEMCACHED_VERSION_HEX value
|
||||||
|
|
||||||
|
* Thu Oct 11 2012 Remi Collet <remi@fedoraproject.org> - 1.0.12-1
|
||||||
|
- update to 1.0.12
|
||||||
|
- add aclocal/ax_lib_libmemcached.m4
|
||||||
|
- abi-compliance-checker verdict : Compatible
|
||||||
|
- uggly hack for man pages
|
||||||
|
|
||||||
|
* Tue Sep 25 2012 Karsten Hopp <karsten@redhat.com> 1.0.11-2
|
||||||
|
- fix defined but not used variable error on bigendian machines
|
||||||
|
|
||||||
|
* Sat Sep 22 2012 Remi Collet <remi@fedoraproject.org> - 1.0.11-1
|
||||||
|
- update to 1.0.11, soname bump to libmemcached.so.11
|
||||||
|
- drop broken SASL support
|
||||||
|
- don't generate parser (bison 2.6 not supported)
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.8-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun May 27 2012 Remi Collet <remi@fedoraproject.org> - 1.0.8-1
|
||||||
|
- update to 1.0.8
|
||||||
|
|
||||||
|
* Sun Apr 22 2012 Remi Collet <remi@fedoraproject.org> - 1.0.7-1
|
||||||
|
- update to 1.0.7
|
||||||
|
- regenerate parser using flex/bison (#816766)
|
||||||
|
|
||||||
|
* Sun Apr 22 2012 Remi Collet <remi@fedoraproject.org> - 1.0.6-2
|
||||||
|
- workaround for SASL detection
|
||||||
|
|
||||||
|
* Sat Apr 21 2012 Remi Collet <remi@fedoraproject.org> - 1.0.6-1
|
||||||
|
- update to 1.0.6
|
||||||
|
- soname bump to libmemcached.so.10 and libhashkit.so.2
|
||||||
|
|
||||||
|
* Sat Mar 03 2012 Remi Collet <remi@fedoraproject.org> - 1.0.4-1
|
||||||
|
- update to 1.0.4
|
||||||
|
- soname bump to libmemcached.so.9
|
||||||
|
- update description
|
||||||
|
|
||||||
|
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-3
|
||||||
|
- Rebuilt for c++ ABI breakage
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Oct 27 2011 Remi Collet <remi@fedoraproject.org> - 1.0.2-1
|
||||||
|
- update to 1.0.2
|
||||||
|
|
||||||
|
* Sun Oct 16 2011 Remi Collet <remi@fedoraproject.org> - 0.53-1
|
||||||
|
- update to 0.53
|
||||||
|
|
||||||
|
* Sat Sep 17 2011 Remi Collet <remi@fedoraproject.org> - 0.52-1
|
||||||
|
- update to 0.52
|
||||||
|
|
||||||
|
* Sun Jul 31 2011 Remi Collet <remi@fedoraproject.org> - 0.51-1
|
||||||
|
- update to 0.51 (soname bump libmemcached.so.8)
|
||||||
|
|
||||||
|
* Thu Jun 02 2011 Remi Collet <Fedora@famillecollet.com> - 0.49-1
|
||||||
|
- update to 0.49
|
||||||
|
- add build option : --with tests
|
||||||
|
|
||||||
|
* Mon Feb 28 2011 Remi Collet <Fedora@famillecollet.com> - 0.47-1
|
||||||
|
- update to 0.47
|
||||||
|
- remove patch merged upstream
|
||||||
|
|
||||||
|
* Sun Feb 20 2011 Remi Collet <Fedora@famillecollet.com> - 0.46-2
|
||||||
|
- patch Makefile.in instead of include.am (to avoid autoconf)
|
||||||
|
- donc requires pkgconfig with arch
|
||||||
|
|
||||||
|
* Fri Feb 18 2011 Remi Collet <Fedora@famillecollet.com> - 0.46-1
|
||||||
|
- update to 0.46
|
||||||
|
|
||||||
|
* Sat Feb 12 2011 Remi Collet <Fedora@famillecollet.com> - 0.44-6
|
||||||
|
- arch specific requires
|
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.44-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Nov 24 2010 Joe Orton <jorton@redhat.com> - 0.44-4
|
||||||
|
- repackage source tarball to remove non-free Hsieh hash code
|
||||||
|
|
||||||
|
* Sat Oct 02 2010 Remi Collet <Fedora@famillecollet.com> - 0.44-3
|
||||||
|
- improves SASL patch
|
||||||
|
|
||||||
|
* Sat Oct 02 2010 Remi Collet <Fedora@famillecollet.com> - 0.44-2
|
||||||
|
- enable SASL support
|
||||||
|
|
||||||
|
* Fri Oct 01 2010 Remi Collet <Fedora@famillecollet.com> - 0.44-1
|
||||||
|
- update to 0.44
|
||||||
|
- add soname version in %%file to detect change
|
||||||
|
|
||||||
|
* Fri Jul 30 2010 Remi Collet <Fedora@famillecollet.com> - 0.43-1
|
||||||
|
- update to 0.43
|
||||||
|
|
||||||
|
* Wed Jul 07 2010 Remi Collet <Fedora@famillecollet.com> - 0.42-1
|
||||||
|
- update to 0.42
|
||||||
|
|
||||||
|
* Tue May 04 2010 Remi Collet <Fedora@famillecollet.com> - 0.40-1
|
||||||
|
- update to 0.40 (new soname for libmemcached.so.5)
|
||||||
|
- new URI (site + source)
|
||||||
|
|
||||||
|
* Sat Mar 13 2010 Remi Collet <Fedora@famillecollet.com> - 0.38-1
|
||||||
|
- update to 0.38
|
||||||
|
|
||||||
|
* Sat Feb 06 2010 Remi Collet <Fedora@famillecollet.com> - 0.37-1
|
||||||
|
- update to 0.37 (soname bump)
|
||||||
|
- new libhashkit (should be a separated project in the futur)
|
||||||
|
|
||||||
|
* Sun Sep 13 2009 Remi Collet <Fedora@famillecollet.com> - 0.31-1
|
||||||
|
- update to 0.31
|
||||||
|
|
||||||
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.30-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Jun 14 2009 Remi Collet <Fedora@famillecollet.com> - 0.30-1
|
||||||
|
- update to 0.30
|
||||||
|
|
||||||
|
* Tue May 19 2009 Remi Collet <Fedora@famillecollet.com> - 0.29-1
|
||||||
|
- update to 0.29
|
||||||
|
|
||||||
|
* Fri May 01 2009 Remi Collet <Fedora@famillecollet.com> - 0.28-2
|
||||||
|
- add upstream patch to disable nonfree hsieh hash method
|
||||||
|
|
||||||
|
* Sat Apr 25 2009 Remi Collet <Fedora@famillecollet.com> - 0.28-1
|
||||||
|
- Initial RPM from Brian Aker spec
|
||||||
|
- create -devel subpackage
|
||||||
|
- add %%post %%postun %%check section
|
||||||
|
|
Loading…
Reference in New Issue
Block a user