From 914b0d4827b11998ac973c8393de12bc5a252d48 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 8 Aug 2016 14:17:19 +0200 Subject: mongo-c-driver: dup the spec --- mongo-c-driver-dev.spec | 258 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 mongo-c-driver-dev.spec diff --git a/mongo-c-driver-dev.spec b/mongo-c-driver-dev.spec new file mode 100644 index 0000000..3ae85fb --- /dev/null +++ b/mongo-c-driver-dev.spec @@ -0,0 +1,258 @@ +# remirepo/fedora spec file for mongo-c-driver +# +# Copyright (c) 2015-2016 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global gh_owner mongodb +%global gh_project mongo-c-driver +%global libname libmongoc +%global libver 1.0 + +%ifarch x86_64 +%global with_tests 0%{!?_without_tests:1} +%else +# See https://jira.mongodb.org/browse/CDRIVER-1186 +# 32-bit MongoDB support was officially deprecated +# in MongoDB 3.2, and support is being removed in 3.4. +%global with_tests 0%{?_with_tests:1} +%endif + +Name: mongo-c-driver +Summary: Client library written in C for MongoDB +Version: 1.3.5 +Release: 2%{?dist} +License: ASL 2.0 +Group: System Environment/Libraries +URL: https://github.com/%{gh_owner}/%{gh_project} + +Source0: https://github.com/%{gh_owner}/%{gh_project}/releases/download/%{version}%{?prever:-%{prever}}/%{gh_project}-%{version}%{?prever:-%{prever}}.tar.gz + +# Enforce system crypto policies +# https://fedoraproject.org/wiki/Packaging:CryptoPolicies +# https://jira.mongodb.org/browse/CDRIVER-1231 +Patch0: %{name}-crypto.patch + +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(libbson-1.0) +%if 0%{?fedora} > 21 || 0%{?rhel} > 6 +BuildRequires: pkgconfig(libsasl2) +%else +BuildRequires: cyrus-sasl-devel +%endif +%if %{with_tests} +BuildRequires: mongodb-server +BuildRequires: openssl +BuildRequires: perl +%endif +# From man pages +BuildRequires: python + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# Sub package removed +Obsoletes: %{name}-tools < 1.3.0 +Provides: %{name}-tools = %{version} +Provides: %{name}-tools%{?_isa} = %{version} + + +%description +%{name} is a client library written in C for MongoDB. + + +%package libs +Summary: Shared libraries for %{name} +Group: Development/Libraries + +%description libs +This package contains the shared libraries for %{name}. + + +%package devel +Summary: Header files and development libraries for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description devel +This package contains the header files and development libraries +for %{name}. + +Documentation: http://api.mongodb.org/c/%{version}/ + + +%prep +%setup -q -n %{gh_project}-%{version}%{?prever:-%{prever}} + +%patch0 -p1 -b .cryptopolicy + +rm -r src/libbson + +# Ignore check for libbson version = libmongoc version +sed -e 's/libbson-1.0 >= $MONGOC_RELEASED_VERSION/libbson-1.0 >= 1.3/' \ + -i configure + + +%build +export LIBS=-lpthread + +%configure \ + --enable-hardening \ + --enable-debug-symbols\ + --enable-shm-counters \ + --disable-automatic-init-and-cleanup \ +%if %{with_tests} + --enable-tests \ +%else + --disable-tests \ +%endif + --enable-sasl \ + --enable-ssl \ + --with-libbson=system \ + --disable-html-docs \ + --enable-man-pages + +make %{_smp_mflags} V=1 + + +%install +make install DESTDIR=%{buildroot} + +rm %{buildroot}%{_libdir}/*la +rm -r %{buildroot}%{_datadir}/doc/ +# drop "generic" man pages, avoid conflicts +# https://jira.mongodb.org/browse/CDRIVER-1039 +rm %{buildroot}/%{_mandir}/man3/[a-l]* +rm %{buildroot}/%{_mandir}/man3/ma* +rm %{buildroot}/%{_mandir}/man3/[t-u]* + + +%check +%if %{with_tests} +: Run a server +mkdir dbtest +mongod \ + --journal \ + --bind_ip 127.0.0.1 \ + --unixSocketPrefix /tmp \ + --logpath $PWD/server.log \ + --pidfilepath $PWD/server.pid \ + --dbpath $PWD/dbtest \ + --fork + +: Run the test suite +ret=0 +export MONGOC_TEST_OFFLINE=on +make check || ret=1 + +: Cleanup +[ -s server.pid ] && kill $(cat server.pid) + +exit $ret +%else +: check disabled, missing '--with tests' option +%endif + + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + + +%files +%{_bindir}/mongoc-stat + +%files libs +%{!?_licensedir:%global license %%doc} +%license COPYING +%{_libdir}/%{libname}-%{libver}.so.* +%{_libdir}/%{libname}-priv.so.* + +%files devel +%doc NEWS README* +%{_includedir}/%{libname}-%{libver} +%{_libdir}/%{libname}-%{libver}.so +%{_libdir}/%{libname}-priv.so +%{_libdir}/pkgconfig/%{libname}-*.pc +%{_mandir}/man3/mongoc* + + +%changelog +* Mon May 16 2016 Remi Collet - 1.3.5-2 +- add patch to enforce system crypto policies + +* Thu Mar 31 2016 Remi Collet - 1.3.5-1 +- update to 1.3.5 +- use --disable-automatic-init-and-cleanup build option +- ignore check for libbson version = libmongoc version + +* Sat Mar 19 2016 Remi Collet - 1.3.4-2 +- build with MONGOC_NO_AUTOMATIC_GLOBALS + +* Tue Mar 15 2016 Remi Collet - 1.3.4-1 +- update to 1.3.4 +- drop patch merged upstream + +* Mon Feb 29 2016 Remi Collet - 1.3.3-2 +- cleanup for review +- move libraries in "libs" sub-package +- add patch to skip online tests + open https://github.com/mongodb/mongo-c-driver/pull/314 +- temporarily disable test suite on arm (#1303864) +- temporarily disable test suite on i686/F24+ (#1313018) + +* Sun Feb 7 2016 Remi Collet - 1.3.3-1 +- Update to 1.3.3 + +* Tue Feb 2 2016 Remi Collet - 1.3.2-1 +- Update to 1.3.2 + +* Thu Jan 21 2016 Remi Collet - 1.3.1-1 +- Update to 1.3.1 + +* Wed Dec 16 2015 Remi Collet - 1.3.0-1 +- Update to 1.3.0 +- move tools in devel package + +* Tue Dec 8 2015 Remi Collet - 1.2.3-1 +- Update to 1.2.3 + +* Tue Dec 8 2015 Remi Collet - 1.3.0-1 +- Update to 1.3.0 +- open https://jira.mongodb.org/browse/CDRIVER-1040 - ABI breaks + +* Wed Oct 14 2015 Remi Collet - 1.2.0-1 +- Update to 1.2.0 + +* Sun Oct 4 2015 Remi Collet - 1.2.0-0.6.rc0 +- Update to 1.2.0-rc0 + +* Fri Sep 11 2015 Remi Collet - 1.2.0-0.5.20150903git3eaf73e +- add patch to export library verson in the API + open https://github.com/mongodb/mongo-c-driver/pull/265 + +* Fri Sep 4 2015 Remi Collet - 1.2.0-0.4.20150903git3eaf73e +- update to version 1.2.0beta1 from git snapshot +- https://jira.mongodb.org/browse/CDRIVER-828 missing tests/json + +* Mon Aug 31 2015 Remi Collet - 1.2.0-0.3.beta +- more upstream patch (for EL-6) + +* Mon Aug 31 2015 Remi Collet - 1.2.0-0.2.beta +- Upstream version 1.2.0beta + +* Wed May 20 2015 Remi Collet - 1.1.6-1 +- Upstream version 1.1.6 + +* Mon May 18 2015 Remi Collet - 1.1.5-1 +- Upstream version 1.1.5 + +* Sat Apr 25 2015 Remi Collet - 1.1.4-3 +- test build for upstream patch + +* Thu Apr 23 2015 Remi Collet - 1.1.4-2 +- cleanup build dependencies and options + +* Wed Apr 22 2015 Remi Collet - 1.1.4-1 +- Initial package +- open https://jira.mongodb.org/browse/CDRIVER-624 - gcc 5 -- cgit