Blame SPECS/libmemcached-awesome.spec

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