# remirepo spec file for libmemcached-opt # renamed for parallel installation, from: # # Fedora spec file for libmemcached # # Copyright (c) 2009-2021 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %bcond_without tests %global libname libmemcached # libmemcached >= 1.0.16 have soname 11 %if 0%{?rhel} == 7 %global move_to_opt 1 Name: %{libname}-opt %global _prefix /opt/%{libname} %global __arch_install_post /bin/true %else %global move_to_opt 0 Name: %{libname} %endif %global gh_commit 000bce60d1b956664898d77db980952d01849b8c %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner m6w6 %global gh_project libmemcached %global upstream_version 1.1.0 %global upstream_prever beta3 Summary: Client library and command line tools for memcached server Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} Release: 1%{?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 %if 0%{?rhel} == 7 BuildRequires: cmake3 >= 3.9 %global dtsenable source /opt/rh/devtoolset-7/enable BuildRequires: devtoolset-7-toolchain BuildRequires: python-sphinx %else BuildRequires: cmake >= 3.9 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: python3-sphinx %endif BuildRequires: cyrus-sasl-devel BuildRequires: flex BuildRequires: bison BuildRequires: memcached BuildRequires: systemtap-sdt-devel BuildRequires: libevent-devel > 2 Provides: bundled(bobjenkins-hash) Requires: %{name}-libs%{?_isa} = %{version}-%{release} %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 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://m6w6.github.io/libmemcached/ %package libs Summary: %{libname} libraries %description libs This package contains the %{libname} libraries version %{version}. %if "%{libname}" != "%{name}" This package is designed to be installed beside %{libname}. %endif %if %{move_to_opt} # Filter in the /opt installation %{?filter_from_provides: %filter_from_provides /libhashkit/d;/libmemcached/d} %{?filter_from_requires: %filter_from_requires /libhashkit/d;/libmemcached/d} %{?filter_setup} %endif %prep %setup -q -n %{gh_project}-%{gh_commit} # drop test hanging in mock if [ "$(id -un)" != "remi" ]; then rm test/tests/memcached/sasl.cpp fi %build %{?dtsenable} %if 0%{?rhel} == 7 %cmake3 \ %else %cmake \ %endif -DBUILD_TESTING:BOOL=ON \ -DBUILD_DOCS_MAN:BOOL=ON \ -DBUILD_DOCS_MANGZ:BOOL=OFF \ -DENABLE_SASL:BOOL=ON \ -DENABLE_DTRACE:BOOL=ON \ -DENABLE_HASH_HSIEH:BOOL=ON \ -DENABLE_HASH_FNV64:BOOL=ON \ -DENABLE_HASH_MURMUR:BOOL=ON \ -DENABLE_MEMASLAP:BOOL=ON \ -S . %if 0%{?cmake_build:1} %cmake_build %else make %{?_smp_mflags} %endif %install %{?dtsenable} %if 0%{?cmake_install:1} %cmake_install %else make install DESTDIR=%{buildroot} %endif mv %{buildroot}%{_datadir}/libmemcached/example.cnf support rm -r %{buildroot}%{_datadir}/doc/libmemcached/ %check %if %{with tests} : Run test suite %if 0%{?ctest:1} %ctest %else make test %endif %else : Skip test suite %endif %if 0%{?fedora} < 28 && 0%{?rhel} < 8 %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %endif %files %if %{move_to_opt} %dir %{_bindir} %dir %{_mandir}/man1 %endif %{_bindir}/mem* %{_mandir}/man1/mem* %files libs %{!?_licensedir:%global license %%doc} %doc ChangeLog-*.md %license LICENSE %if %{move_to_opt} %dir %{_prefix} %dir %{_datadir} %dir %{_mandir} %dir %{_libdir} %endif %{_libdir}/libhashkit.so.2* %{_libdir}/libmemcached.so.11* %{_libdir}/libmemcachedprotocol.so.0* %{_libdir}/libmemcachedutil.so.2* %files devel %doc example %doc BUGS.md CONTRIBUTING.md README.md %doc support/example.cnf %if %{move_to_opt} %dir %{_includedir} %dir %{_datadir}/aclocal %dir %{_mandir}/man3 %dir %{_libdir}/pkgconfig %dir %{_libdir}/cmake %endif %{_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/libmemcached %{_datadir}/aclocal/ax_libmemcached.m4 %{_mandir}/man3/libmemcached* %{_mandir}/man3/libhashkit* %{_mandir}/man3/memcached* %{_mandir}/man3/hashkit* %changelog * Thu Apr 15 2021 Remi Collet - 1.1.0~beta3-1 - update to 1.1.0-beta3 * Mon Dec 29 2020 Remi Collet - 1.1.0~beta2-1 - update to 1.1.0-beta2 * Sat Dec 26 2020 Remi Collet - 1.1.0~beta1-3 - refresh from upstream with all patches merged * Wed Dec 23 2020 Remi Collet - 1.1.0~beta1-2 - add patches from upstream and from https://github.com/m6w6/libmemcached/pull/101 fix so version https://github.com/m6w6/libmemcached/pull/102 fix for old sphinx https://github.com/m6w6/libmemcached/pull/104 fix 32-bit - enable test suite * Tue Dec 22 2020 Remi Collet - 1.1.0~beta1-1 - update to 1.1.0-beta1 - sources from https://github.com/m6w6/libmemcached - open https://github.com/m6w6/libmemcached/issues/97 cmake files path - open https://github.com/m6w6/libmemcached/issues/98 soname - open https://github.com/m6w6/libmemcached/issues/99 build warning - open https://github.com/m6w6/libmemcached/issues/100 headers path * Fri Jan 11 2019 Remi Collet - 1.0.18-2 - improve dependency filtering * Tue Nov 20 2018 Remi Collet - 1.0.18-1 - rename to libmemcached-opt and install in /opt/libmemcached * Tue Feb 20 2018 Remi Collet - 1.0.18-13 - missing BR on C/C++ compilers - drop ldconfig scriptlets (F28+) * Sun Feb 28 2016 Remi Collet - 1.0.18-6 - obsolete libmemcached10 * Tue Jun 23 2015 Remi Collet - 1.0.18-5 - allow build against rh-php56 (as more-php56) * Tue Mar 25 2014 Remi Collet - 1.0.18-4 - improve SCL build * Sun Mar 23 2014 Remi Collet - 1.0.18-3 - allow SCL build * Wed Feb 19 2014 Remi Collet - 1.0.18-2 - cleanups * Wed Feb 19 2014 Remi Collet - 1.0.18-1 - update to 1.0.18 - disable test suite (too much broken tests) * Sat Dec 14 2013 Remi Collet - 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 1.0.16-2 - Fix linking against libpthread as a workaround for libtool bug #661333 * Fri Nov 15 2013 Remi Collet - 1.0.17-1 - rename to libmemcached-last - add -libs subpackage to be installed beside standard libmemcached * Mon Aug 5 2013 Remi Collet - 1.0.16-1 - revert to 1.0.16 for fedora 20 * Mon Aug 5 2013 Remi Collet - 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 - 1.0.17-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Apr 4 2013 Remi Collet - 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 - 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 - 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 - 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 - 1.0.13-1 - update to 1.0.13 * Fri Oct 19 2012 Remi Collet - 1.0.12-2 - temporary hack: fix LIBMEMCACHED_VERSION_HEX value * Thu Oct 11 2012 Remi Collet - 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 1.0.11-2 - fix defined but not used variable error on bigendian machines * Sat Sep 22 2012 Remi Collet - 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 - 1.0.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sun May 27 2012 Remi Collet - 1.0.8-1 - update to 1.0.8 * Sun Apr 22 2012 Remi Collet - 1.0.7-1 - update to 1.0.7 - regenerate parser using flex/bison (#816766) * Sun Apr 22 2012 Remi Collet - 1.0.6-2 - workaround for SASL detection * Sat Apr 21 2012 Remi Collet - 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 - 1.0.4-1 - update to 1.0.4 - soname bump to libmemcached.so.9 - update description * Tue Feb 28 2012 Fedora Release Engineering - 1.0.2-3 - Rebuilt for c++ ABI breakage * Fri Jan 13 2012 Fedora Release Engineering - 1.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu Oct 27 2011 Remi Collet - 1.0.2-1 - update to 1.0.2 * Sun Oct 16 2011 Remi Collet - 0.53-1 - update to 0.53 * Sat Sep 17 2011 Remi Collet - 0.52-1 - update to 0.52 * Sun Jul 31 2011 Remi Collet - 0.51-1 - update to 0.51 (soname bump libmemcached.so.8) * Thu Jun 02 2011 Remi Collet - 0.49-1 - update to 0.49 - add build option : --with tests * Mon Feb 28 2011 Remi Collet - 0.47-1 - update to 0.47 - remove patch merged upstream * Sun Feb 20 2011 Remi Collet - 0.46-2 - patch Makefile.in instead of include.am (to avoid autoconf) - donc requires pkgconfig with arch * Fri Feb 18 2011 Remi Collet - 0.46-1 - update to 0.46 * Sat Feb 12 2011 Remi Collet - 0.44-6 - arch specific requires * Tue Feb 08 2011 Fedora Release Engineering - 0.44-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Nov 24 2010 Joe Orton - 0.44-4 - repackage source tarball to remove non-free Hsieh hash code * Sat Oct 02 2010 Remi Collet - 0.44-3 - improves SASL patch * Sat Oct 02 2010 Remi Collet - 0.44-2 - enable SASL support * Fri Oct 01 2010 Remi Collet - 0.44-1 - update to 0.44 - add soname version in %%file to detect change * Fri Jul 30 2010 Remi Collet - 0.43-1 - update to 0.43 * Wed Jul 07 2010 Remi Collet - 0.42-1 - update to 0.42 * Tue May 04 2010 Remi Collet - 0.40-1 - update to 0.40 (new soname for libmemcached.so.5) - new URI (site + source) * Sat Mar 13 2010 Remi Collet - 0.38-1 - update to 0.38 * Sat Feb 06 2010 Remi Collet - 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 - 0.31-1 - update to 0.31 * Fri Jul 24 2009 Fedora Release Engineering - 0.30-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sun Jun 14 2009 Remi Collet - 0.30-1 - update to 0.30 * Tue May 19 2009 Remi Collet - 0.29-1 - update to 0.29 * Fri May 01 2009 Remi Collet - 0.28-2 - add upstream patch to disable nonfree hsieh hash method * Sat Apr 25 2009 Remi Collet - 0.28-1 - Initial RPM from Brian Aker spec - create -devel subpackage - add %%post %%postun %%check section