Allisson Azevedo b956a8c
%define couchdb_user couchdb
Allisson Azevedo b956a8c
%define couchdb_group couchdb
Allisson Azevedo b956a8c
%define couchdb_home %{_localstatedir}/lib/couchdb
b212fdc
Allisson Azevedo b956a8c
Name:           couchdb
82627d4
Version:        1.0.4
82627d4
Release:        1%{?dist}
Allisson Azevedo b956a8c
Summary:        A document database server, accessible via a RESTful JSON API
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
Group:          Applications/Databases
Allisson Azevedo b956a8c
License:        ASL 2.0
1ff3b93
URL:            http://couchdb.apache.org/
c7d91a0
Source0:        http://www.apache.org/dist/%{name}/%{version}/apache-%{name}-%{version}.tar.gz
Allisson Azevedo b956a8c
Source1:        %{name}.init
37c7a4c
Patch1:		couchdb-0001-Do-not-gzip-doc-files-and-do-not-install-installatio.patch
37c7a4c
Patch2:		couchdb-0002-Install-docs-into-versioned-directory.patch
37c7a4c
Patch3:		couchdb-0003-More-directories-to-search-for-place-for-init-script.patch
37c7a4c
Patch4:		couchdb-0004-Install-into-erllibdir-by-default.patch
e787519
Patch5:		couchdb-0005-Don-t-use-bundled-etap-erlang-oauth-ibrowse-and-moch.patch
e787519
Patch6:		couchdb-0006-Fixes-for-system-wide-ibrowse.patch
e787519
Patch7:		couchdb-0007-Remove-pid-file-after-stop.patch
e787519
Patch8:		couchdb-0008-deleting-a-DB-while-it-was-being-opened-would-crash-.patch
e787519
Patch9:		couchdb-0009-Change-respawn-timeout-to-0.patch
e787519
Patch10:	couchdb-0010-Relax-curl-dependency-to-7.15-for-RHEL5.patch
82627d4
Patch11:	couchdb-0011-Replicator-fix-error-when-restarting-replications-in.patch
db0a991
Allisson Azevedo b956a8c
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Allisson Azevedo b956a8c
e1d33e6
37c7a4c
BuildRequires:  autoconf
37c7a4c
BuildRequires:  automake
37c7a4c
BuildRequires:  libtool
bf5b5ff
BuildRequires:	curl-devel
2d10aee
BuildRequires:	erlang-erts
fc422f3
BuildRequires:	erlang-etap
09d3653
BuildRequires:	erlang-ibrowse >= 2.2.0
fc422f3
BuildRequires:	erlang-mochiweb
fc422f3
BuildRequires:	erlang-oauth
bf5b5ff
BuildRequires:	help2man
bf5b5ff
BuildRequires:	js-devel
bf5b5ff
BuildRequires:	libicu-devel
b1e3f8a
# For /usr/bin/prove
fc422f3
BuildRequires:	perl(Test::Harness)
fc422f3
773f80c
Requires:	erlang-crypto
773f80c
Requires:	erlang-erts
09d3653
Requires:	erlang-ibrowse >= 2.2.0
773f80c
Requires:	erlang-inets
773f80c
Requires:	erlang-kernel
773f80c
Requires:	erlang-mochiweb
773f80c
Requires:	erlang-oauth
b1e3f8a
Requires:	erlang-sasl
773f80c
Requires:	erlang-stdlib
773f80c
Requires:	erlang-tools
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
#Initscripts
Allisson Azevedo b956a8c
Requires(post): chkconfig
Allisson Azevedo b956a8c
Requires(preun): chkconfig initscripts
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
# Users and groups
Allisson Azevedo b956a8c
Requires(pre): shadow-utils
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
%description
be9b74a
Apache CouchDB is a distributed, fault-tolerant and schema-free
be9b74a
document-oriented database accessible via a RESTful HTTP/JSON API.
be9b74a
Among other features, it provides robust, incremental replication
be9b74a
with bi-directional conflict detection and resolution, and is
be9b74a
queryable and indexable using a table-oriented view engine with
Allisson Azevedo b956a8c
JavaScript acting as the default view definition language.
Allisson Azevedo b956a8c
fc422f3
Allisson Azevedo b956a8c
%prep
c7d91a0
%setup -q -n apache-%{name}-%{version}
37c7a4c
%patch1 -p1 -b .dont_gzip
37c7a4c
%patch2 -p1 -b .use_versioned_docdir
37c7a4c
%patch3 -p1 -b .more_init_dirs
37c7a4c
%patch4 -p1 -b .install_into_erldir
e787519
%patch5 -p1 -b .remove_bundled_libs
e787519
%patch6 -p1 -b .workaround_for_system_wide_ibrowse
e787519
%patch7 -p1 -b .remove_pid_file
e787519
%patch8 -p1 -b .fix_crash
e787519
%patch9 -p1 -b .fix_respawn
e1d33e6
%if 0%{?el5}
2e949ee
# Old CURL library
e787519
%patch10 -p1 -b .curl_7_15
e787519
%endif
82627d4
%if 0%{?el6}
82627d4
%patch11 -p1 -b .fix_R14B02
e1d33e6
%endif
Allisson Azevedo d9f8be3
e787519
# Remove bundled libraries
e787519
rm -rf src/erlang-oauth
e787519
rm -rf src/etap
e787519
rm -rf src/ibrowse
e787519
rm -rf src/mochiweb
Allisson Azevedo d9f8be3
82627d4
rm -f libtool configure m4/l*
db0a991
Allisson Azevedo b956a8c
%build
37c7a4c
autoreconf -ivf
Allisson Azevedo b956a8c
%configure
Allisson Azevedo b956a8c
make %{?_smp_mflags}
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
%install
Allisson Azevedo b956a8c
rm -rf $RPM_BUILD_ROOT
Allisson Azevedo b956a8c
make install DESTDIR=$RPM_BUILD_ROOT
Allisson Azevedo b956a8c
b664041
# Install our custom couchdb initscript
Allisson Azevedo b956a8c
install -D -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/%{name}
Allisson Azevedo b956a8c
b664041
# Use /etc/sysconfig instead of /etc/default
b664041
mv $RPM_BUILD_ROOT%{_sysconfdir}/{default,sysconfig}
Allisson Azevedo b956a8c
fc422f3
fc422f3
%check
b1e3f8a
make check || exit 1
fc422f3
fc422f3
Allisson Azevedo b956a8c
%clean
Allisson Azevedo b956a8c
rm -rf $RPM_BUILD_ROOT
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
%pre
Allisson Azevedo b956a8c
getent group %{couchdb_group} >/dev/null || groupadd -r %{couchdb_group}
Allisson Azevedo b956a8c
getent passwd %{couchdb_user} >/dev/null || \
Allisson Azevedo b956a8c
useradd -r -g %{couchdb_group} -d %{couchdb_home} -s /bin/bash \
Allisson Azevedo b956a8c
-c "Couchdb Database Server" %{couchdb_user}
Allisson Azevedo b956a8c
exit 0
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
%post
Allisson Azevedo b956a8c
/sbin/chkconfig --add couchdb
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
%preun
Allisson Azevedo b956a8c
if [ $1 = 0 ] ; then
Allisson Azevedo b956a8c
    /sbin/service couchdb stop >/dev/null 2>&1
