# Spec file for libmemcached-awesome from # # remirepo spec file for libmemcached-awesome # # Copyright (c) 2009-2021 Remi Collet # License: CC-BY-SA # https://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %bcond_without tests %global libname libmemcached %global gh_commit 0ff88be3322a493773956028d4022d995f3cb193 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner awesomized %global gh_project libmemcached %global upstream_version 1.1.0 #global upstream_prever beta3 Name: %{libname}-awesome Summary: Client library and command line tools for memcached server Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} Release: 9%{?dist} License: BSD URL: https://github.com/%{gh_owner}/%{gh_project} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz Patch0: %{name}-catch.patch Patch1: %{name}-aes.patch Patch2: %{name}-config.patch Patch3: %{name}-macro.patch Patch4: %{name}-testing.patch Patch5: %{name}-udp-test.patch BuildRequires: cmake >= 3.9 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: python3-sphinx BuildRequires: cyrus-sasl-devel BuildRequires: flex BuildRequires: bison BuildRequires: memcached BuildRequires: systemtap-sdt-devel BuildRequires: libevent-devel > 2 BuildRequires: openssl-devel Provides: bundled(bobjenkins-hash) # package rename Obsoletes: %{libname}-libs < 1.1 Provides: %{libname}-libs = %{version}-%{release} Provides: %{libname}-libs%{?_isa} = %{version}-%{release} %description %{name} is a C/C++ client library and tools for the memcached server (https://memcached.org/). It has been designed to be light on memory usage, and provide full access to server side methods. This is a resurrection of the original work from Brian Aker at libmemcached.org. %package devel Summary: Header files and development libraries for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} # package rename Obsoletes: %{libname}-devel < 1.1 Provides: %{libname}-devel = %{version}-%{release} Provides: %{libname}-devel%{?_isa} = %{version}-%{release} Requires: cyrus-sasl-devel%{?_isa} %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. Documentation: https://awesomized.github.io/libmemcached %package tools Summary: %{name} tools Requires: %{name}%{?_isa} = %{version}-%{release} # package rename Obsoletes: %{libname} < 1.1 Provides: %{libname} = %{version}-%{release} Provides: %{libname}%{?_isa} = %{version}-%{release} %description tools This package contains the %{libname}-awesome 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 %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 # drop test hanging in mock # and requiring some memcached build options rm test/tests/memcached/sasl.cpp # temporarily ignore wuth erratic failure %ifarch s390x rm test/tests/memcached/udp.cpp %endif %build %cmake \ -DBUILD_TESTING:BOOL=ON \ -DBUILD_DOCS_MAN:BOOL=ON \ -DBUILD_DOCS_MANGZ:BOOL=OFF \ -DENABLE_SASL:BOOL=ON \ -DENABLE_DTRACE:BOOL=ON \ -DENABLE_OPENSSL_CRYPTO:BOOL=ON \ -DENABLE_HASH_HSIEH:BOOL=ON \ -DENABLE_HASH_FNV64:BOOL=ON \ -DENABLE_HASH_MURMUR:BOOL=ON \ -DENABLE_MEMASLAP:BOOL=ON %cmake_build %install %cmake_install mv %{buildroot}%{_datadir}/%{name}/example.cnf support rm -r %{buildroot}%{_datadir}/doc/%{name}/ %check %if %{with tests} : Run test suite %ctest %else : Skip test suite %endif %files tools %{_bindir}/mem* %{_mandir}/man1/mem* %files %license LICENSE %{_libdir}/libhashkit.so.2* %{_libdir}/libmemcached.so.11* %{_libdir}/libmemcachedprotocol.so.0* %{_libdir}/libmemcachedutil.so.2* %files devel %doc example %doc *.md %doc AUTHORS %doc support/example.cnf %{_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 %{_libdir}/cmake/%{name} %{_datadir}/aclocal/ax_libmemcached.m4 %{_mandir}/man3/libmemcached* %{_mandir}/man3/libhashkit* %{_mandir}/man3/memcached* %{_mandir}/man3/hashkit* %changelog * Fri Aug 06 2021 Tomas Korbar - 1.1.0-9 - Disable unstable test for udp - Related: rhbz#1981785 * Fri Aug 06 2021 Tomas Korbar - 1.1.0-8 - Add requires cyrus-sasl-devel to devel subpackage - Related: rhbz#1981785 * Mon Aug 02 2021 Tomas Korbar - 1.1.0-7 - Remove unstable test - Related: rhbz#1981785 * Tue Jul 27 2021 Remi Collet - 1.1.0-6 - add LIBMEMCACHED_AWESOME macro from https://github.com/awesomized/libmemcached/pull/115 * Mon Jul 26 2021 Remi Collet - 1.1.0-5 - fix missing HAVE_SSIZE_T macro using patch from https://github.com/awesomized/libmemcached/pull/117 * Thu Jul 22 2021 Fedora Release Engineering - 1.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jul 13 2021 Remi Collet - 1.1.0-3 - use upstream patch for libcrypto * Fri Jun 25 2021 Remi Collet - 1.1.0-2 - remove internal AES implementation and use libcrypto https://github.com/awesomized/libmemcached/pull/114 - fix build ussing upstream patch to update catch version * Thu Jun 24 2021 Remi Collet - 1.1.0-1 - Initial RPM from libmemcached-awesome from old libmemcached spec file