diff options
Diffstat (limited to 'libcouchbase.spec')
-rw-r--r-- | libcouchbase.spec | 202 |
1 files changed, 164 insertions, 38 deletions
diff --git a/libcouchbase.spec b/libcouchbase.spec index e157b44..9269cba 100644 --- a/libcouchbase.spec +++ b/libcouchbase.spec @@ -1,12 +1,21 @@ # remirepo spec file for libcouchbase # -# Copyright (c) 2013-2020 Remi Collet +# Copyright (c) 2013-2021 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # +%global libname libcouchbase +%global soname 8 + +%if 0%{?fedora} >= 35 || 0%{?rhel} >= 7 +%bcond_with rename +%else +%bcond_without rename +%endif + %if 0%{?fedora} >= 25 || 0%{?rhel} >= 8 %bcond_without tests %else @@ -14,39 +23,41 @@ %bcond_with tests %endif -%global with_dtrace 1 +%bcond_without dtrace +%bcond_without uv -%if 0%{?fedora} >= 22 || 0%{?rhel} >= 7 -%global with_uv 1 +%if %{with rename} +Name: %{libname}%{soname} %else -%global with_uv 0 +Name: %{libname} %endif - -Name: libcouchbase -Version: 2.10.7 +Version: 3.2.4 Release: 1%{?dist} Summary: Couchbase client library Group: System Environment/Libraries License: ASL 2.0 -URL: http://www.couchbase.com/communities/c/getting-started -Source0: http://packages.couchbase.com/clients/c/%{name}-%{version}.tar.gz - -Patch0: %{name}-0001-enforce-system-crypto-policies.patch -Patch1: %{name}-0002-do-not-install-plugins-into-libdir.patch -Patch2: %{name}-0003-fix-pkgconfig-paths.patch +URL: https://docs.couchbase.com/c-sdk/current/project-docs/sdk-release-notes.html +Source0: http://packages.couchbase.com/clients/c/%{libname}-%{version}.tar.gz +Patch0: %{libname}-0001-enforce-system-crypto-policies.patch +%if 0%{?rhel} == 7 +%global dtsenable source /opt/rh/devtoolset-8/enable +BuildRequires: devtoolset-8-toolchain +BuildRequires: cmake3 >= 3.5.1 +%else BuildRequires: gcc BuildRequires: gcc-c++ +BuildRequires: cmake >= 3.5.1 +%endif BuildRequires: libtool BuildRequires: openssl-devel -BuildRequires: cmake >= 2.8.9 BuildRequires: pkgconfig(libevent) >= 2.0.20 BuildRequires: libev-devel >= 3 -%if %{with_uv} +%if %{with uv} BuildRequires: pkgconfig(libuv) >= 1 %endif -%if %{with_dtrace} +%if %{with dtrace} BuildRequires: systemtap-sdt-devel >= 1.8 BuildRequires: systemtap-devel %endif @@ -58,6 +69,10 @@ Suggests: %{name}-tools%{_isa} = %{version}-%{release} %else Requires: %{name}-libevent%{_isa} = %{version}-%{release} %endif +%if %{without rename} +Obsoletes: %{libname}%{soname} < %{version}-%{release} +Obsoletes: %{libname}3 < %{version}-%{release} +%endif # Filter shared private badly named %{?filter_provides_in: %filter_provides_in %{name}/%{name}.*\.so$} @@ -73,12 +88,25 @@ HTTP transport. This Couchbase Client Library for C and C++ provides a complete interface to the functionality of Couchbase Server. +%if %{with rename} +This package is designed for parallel installation with libcouchbase +%endif %package devel Summary: Development files for Couchbase client library Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} +%if %{with rename} +Conflicts: %{libname}-devel < %{version} +Provides: %{libname}-devel = %{version}-%{release} +Conflicts: %{libname}7-devel < %{version} +Conflicts: %{libname}6-devel < %{version} +Conflicts: %{libname}3-devel < %{version} +%else +Obsoletes: %{libname}%{soname}-devel < %{version}-%{release} +Obsoletes: %{libname}3-devel < %{version}-%{release} +%endif %description devel The %{name}-devel package contains libraries and header files for @@ -89,28 +117,40 @@ developing applications that use %{name}. Summary: Couchbase client library - libevent IO back-end Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} +%if %{without rename} +Obsoletes: %{libname}%{soname}-libevent < %{version}-%{release} +Obsoletes: %{libname}3-libevent < %{version}-%{release} +%endif %description libevent -This package provides libevent back-end for libcouchbase. +This package provides libevent back-end for %{name}. %package libev Summary: Couchbase client library - libev IO back-end Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} +%if %{without rename} +Obsoletes: %{libname}%{soname}-libev < %{version}-%{release} +Obsoletes: %{libname}3-libev < %{version}-%{release} +%endif %description libev -This package provides libev back-end for libcouchbase. +This package provides libev back-end for %{name}. -%if %{with_uv} +%if %{with uv} %package libuv Summary: Couchbase client library - libuv IO back-end Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} +%if %{without rename} +Obsoletes: %{libname}%{soname}-libuv < %{version}-%{release} +Obsoletes: %{libname}3-libuv < %{version}-%{release} +%endif %description libuv -This package provides libuv back-end for libcouchbase. +This package provides libuv back-end for %{name}. %endif @@ -119,6 +159,16 @@ Summary: Couchbase tools Group: Applications/System Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libevent%{?_isa} = %{version}-%{release} +%if %{with rename} +Conflicts: %{libname}-tools < %{version} +Provides: %{libname}-tools = %{version}-%{release} +Conflicts: %{libname}7-tools < %{version} +Conflicts: %{libname}6-tools < %{version} +Conflicts: %{libname}3-tools < %{version} +%else +Obsoletes: %{libname}%{soname}-tools < %{version}-%{release} +Obsoletes: %{libname}3-tools < %{version}-%{release} +%endif %description tools The %{name}-tools package contains some command line tools to manage @@ -126,41 +176,64 @@ a Couchbase Server. %prep -%setup -q +%setup -q -n %{libname}-%{version} %patch0 -p1 -b .crypto -%patch1 -p1 -b .plug -%patch2 -p1 -b .pkgc %build +%{?dtsenable} +gcc --version + +%if 0%{?rhel} == 7 +%cmake3 \ +%else %cmake \ +%endif -DLCB_BUILD_LIBEVENT=ON \ -DLCB_BUILD_LIBEV=ON \ -%if %{with_uv} +%if %{with uv} -DLCB_BUILD_LIBUV=ON \ %else -DLCB_BUILD_LIBUV=OFF \ %endif -%if %{with_dtrace} +%if %{with dtrace} -DLCB_BUILD_DTRACE=ON \ %else -DLCB_BUILD_DTRACE=OFF \ %endif -DLCB_NO_MOCK=1 \ - . + -DLCB_PLUGINS_DIR:STRING=%{name} +%if 0%{?cmake_build:1} +%cmake_build +%else make %{?_smp_mflags} V=1 +%endif %install +%{?dtsenable} + +%if 0%{?cmake_install:1} +%cmake_install +%else make install DESTDIR=%{buildroot} +%endif %check %if %{with tests} -# ARGS needed to pass arguments to ctest +%{?dtsenable} + export CTEST_OUTPUT_ON_FAILURE=1 +%if 0%{?cmake_build:1} +%cmake_build --target alltests +%ctest +%else +# ARGS needed to pass arguments to ctest make %{_smp_mflags} alltests test ARGS=%{_smp_mflags} +%endif + %else : check disabled %endif @@ -176,26 +249,27 @@ make %{_smp_mflags} alltests test ARGS=%{_smp_mflags} %{!?_licensedir:%global license %%doc} %doc README.markdown RELEASE_NOTES.markdown %license LICENSE -%{_libdir}/%{name}.so.2* -%if %{with_dtrace} -%{_datadir}/systemtap/tapset/libcouchbase.so* +%{_libdir}/%{libname}.so.%{soname}* +%if %{with dtrace} +%{_datadir}/systemtap/tapset/%{libname}.so* %endif +%dir %{_libdir}/%{name} %files libevent -%{_libdir}/%{name}/%{name}_libevent.so +%{_libdir}/%{name}/%{libname}_libevent.so %files libev -%{_libdir}/%{name}/%{name}_libev.so +%{_libdir}/%{name}/%{libname}_libev.so -%if %{with_uv} +%if %{with uv} %files libuv -%{_libdir}/%{name}/%{name}_libuv.so +%{_libdir}/%{name}/%{libname}_libuv.so %endif %files devel -%{_includedir}/%{name} -%{_libdir}/%{name}.so -%{_libdir}/pkgconfig/%{name}.pc +%{_includedir}/%{libname} +%{_libdir}/%{libname}.so +%{_libdir}/pkgconfig/%{libname}.pc %files tools %{_bindir}/cbc* @@ -204,6 +278,58 @@ make %{_smp_mflags} alltests test ARGS=%{_smp_mflags} %changelog +* Thu Nov 25 2021 Remi Collet <remi@remirepo.net> - 3.2.4-1 +- update to 3.2.4 + +* Wed Oct 20 2021 Remi Collet <remi@remirepo.net> - 3.2.3-1 +- update to 3.2.3 + +* Thu Sep 23 2021 Remi Collet <remi@remirepo.net> - 3.2.2-1 +- update to 3.2.2 + +* Wed Aug 25 2021 Remi Collet <remi@remirepo.net> - 3.2.1-1 +- update to 3.2.1 + +* Wed Jul 21 2021 Remi Collet <remi@remirepo.net> - 3.2.0-1 +- update to 3.2.0 +- bump soname to 8 + +* Wed Jun 9 2021 Remi Collet <remi@remirepo.net> - 3.1.4-1 +- update to 3.1.4 +- always build as libcouchbase7 + +* Tue May 11 2021 Remi Collet <remi@remirepo.net> - 3.1.3-1 +- update to 3.1.3 + +* Tue Apr 27 2021 Remi Collet <remi@remirepo.net> - 3.1.2-1 +- update to 3.1.2 + +* Tue Apr 13 2021 Remi Collet <remi@remirepo.net> - 3.1.1-1 +- update to 3.1.1 + +* Wed Mar 3 2021 Remi Collet <remi@remirepo.net> - 3.1.0-1 +- update to 3.1.0 +- bump soname to 7 + +* Tue Jan 12 2021 Sergey Avseyev <sergey.avseyev@gmail.com> - 3.0.7-2 +- Use cmake macros for build, install and test steps + +* Wed Dec 16 2020 Remi Collet <remi@remirepo.net> - 3.0.7-1 +- update to 3.0.7 +- drop patch merged upstream + +* Mon Nov 16 2020 Remi Collet <remi@remirepo.net> - 3.0.6-2 +- cleanup and only rename for fedora < 34 + +* Thu Nov 12 2020 Remi Collet <remi@remirepo.net> - 3.0.6-1 +- update to 3.0.6 +- rename to libcouchbase6 to allow parallel installation with libcouchbase v2 +- relocate IO plugins installation using patch from + https://github.com/couchbase/libcouchbase/pull/38 + +* Wed Sep 23 2020 Remi Collet <remi@remirepo.net> - 2.10.7-1 +- update to 2.10.8 + * Wed Jun 17 2020 Remi Collet <remi@remirepo.net> - 2.10.7-1 - update to 2.10.7 |