Name: couchdb Version: 3.1.2 Release: 1%{?dist} Summary: A document database server, accessible via a RESTful JSON API License: ASL 2.0 Group: Databases URL: https://couchdb.apache.org/ Source0: https://downloads.apache.org/%{name}/source/%{version}/apache-%{name}-%{version}.tar.gz Source1: https://downloads.apache.org/%{name}/source/%{version}/apache-%{name}-%{version}.tar.gz.asc Source3: %{name}.service Source4: %{name}.tmpfiles.conf Source5: %{name}.temporary.sh Patch1: couchdb-0001-Build-with-SpiderMonkey-60-on-ARM-64.patch Patch2: couchdb-0002-Build-with-Erlang-23.patch Patch3: couchdb-0003-Don-t-fetch-and-compile-deps.patch BuildRequires: curl-devel >= 7.18.0 BuildRequires: erlang-bear BuildRequires: erlang-erts BuildRequires: erlang-eunit BuildRequires: erlang-folsom BuildRequires: erlang-hyper BuildRequires: erlang-ibrowse >= 4.0.1 BuildRequires: erlang-jiffy BuildRequires: erlang-meck BuildRequires: erlang-mochiweb BuildRequires: erlang-os_mon BuildRequires: erlang-proper BuildRequires: erlang-rebar BuildRequires: erlang-rpm-macros BuildRequires: erlang-sd_notify BuildRequires: erlang-setup BuildRequires: erlang-snappy BuildRequires: erlang-triq BuildRequires: gcc-c++ BuildRequires: help2man BuildRequires: libicu-devel BuildRequires: libtool BuildRequires: mozjs60-devel BuildRequires: systemd BuildRequires: make Requires(pre): systemd Requires(post): systemd Requires(preun): systemd # Users and groups Requires(pre): shadow-utils %description Apache CouchDB is a distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API. Among other features, it provides robust, incremental replication with bi-directional conflict detection and resolution, and is queryable and indexable using a table-oriented view engine with JavaScript acting as the default view definition language. %prep %autosetup -p 1 -n apache-%{name}-%{version} # Remove bundled libraries rm -f bin/rebar #rm -rf src/bear/ #rm -rf src/folsom/ rm -rf src/hyper/ #rm -rf src/ibrowse/ rm -rf src/jiffy/ #rm -rf src/meck/ #rm -rf src/mochiweb rm -rf src/rebar/ rm -rf src/proper/ #rm -rf src/setup/ rm -rf src/snappy #rm -rf src/triq/ %build ./configure --user=couchdb --with-curl --erlang-md5 --spidermonkey-version 60 --skip-deps --rebar /usr/bin/rebar REBAR=/usr/bin/rebar VERBOSE=1 make %{?_smp_mflags} release %install # Install systemd-service install -D -p -m 0644 %{SOURCE4} %{buildroot}/usr/lib/tmpfiles.d/%{name}.conf install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service # Temporary systemd + selinux wrapper # This makes the service run in couchdb_t install -D -p -m 0755 %{SOURCE5} %{buildroot}%{_libexecdir}/%{name} # Install Erlang VM and application config files install -D -p -m 0644 rel/%{name}/etc/default.d/README %{buildroot}%{_sysconfdir}/%{name}/default.d/README install -D -p -m 0644 rel/%{name}/etc/local.d/README %{buildroot}%{_sysconfdir}/%{name}/local.d/README install -D -p -m 0644 rel/%{name}/etc/default.ini %{buildroot}%{_sysconfdir}/%{name}/default.ini install -D -p -m 0644 rel/%{name}/etc/local.ini %{buildroot}%{_sysconfdir}/%{name}/local.ini install -D -p -m 0644 rel/%{name}/etc/vm.args %{buildroot}%{_sysconfdir}/%{name}/vm.args # Install Erlang runtime libs mkdir -p %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/b64url-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/chttpd-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/config-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_epi-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_event-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_index-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_log-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_mrview-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_peruser-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_plugins-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_replicator-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/couch_stats-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/ddoc_cache-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/dreyfus-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/ets_lru-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/fabric-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/global_changes-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/ioq-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/jwtf-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/ken-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/khash-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/mango-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/mem3-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/recon-2.5.0/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/rexi-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ cp -arv rel/%{name}/lib/smoosh-%{version}/ %{buildroot}%{_libdir}/erlang/lib/ # We do not install release (yet) # FIXME # Install runtime apps and scripts install -D -p -m 0755 rel/%{name}/bin/%{name} %{buildroot}%{_bindir}/%{name} couchjs_bin_dir="$(ls -d1 $RPM_BUILD_ROOT%{_libdir}/erlang/lib/couch-%{version}/ | sed "s,^$RPM_BUILD_ROOT,,")" ln -s "${couchjs_bin_dir}priv/couchjs" "$RPM_BUILD_ROOT%{_bindir}/couchjs" install -D -p -m 0755 rel/%{name}/bin/remsh %{buildroot}%{_bindir}/remsh # Install man-pages install -D -p -m 0644 rel/%{name}/share/docs/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 # Copy required data files mkdir -p %{buildroot}%{_datadir}/%{name} cp -arv rel/%{name}/share/server %{buildroot}%{_datadir}/%{name} cp -arv rel/%{name}/share/www %{buildroot}%{_datadir}/%{name} # Create room for executable mkdir -p %{buildroot}%{_localstatedir}/run/%{name} # Create room for logs mkdir -p %{buildroot}%{_localstatedir}/log/%{name} %check #make check #make check-eunit %pre getent group %{name} >/dev/null || groupadd -r %{name} getent passwd %{name} >/dev/null || \ useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /bin/bash \ -c "Couchdb Database Server" %{name} exit 0 %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files %license LICENSE %doc BUGS.md COMMITTERS.md CONTRIBUTING.md CONTRIBUTORS NOTICE README.rst %dir %{_sysconfdir}/%{name}/ %dir %{_sysconfdir}/%{name}/local.d/ %dir %{_sysconfdir}/%{name}/default.d/ %{_sysconfdir}/%{name}/local.d/README %{_sysconfdir}/%{name}/default.d/README %config %attr(0644, %{name}, %{name}) %{_sysconfdir}/%{name}/default.ini %config(noreplace) %attr(0644, %{name}, %{name}) %{_sysconfdir}/%{name}/local.ini %config(noreplace) %attr(0644, %{name}, %{name}) %{_sysconfdir}/%{name}/vm.args #%%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %{_tmpfilesdir}/%{name}.conf %{_unitdir}/%{name}.service %{_bindir}/%{name} %{_bindir}/couchjs %{_bindir}/remsh %{_libdir}/erlang/lib/b64url-%{version}/ %{_libdir}/erlang/lib/chttpd-%{version}/ %{_libdir}/erlang/lib/config-%{version}/ %{_libdir}/erlang/lib/couch-%{version}/ %{_libdir}/erlang/lib/couch_epi-%{version}/ %{_libdir}/erlang/lib/couch_event-%{version}/ %{_libdir}/erlang/lib/couch_index-%{version}/ %{_libdir}/erlang/lib/couch_log-%{version}/ %{_libdir}/erlang/lib/couch_mrview-%{version}/ %{_libdir}/erlang/lib/couch_peruser-%{version}/ %{_libdir}/erlang/lib/couch_plugins-%{version}/ %{_libdir}/erlang/lib/couch_replicator-%{version}/ %{_libdir}/erlang/lib/couch_stats-%{version}/ %{_libdir}/erlang/lib/ddoc_cache-%{version}/ %{_libdir}/erlang/lib/dreyfus-%{version}/ %{_libdir}/erlang/lib/ets_lru-%{version}/ %{_libdir}/erlang/lib/fabric-%{version}/ %{_libdir}/erlang/lib/global_changes-%{version}/ %{_libdir}/erlang/lib/ioq-%{version}/ %{_libdir}/erlang/lib/jwtf-%{version}/ %{_libdir}/erlang/lib/ken-%{version}/ %{_libdir}/erlang/lib/khash-%{version}/ %{_libdir}/erlang/lib/mango-%{version}/ %{_libdir}/erlang/lib/mem3-%{version}/ %{_libdir}/erlang/lib/recon-2.5.0/ %{_libdir}/erlang/lib/rexi-%{version}/ %{_libdir}/erlang/lib/smoosh-%{version}/ %{_libexecdir}/%{name} %{_datadir}/%{name} %{_mandir}/man1/%{name}.1.* %dir %attr(0755, %{name}, %{name}) %{_localstatedir}/log/%{name} %dir %attr(0755, %{name}, %{name}) %{_localstatedir}/run/%{name} %changelog * Thu Oct 14 2021 ns80 <ns80> 3.1.2-1.mga8 + Revision: 1751347 - new version 3.1.2 for CVE-2021-38295 (mga#29548) * Sat Jan 09 2021 joequant <joequant> 3.1.1-1.mga8 + Revision: 1669921 - add group Databases - add patches - update to 3.1.1 / replace for mongodb - reinstate couchdb as replacement for mongodb * Fri Oct 24 2014 doktor5000 <doktor5000> 1.4.0-10.mga5 + Revision: 792963 + rebuild (emptylog) * Wed Oct 15 2014 umeabot <umeabot> 1.4.0-9.mga5 + Revision: 742403 - Second Mageia 5 Mass Rebuild * Sat Oct 11 2014 danf <danf> 1.4.0-8.mga5 + Revision: 738001 - Added werror.patch to stop aborting compiles at the slightest warning + umeabot <umeabot> - Rebuild to fix library dependencies - Mageia 5 Mass Rebuild * Sat May 03 2014 tmb <tmb> 1.4.0-6.mga5 + Revision: 619793 - require erlang-compiler too * Fri May 02 2014 tmb <tmb> 1.4.0-5.mga5 + Revision: 619602 - require erlang-asn1 and erlang-syntax_tools so the service starts * Mon Apr 21 2014 luigiwalser <luigiwalser> 1.4.0-4.mga5 + Revision: 617318 - add patch from opensuse to fix CVE-2014-2668 * Sat Apr 05 2014 wally <wally> 1.4.0-3.mga5 + Revision: 611998 - rebuild for new icu * Mon Oct 21 2013 umeabot <umeabot> 1.4.0-2.mga4 + Revision: 537961 - Mageia 4 Mass Rebuild * Sat Sep 28 2013 fwang <fwang> 1.4.0-1.mga4 + Revision: 488132 - update file list - update file list - add more br - new version 1.4.0 - br autoconf archive - reconf - fix build with Erlang R16B01 + tmb <tmb> - rebuild for new icu * Sat Jul 20 2013 fwang <fwang> 1.3.1-1.mga4 + Revision: 456402 - update file list - more patch - do not patch configure.ac - patch configure also - use autoconf2.1 - drop ldflags from flags - new version 1.3.1 * Sun May 26 2013 fwang <fwang> 1.2.1-4.mga4 + Revision: 428001 - rebuild for new icu * Sun Mar 24 2013 colin <colin> 1.2.1-3.mga3 + Revision: 404859 - Add systemd requires and general post/pre fixes (mga#9302) * Thu Feb 07 2013 neoclust <neoclust> 1.2.1-2.mga3 + Revision: 395014 - Update release to allow updates from mga2 * Tue Feb 05 2013 neoclust <neoclust> 1.2.1-1.mga3 + Revision: 394707 - New version 1.2.1 * Fri Jan 11 2013 umeabot <umeabot> 1.2.0-7.mga3 + Revision: 348189 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Mon Dec 31 2012 wally <wally> 1.2.0-6.mga3 + Revision: 336582 - fix build with new automake 1.13 * Sun Nov 25 2012 colin <colin> 1.2.0-5.mga3 + Revision: 321769 - Do not package tmpfiles conf in /etc - Run systemd-tmpfiles --create on post install * Fri Nov 09 2012 fwang <fwang> 1.2.0-4.mga3 + Revision: 316630 - rebuild for updated icu * Tue Nov 06 2012 fwang <fwang> 1.2.0-3.mga3 + Revision: 314764 - rebuild for neww couchdb * Wed Aug 01 2012 sander85 <sander85> 1.2.0-2.mga3 + Revision: 277298 - Fix build. - Migrate to systemd. - Clean spec. - Switch from make to %%make. + fwang <fwang> - new version 1.2.0 * Wed May 30 2012 fwang <fwang> 1.1.1-2.mga3 + Revision: 249620 - rebuild for new icu * Mon Dec 26 2011 fwang <fwang> 1.1.1-1.mga2 + Revision: 187826 - new version 1.1.1 - rebuild for new js + dmorgan <dmorgan> - Add erlang-public_key as requires to fix a crash ( mga #2196) * Mon Jun 20 2011 fwang <fwang> 1.1.0-1.mga2 + Revision: 110327 - tweak br - new version 1.1.0 * Sat Apr 16 2011 misc <misc> 1.0.2-1.mga1 + Revision: 86162 - update to 1.0.2 * Sat Mar 26 2011 dmorgan <dmorgan> 1.0.1-2.mga1 + Revision: 77595 - imported package couchdb * Mon Mar 14 2011 Funda Wang <fwang@mandriva.org> 1.0.1-2mdv2011.0 + Revision: 644571 - rebuild for new icu * Mon Aug 23 2010 Sandro Cazzaniga <kharec@mandriva.org> 1.0.1-1mdv2011.0 + Revision: 572075 - update to 1.0.1 * Mon Jul 26 2010 Funda Wang <fwang@mandriva.org> 1.0.0-1mdv2011.0 + Revision: 560867 - New version 1.0.0 * Mon Apr 19 2010 Frederik Himpe <fhimpe@mandriva.org> 0.11.0-3mdv2010.1 + Revision: 536791 - Fix mix-up of different rpm scripts * Sat Apr 17 2010 Frederik Himpe <fhimpe@mandriva.org> 0.11.0-2mdv2010.1 + Revision: 536039 - Move user creation to bin subpackage (fixes bug #58683: installs files as unexisting user couchdb) * Fri Apr 16 2010 Frederik Himpe <fhimpe@mandriva.org> 0.11.0-1mdv2010.1 + Revision: 535632 - Update to new version 0.11.0 (fixes CVE-2010-0009) - Remove icu-config patch: no longer needed * Wed Apr 07 2010 Michael Scherer <misc@mandriva.org> 0.10.1-5mdv2010.1 + Revision: 532835 - place requirement on couchdb-bin subpackages * Sun Mar 21 2010 Funda Wang <fwang@mandriva.org> 0.10.1-4mdv2010.1 + Revision: 526061 - fix includedir - rebuild for new icu * Sun Feb 14 2010 Frederik Himpe <fhimpe@mandriva.org> 0.10.1-3mdv2010.1 + Revision: 505918 - Some more Requires (via Debian) - Fix Requires - Don't depend on icu-config (Debian patch) * Thu Feb 11 2010 Michael Scherer <misc@mandriva.org> 0.10.1-2mdv2010.1 + Revision: 504017 - split couchdb binary in another rpm, so desktopcouch do not autostart the server * Thu Dec 10 2009 Eugeni Dodonov <eugeni@mandriva.com> 0.10.1-1mdv2010.1 + Revision: 476022 - Updated to 0.10.1 * Tue Nov 10 2009 Michael Scherer <misc@mandriva.org> 0.10.0-1mdv2010.1 + Revision: 463885 - disable parralel build, as it seems there is some trouble on klodia - fix BuildRequires, as erlang compiler is not in erlang-devel - import couchdb, based on Fedora specfile