Blame SPECS/libmemcached-awesome.spec

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