Allisson Azevedo b956a8c
    /sbin/chkconfig --del couchdb
Allisson Azevedo b956a8c
fi
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
%files
Allisson Azevedo b956a8c
%doc AUTHORS BUGS CHANGES LICENSE NEWS NOTICE README THANKS
09d3653
%dir %{_sysconfdir}/%{name}
09d3653
%dir %{_sysconfdir}/%{name}/local.d
09d3653
%dir %{_sysconfdir}/%{name}/default.d
09d3653
%config(noreplace) %attr(0644, %{couchdb_user}, root) %{_sysconfdir}/%{name}/default.ini
09d3653
%config(noreplace) %attr(0644, %{couchdb_user}, root) %{_sysconfdir}/%{name}/local.ini
09d3653
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
09d3653
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
09d3653
%{_initrddir}/%{name}
09d3653
%{_bindir}/%{name}
b664041
%{_bindir}/couchjs
bf5b5ff
%{_libdir}/erlang/lib/couch-%{version}
09d3653
%{_datadir}/%{name}
09d3653
%{_mandir}/man1/%{name}.1.*
b664041
%{_mandir}/man1/couchjs.1.*
09d3653
%dir %attr(0755, %{couchdb_user}, root) %{_localstatedir}/log/%{name}
09d3653
%dir %attr(0755, %{couchdb_user}, root) %{_localstatedir}/run/%{name}
09d3653
%dir %attr(0755, %{couchdb_user}, root) %{_localstatedir}/lib/%{name}
Allisson Azevedo b956a8c
b664041
Allisson Azevedo b956a8c
%changelog
82627d4
* Wed Jan 23 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.0.4-1
82627d4
- Ver. 1.0.4
82627d4
- Fixes CVE-2012-5649, CVE-2012-5650
82627d4
1419f6c
* Mon Aug 15 2011 Kalev Lember <kalevlember@gmail.com> - 1.0.3-2
1419f6c
- Rebuilt for rpm bug #728707
1419f6c
802cdfb
* Thu Jul 21 2011 Peter Lemenkov <lemenkov@gmail.com> - 1.0.3-1
802cdfb
- Ver. 1.0.3
802cdfb
db0a991
* Tue Jul 12 2011 Peter Lemenkov <lemenkov@gmail.com> - 1.0.2-8
db0a991
- Build for EL-5 (see patch99 - quite ugly, I know)
db0a991
09d3653
* Sat Jun 18 2011 Peter Lemenkov <lemenkov@gmail.com> - 1.0.2-7
09d3653
- Requires ibrowse >= 2.2.0 for building
09d3653
- Fixes for /var/run mounted as tmpfs (see rhbz #656565, #712681)
09d3653
eff7d53
* Mon May 30 2011 Peter Lemenkov <lemenkov@gmail.com> - 1.0.2-6
eff7d53
- Patched patch for new js-1.8.5
eff7d53
2e949ee
* Fri May 20 2011 Peter Lemenkov <lemenkov@gmail.com> - 1.0.2-5
2e949ee
- Fixed issue with ibrowse-2.2.0
2e949ee
e787519
* Thu May 19 2011 Peter Lemenkov <lemenkov@gmail.com> - 1.0.2-4
e787519
- Fixed issue with R14B02
e787519
0a82f27
* Thu May  5 2011 Jan Horak <jhorak@redhat.com> - 1.0.2-3
0a82f27
- Added Spidermonkey 1.8.5 patch
0a82f27
5db5a97
* Mon Mar 07 2011 Caolán McNamara <caolanm@redhat.com> 1.0.2-2
5db5a97
- rebuild for icu 4.6
5db5a97
37c7a4c
* Thu Nov 25 2010 Peter Lemenkov <lemenkov@gmail.com> 1.0.2-1
37c7a4c
- Ver. 1.0.2
37c7a4c
- Patches were rebased
5568590
e1d33e6
* Tue Oct 12 2010 Peter Lemenkov <lemenkov@gmail.com> 1.0.1-4
e1d33e6
- Added patches for compatibility with R12B5
e1d33e6
2d10aee
* Mon Oct 11 2010 Peter Lemenkov <lemenkov@gmail.com> 1.0.1-3
2d10aee
- Narrowed list of BuildRequires
2d10aee
d5ccc5f
* Thu Aug 26 2010 Peter Lemenkov <lemenkov@gmail.com> 1.0.1-2
d5ccc5f
- Cleaned up spec-file a bit
d5ccc5f
0cbed4e
* Fri Aug  6 2010 Peter Lemenkov <lemenkov@gmail.com> 1.0.1-1
0cbed4e
- Ver. 1.0.1
0cbed4e
ba00266
* Thu Jul 15 2010 Peter Lemenkov <lemenkov@gmail.com> 1.0.0-1
ba00266
- Ver. 1.0.0
ba00266
c9eed48
* Wed Jul 14 2010 Peter Lemenkov <lemenkov@gmail.com> 0.11.1-1
c9eed48
- Ver. 0.11.1
c9eed48
- Removed patch for compatibility with Erlang/OTP R14A (merged upstream)
c9eed48
acaf139
* Sun Jul 11 2010 Peter Lemenkov <lemenkov@gmail.com> 0.11.0-3
acaf139
- Compatibility with Erlang R14A (see patch9)
acaf139
b664041
* Tue Jun 22 2010 Peter Lemenkov <lemenkov@gmail.com> 0.11.0-2
b664041
- Massive spec cleanup
b664041
b1e3f8a
* Tue Jun 18 2010 Peter Lemenkov <lemenkov@gmail.com> 0.11.0-1
b1e3f8a
- Ver. 0.11.0 (a feature-freeze release candidate)
b1e3f8a
b1e3f8a
* Fri Jun 18 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-13
b1e3f8a
- Remove ldconfig invocation (no system-wide shared libraries)
b1e3f8a
- Removed icu-config requires
b1e3f8a
773f80c
* Tue Jun 15 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-12
773f80c
- Narrow explicit requires
773f80c
bf5b5ff
* Tue Jun  8 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-11
bf5b5ff
- Remove bundled ibrowse library (see rhbz #581282).
bf5b5ff
fc422f3
* Mon Jun  7 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-10
fc422f3
- Use system-wide erlang-mochiweb instead of bundled copy (rhbz #581284)
fc422f3
- Added %%check target and necessary BuildRequires - etap, oauth, mochiweb
fc422f3
185cbcf
* Wed Jun  2 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-9
185cbcf
- Remove pid-file after stopping CouchDB
185cbcf
2ab3f13
* Tue Jun  1 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-8
2ab3f13
- Suppress unneeded message while stopping CouchDB via init-script
2ab3f13
e3873cc
* Mon May 31 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-7
e3873cc
- Do not manually remove pid-file while stopping CouchDB
e3873cc
c7d91a0
* Mon May 31 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-6
c7d91a0
- Fix 'stop' and 'status' targets in the init-script (see rhbz #591026)
c7d91a0
9859a2c
* Thu May 27 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-5
fc422f3
- Use system-wide erlang-etap instead of bundled copy (rhbz #581281)
9859a2c
8bf4cad
* Fri May 14 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-4
fc422f3
- Use system-wide erlang-oauth instead of bundled copy (rhbz #581283)
8bf4cad
182b4e4
* Thu May 13 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-3
182b4e4
- Fixed init-script to use /etc/sysconfig/couchdb values (see rhbz #583004)
182b4e4
- Fixed installation location of beam-files (moved to erlang directory)
182b4e4
be9b74a
* Fri May  7 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-2
be9b74a
- Remove useless BuildRequires
be9b74a
b212fdc
* Fri May  7 2010 Peter Lemenkov <lemenkov@gmail.com> 0.10.2-1
b212fdc
- Update to 0.10.2 (resolves rhbz #578580 and #572176)
b212fdc
- Fixed chkconfig priority (see rhbz #579568)
b212fdc
714b8c9
* Fri Apr 02 2010 Caolán McNamara <caolanm@redhat.com> 0.10.0-3
714b8c9
- rebuild for icu 4.4
714b8c9
Allisson Azevedo d9f8be3
* Thu Oct 15 2009 Allisson Azevedo <allisson@gmail.com> 0.10.0-2
Allisson Azevedo d9f8be3
- Added patch to force init_enabled=true in configure.ac.
Allisson Azevedo d9f8be3
Allisson Azevedo 3ec1934
* Thu Oct 15 2009 Allisson Azevedo <allisson@gmail.com> 0.10.0-1
Allisson Azevedo 3ec1934
- Update to 0.10.0.
Allisson Azevedo 3ec1934
1ff3b93
* Sun Oct 04 2009 Rahul Sundaram <sundaram@fedoraproject.org> 0.9.1-2
1ff3b93
- Change url. Fixes rhbz#525949
1ff3b93
Allisson Azevedo 71ab363
* Thu Jul 30 2009 Allisson Azevedo <allisson@gmail.com> 0.9.1-1
Allisson Azevedo 71ab363
- Update to 0.9.1.
Allisson Azevedo 71ab363
- Drop couchdb-0.9.0-pid.patch.
Allisson Azevedo 71ab363
22aa398
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.0-3
22aa398
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
22aa398
Allisson Azevedo c73af7c
* Tue Apr 21 2009 Allisson Azevedo <allisson@gmail.com> 0.9.0-2
Allisson Azevedo c73af7c
- Fix permission for ini files.
Allisson Azevedo c73af7c
- Fix couchdb.init start process.
Allisson Azevedo c73af7c
Allisson Azevedo 4cccae5
* Tue Apr 21 2009 Allisson Azevedo <allisson@gmail.com> 0.9.0-1
Allisson Azevedo 4cccae5
- Update to 0.9.0.
Allisson Azevedo 4cccae5
Allisson Azevedo b956a8c
* Tue Nov 25 2008 Allisson Azevedo <allisson@gmail.com> 0.8.1-4
Allisson Azevedo b956a8c
- Use /etc/sysconfig for settings.
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
* Tue Nov 25 2008 Allisson Azevedo <allisson@gmail.com> 0.8.1-3
Allisson Azevedo b956a8c
- Fix couchdb_home.
Allisson Azevedo b956a8c
- Added libicu-devel for requires.
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
* Tue Nov 25 2008 Allisson Azevedo <allisson@gmail.com> 0.8.1-2
Allisson Azevedo b956a8c
- Fix spec issues.
Allisson Azevedo b956a8c
Allisson Azevedo b956a8c
* Tue Nov 25 2008 Allisson Azevedo <allisson@gmail.com> 0.8.1-1
Allisson Azevedo b956a8c
- Initial RPM release