Sophie

Sophie

distrib > Mageia > 8 > i586 > by-pkgid > 04d948ccf69e52ba7dfb743590f22862 > files > 7

couchdb-3.1.2-1.mga8.src.rpm

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