summaryrefslogtreecommitdiff
path: root/community-testing/couchdb
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-07-06 23:10:44 +0000
committerroot <root@rshg047.dnsready.net>2011-07-06 23:10:44 +0000
commitb215b5e985b9310dff8d992510f12a87141fe7cb (patch)
treebc81c9c0c02ab9a4d6ee15e553850141b8d46f94 /community-testing/couchdb
parent9d2caacbc33de06407311a5da87e5d22e0266435 (diff)
Wed Jul 6 23:10:44 UTC 2011
Diffstat (limited to 'community-testing/couchdb')
-rw-r--r--community-testing/couchdb/PKGBUILD46
-rw-r--r--community-testing/couchdb/couchdb.install22
-rw-r--r--community-testing/couchdb/rc-script.patch90
3 files changed, 158 insertions, 0 deletions
diff --git a/community-testing/couchdb/PKGBUILD b/community-testing/couchdb/PKGBUILD
new file mode 100644
index 000000000..6d4d6d171
--- /dev/null
+++ b/community-testing/couchdb/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 51045 2011-07-04 15:16:10Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua
+# Previous Contributor: Michael Fellinger <m.fellinger@gmail.com>
+
+pkgname=couchdb
+pkgver=1.1.0
+pkgrel=1.svn20110704
+pkgdesc="A document-oriented database that can be queried and indexed in a MapReduce fashion using JSON"
+arch=('i686' 'x86_64')
+url="http://couchdb.apache.org"
+license=('APACHE')
+depends=('icu' 'erlang' 'js' 'openssl' 'curl')
+makedepends=('gcc')
+install=couchdb.install
+options=('!libtool')
+backup=('etc/couchdb/local.ini'
+ 'etc/conf.d/couchdb'
+ 'etc/logrotate.d/couchdb')
+#source=("http://www.apache.org/dist/$pkgname/$pkgver/apache-$pkgname-$pkgver.tar.gz"
+source=("http://arch.p5n.pp.ru/~sergej/dl/apache-couchdb-$pkgver.svn20110704.tar.gz"
+ "rc-script.patch")
+md5sums=('a961f9047aa34df56ef19d6f6dce083b'
+ 'e9b5595338efbdc1a5db13284a296612')
+
+build() {
+ cd "$srcdir/apache-$pkgname-$pkgver"
+
+ sed -i 's|-ljs|-lmozjs185|' configure
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+ patch etc/init/couchdb <$srcdir/rc-script.patch
+}
+
+package() {
+ cd "$srcdir/apache-$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm755 etc/default/couchdb $pkgdir/etc/conf.d/couchdb
+ sed -i 's|\(CONFIGURATION_FILE=/etc/\)default\(/couchdb\)|\1conf.d\2|' $pkgdir/etc/rc.d/couchdb
+ sed -i 's|\(COUCHDB_OPTIONS=\)|\1"-p /var/run/couchdb/couchdb.pid"|' $pkgdir/etc/conf.d/couchdb
+ sed -i 's|$COUCHDB -s|$COUCHDB $COUCHDB_OPTIONS -s|' $pkgdir/etc/rc.d/couchdb
+ sed -i 's|su $COUCHDB_USER -c|su $COUCHDB_USER -s /bin/bash -c|' $pkgdir/etc/rc.d/couchdb
+
+ rm -rf $pkgdir/etc/default/ $pkgdir/var/run
+}
diff --git a/community-testing/couchdb/couchdb.install b/community-testing/couchdb/couchdb.install
new file mode 100644
index 000000000..5eff459c7
--- /dev/null
+++ b/community-testing/couchdb/couchdb.install
@@ -0,0 +1,22 @@
+post_install() {
+ id couchdb &>/dev/null || \
+ useradd -r -c "CouchDB daemon" -g daemon -d /var/lib/couchdb -s /bin/false couchdb
+ mkdir -p /var/run/couchdb
+ chown -R couchdb.daemon /etc/couchdb
+ chown -R couchdb.daemon /var/{lib,log,run}/couchdb
+}
+
+pre_upgrade() {
+ id couchdb &>/dev/null || \
+ useradd -r -c "CouchDB daemon" -g daemon -d /var/lib/couchdb -s /bin/false couchdb
+}
+
+post_upgrade() {
+ mkdir -p $pkgdir/var/run/couchdb
+ chown -R couchdb.daemon /etc/couchdb
+ chown -R couchdb.daemon /var/{lib,log,run}/couchdb
+}
+
+post_remove() {
+ userdel couchdb &>/dev/null
+}
diff --git a/community-testing/couchdb/rc-script.patch b/community-testing/couchdb/rc-script.patch
new file mode 100644
index 000000000..d38f4dc6c
--- /dev/null
+++ b/community-testing/couchdb/rc-script.patch
@@ -0,0 +1,90 @@
+--- couchdb.org 2011-04-01 19:56:32.000000000 +0000
++++ couchdb 2011-04-01 19:59:17.000000000 +0000
+@@ -1,4 +1,7 @@
+-#!/bin/sh -e
++#!/bin/bash
++#general config
++. /etc/rc.conf
++. /etc/rc.d/functions
+
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ # use this file except in compliance with the License. You may obtain a copy of
+@@ -29,7 +32,7 @@
+ NAME=couchdb
+ SCRIPT_NAME=`basename $0`
+ COUCHDB=/usr/bin/couchdb
+-CONFIGURATION_FILE=/etc/default/couchdb
++CONFIGURATION_FILE=/etc/conf.d/couchdb
+ RUN_DIR=/var/run/couchdb
+ LSB_LIBRARY=/lib/lsb/init-functions
+
+@@ -61,8 +63,9 @@
+ fi
+
+ start_couchdb () {
+- # Start Apache CouchDB as a background process.
++ stat_busy "Starting the CouchDB daemon"
+
++ [ -d /var/run/couchdb ] || mkdir -p /var/run/couchdb
+ command="$COUCHDB -b"
+ if test -n "$COUCHDB_STDOUT_FILE"; then
+ command="$command -o $COUCHDB_STDOUT_FILE"
+@@ -79,38 +82,38 @@
+ mkdir -p "$RUN_DIR"
+ if test -n "$COUCHDB_USER"; then
+ chown $COUCHDB_USER "$RUN_DIR"
+- if su $COUCHDB_USER -c "$command" > /dev/null; then
+- return $SCRIPT_OK
++ if su $COUCHDB_USER -s /bin/bash -c "$command" > /dev/null; then
++ stat_done
+ else
+- return $SCRIPT_ERROR
++ stat_fail
+ fi
+ else
+ if $command > /dev/null; then
+- return $SCRIPT_OK
++ stat_done
+ else
+- return $SCRIPT_ERROR
++ stat_fail
+ fi
+ fi
+ }
+
+ stop_couchdb () {
+- # Stop the running Apache CouchDB process.
++ stat_busy "Stopping the CouchDB daemon"
+
+ command="$COUCHDB -d"
+ if test -n "$COUCHDB_OPTIONS"; then
+ command="$command $COUCHDB_OPTIONS"
+ fi
+ if test -n "$COUCHDB_USER"; then
+- if su $COUCHDB_USER -c "$command" > /dev/null; then
+- return $SCRIPT_OK
++ if su $COUCHDB_USER -s /bin/bash -c "$command" > /dev/null; then
++ stat_done
+ else
+- return $SCRIPT_ERROR
++ stat_fail
+ fi
+ else
+ if $command > /dev/null; then
+- return $SCRIPT_OK
++ stat_done
+ else
+- return $SCRIPT_ERROR
++ stat_fail
+ fi
+ fi
+ }
+@@ -118,7 +121,7 @@
+ display_status () {
+ # Display the status of the running Apache CouchDB process.
+
+- $COUCHDB -s
++ $COUCHDB $COUCHDB_OPTIONS -s
+ }
+
+ parse_script_option_list () {