summaryrefslogtreecommitdiffstats
path: root/libcouchbase.spec
diff options
context:
space:
mode:
Diffstat (limited to 'libcouchbase.spec')
-rw-r--r--libcouchbase.spec202
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