+# TODO
+# - merge to couchdb/couchdb.spec
+
+%define _mochiwebver r113
+%define _ibrowsever 2.1.2
+
Summary: Apache CouchDB
Name: apache-couchdb
-Version: 0.8.1
+Version: 1.0.2
Release: 0.1
License: Apache v2.0
Group: Applications
-Source0: http://www.apache.org/dist/incubator/couchdb/%{version}-incubating/%{name}-%{version}-incubating.tar.gz
-# Source0-md5: 89e037b370bef33be93f0f317e07615f
-Patch0: %{name}-init.d.patch
-URL: http://incubator.apache.org/couchdb/
+Source0: http://www.apache.org/dist/couchdb/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 7ffbbe0f23f672181c89923c9f7a1de1
+Source1: %{name}.init
+URL: http://couchdb.apache.org/
BuildRequires: autoconf >= 2.59
BuildRequires: automake >= 1.6.3
-BuildRequires: erlang >= 1:R11B
+BuildRequires: curl-devel
+BuildRequires: erlang >= 1:R12B5
BuildRequires: help2man
BuildRequires: js-devel
BuildRequires: libicu-devel
BuildRequires: libtool
+BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.228
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires: erlang >= 1:R11B
+Requires: erlang >= 1:R12B5
+Requires: libicu-devel
+Requires: pkgconfig
# these came from readme, need to check if these are really needed
#Requires: Mozilla-SpiderMonkey
#Requires: gcc
the default view definition language.
%prep
-%setup -q -n %{name}-%{version}-incubating
-%patch0 -p1
+%setup -q
%build
+
%{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure
%{__make}
+
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT%{_docdir}/couchdb
+install -d $RPM_BUILD_ROOT/var/log/couchdb
+
+install -d $RPM_BUILD_ROOT/etc/sysconfig
+mv $RPM_BUILD_ROOT/etc/default/couchdb $RPM_BUILD_ROOT/etc/sysconfig
+
+install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/couchdb
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc AUTHORS BUGS CHANGES NEWS NOTICE README THANKS
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/couchdb/couch.ini
+%dir %{_sysconfdir}/couchdb
+%dir %{_sysconfdir}/couchdb/default.d
+%attr(755,couchdb,couchdb) %{_sysconfdir}/couchdb/default.d
+%attr(755,couchdb,couchdb) %dir %{_sysconfdir}/couchdb/local.d
+%attr(644,couchdb,couchdb) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/couchdb/default.ini
+%attr(644,couchdb,couchdb) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/couchdb/local.ini
# XXX -> sysconfdir
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/default/couchdb
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sysconfig/couchdb
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/couchdb
%attr(754,root,root) /etc/rc.d/init.d/couchdb
+%dir /var/log/couchdb
+%attr(755,couchdb,couchdb) /var/log/couchdb
+
# XXX: sbindir?
%attr(755,root,root) %{_bindir}/couchdb
%attr(755,root,root) %{_bindir}/couchjs
%dir %{_libdir}/couchdb/erlang
%dir %{_libdir}/couchdb/erlang/lib
# XXX: better have unversioned dirs?
-%dir %{_libdir}/couchdb/erlang/lib/couch-%{version}-incubating
-%dir %{_libdir}/couchdb/erlang/lib/couch-%{version}-incubating/ebin
-%{_libdir}/couchdb/erlang/lib/couch-%{version}-incubating/ebin/*.beam
-%{_libdir}/couchdb/erlang/lib/couch-%{version}-incubating/ebin/*.app
+%dir %{_libdir}/couchdb/erlang/lib/couch-%{version}
+%dir %{_libdir}/couchdb/erlang/lib/couch-%{version}/ebin
+%{_libdir}/couchdb/erlang/lib/couch-%{version}/ebin/*.beam
+%{_libdir}/couchdb/erlang/lib/couch-%{version}/ebin/*.app
# XXX check if this include is needed runtime
-%{_libdir}/couchdb/erlang/lib/couch-%{version}-incubating/include/couch_db.hrl
+%dir %{_libdir}/couchdb/erlang/lib/couch-%{version}/include
+%{_libdir}/couchdb/erlang/lib/couch-%{version}/include/couch_db.hrl
+
# XXX: check if .la is needed
-%{_libdir}/couchdb/erlang/lib/couch-%{version}-incubating/priv/lib/couch_erl_driver.la
-%attr(755,root,root) %{_libdir}/couchdb/erlang/lib/couch-%{version}-incubating/priv/lib/couch_erl_driver.so
+%dir %{_libdir}/couchdb/erlang/lib/couch-%{version}/priv
+%{_libdir}/couchdb/erlang/lib/couch-%{version}/priv/couchspawnkillable
+
+%dir %{_libdir}/couchdb/erlang/lib/couch-%{version}/priv/lib
+%{_libdir}/couchdb/erlang/lib/couch-%{version}/priv/lib/couch_icu_driver.la
+%attr(755,root,root) %{_libdir}/couchdb/erlang/lib/couch-%{version}/priv/lib/couch_icu_driver.so
+/usr/lib64/couchdb/erlang/lib/couch-1.0.2/include/couch_js_functions.hrl
+/usr/lib64/couchdb/erlang/lib/couch-1.0.2/priv/stat_descriptions.cfg
+
# XXX: better have unversioned dirs?
-%dir %{_libdir}/couchdb/erlang/lib/mochiweb-r82
-%dir %{_libdir}/couchdb/erlang/lib/mochiweb-r82/ebin
-%{_libdir}/couchdb/erlang/lib/mochiweb-r82/ebin/*.beam
-%{_libdir}/couchdb/erlang/lib/mochiweb-r82/ebin/*.app
-%{_datadir}/couchdb
+%dir %{_libdir}/couchdb/erlang/lib/mochiweb-%{_mochiwebver}
+%dir %{_libdir}/couchdb/erlang/lib/mochiweb-%{_mochiwebver}/ebin
+%{_libdir}/couchdb/erlang/lib/mochiweb-%{_mochiwebver}/ebin/*.beam
+%{_libdir}/couchdb/erlang/lib/mochiweb-%{_mochiwebver}/ebin/*.app
+
+%dir %{_libdir}/couchdb/erlang/lib/etap
+%{_libdir}/couchdb/erlang/lib/etap/ebin
+
+%dir %{_libdir}/couchdb/erlang/lib/erlang-oauth
+%{_libdir}/couchdb/erlang/lib/erlang-oauth/ebin
+
+%dir %{_libdir}/couchdb/erlang/lib/ibrowse-%{_ibrowsever}
+%{_libdir}/couchdb/erlang/lib/ibrowse-%{_ibrowsever}/ebin
+
+%attr(755,couchdb,couchdb) %{_datadir}/couchdb