--- /dev/null
+#!/bin/sh
+#
+# couchdb Starts CouchDB
+#
+# chkconfig: 2345 84 25
+# description: Apache CouchDB init script
+# pidfile: /var/run/couchdb.pid
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+# defaults
+COUCHDB=/usr/bin/couchdb
+RUN_DIR=/var/run/couchdb
+COUCHDB_USER=root
+
+# Get service config
+if [ -f /etc/sysconfig/couchdb ]; then
+ . /etc/sysconfig/couchdb
+fi
+
+
+start() {
+ # Check if the service is already running?
+ if [ ! -f /var/lock/subsys/couchdb ]; then
+ msg_starting "CouchDB"
+
+ command="$COUCHDB -b -p /var/run/couchdb.pid"
+ #command="$COUCHDB"
+ if test -n "$COUCHDB_STDOUT_FILE"; then
+ command="$command -o $COUCHDB_STDOUT_FILE"
+ fi
+
+ if test -n "$COUCHDB_STDERR_FILE"; then
+ command="$command -e $COUCHDB_STDERR_FILE"
+ fi
+
+ if test -n "$COUCHDB_RESPAWN_TIMEOUT"; then
+ command="$command -r $COUCHDB_RESPAWN_TIMEOUT"
+ fi
+
+ if test -n "$COUCHDB_OPTIONS"; then
+ command="$command $COUCHDB_OPTIONS"
+ fi
+
+ # have pidfile
+ touch /var/run/couchdb.pid && chown $COUCHDB_USER /var/run/couchdb.pid && chmod 660 /var/run/couchdb.pid
+
+ su - $COUCHDB_USER -c "$command > /dev/null"
+
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ touch /var/lock/subsys/couchdb
+ ok
+ else
+ fail
+ fi
+ else
+ msg_already_running "CouchDB"
+ fi
+}
+
+stop() {
+ if [ -f /var/lock/subsys/couchdb ]; then
+ msg_stopping "CouchDB"
+
+ command="$COUCHDB -d -p /var/run/couchdb.pid"
+
+ su - $COUCHDB_USER -c "$command > /dev/null";
+
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ rm -f /var/lock/subsys/couchdb >/dev/null 2>&1
+ ok
+ else
+ fail
+ fi
+
+ else
+ msg_not_running couchdb
+ fi
+}
+
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ status)
+ status couchdb
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|status}"
+ exit 3
+esac
+
+exit $RETVAL
Summary: Apache CouchDB
Name: apache-couchdb
Version: 0.10.0
-Release: 0.2
+Release: 0.3
License: Apache v2.0
Group: Applications
Source0: http://www.apache.org/dist/couchdb/%{version}/%{name}-%{version}.tar.gz
# Source0-md5: 227886b5ecbb6bcbbdc538aac4592b0e
-Patch0: %{name}-init.d.patch
-Patch1: %{name}-aclocal.patch
+Source1: %{name}.init
+Patch0: %{name}-aclocal.patch
URL: http://couchdb.apache.org/
BuildRequires: autoconf >= 2.59
BuildRequires: automake >= 1.6.3
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
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
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
%build
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
%doc AUTHORS BUGS CHANGES NEWS NOTICE README THANKS
%dir %{_sysconfdir}/couchdb
%dir %{_sysconfdir}/couchdb/default.d
-%dir %{_sysconfdir}/couchdb/local.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/couchdb/default.ini
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/couchdb/local.ini
+%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/lib/ibrowse-%{_ibrowsever}
%{_libdir}/couchdb/erlang/lib/ibrowse-%{_ibrowsever}/ebin
-%{_datadir}/couchdb
+%attr(755,couchdb,couchdb) %{_datadir}/couchdb