summaryrefslogtreecommitdiff
path: root/~xihh/couchdb-git
diff options
context:
space:
mode:
Diffstat (limited to '~xihh/couchdb-git')
-rw-r--r--~xihh/couchdb-git/PKGBUILD64
-rw-r--r--~xihh/couchdb-git/couchdb.install22
-rw-r--r--~xihh/couchdb-git/rc-script.patch57
3 files changed, 143 insertions, 0 deletions
diff --git a/~xihh/couchdb-git/PKGBUILD b/~xihh/couchdb-git/PKGBUILD
new file mode 100644
index 000000000..91bb85cbf
--- /dev/null
+++ b/~xihh/couchdb-git/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 61260 2011-12-26 21:33:37Z 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-git
+pkgver=$(date -u +%Y%m%d)
+pkgrel=2
+pkgdesc="A document-oriented database that can be queried and indexed in a MapReduce fashion using JSON"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://couchdb.apache.org"
+license=('APACHE')
+depends=('icu' 'erlang' 'js' 'openssl' 'curl')
+makedepends=('gcc' 'git')
+install=couchdb.install
+options=('!libtool')
+backup=('etc/couchdb/local.ini'
+ 'etc/conf.d/couchdb'
+ 'etc/logrotate.d/couchdb')
+source=("rc-script.patch")
+md5sums=('8a3b1a1ff98a6411827ad991db7a355b')
+
+_gitroot=git://github.com/apache/couchdb.git
+_gitname=couchdb-git
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to GIT server...."
+
+ if [[ -d "$_gitname" ]]; then
+ cd "$_gitname" && git pull origin
+ msg "The local files are updated."
+ else
+ git clone "$_gitroot" "$_gitname"
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting build..."
+
+ rm -rf "$srcdir/$_gitname-build"
+ git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
+ cd "$srcdir/$_gitname-build"
+
+ #
+ # BUILD HERE
+ #
+
+ [ -x configure ] || ./bootstrap
+ sed -i 's|-ljs|-lmozjs185|' configure
+ [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+ patch -R etc/init/couchdb <$srcdir/rc-script.patch
+}
+
+package() {
+ cd "$srcdir/$_gitname-build"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 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
+
+ rm -rf $pkgdir/etc/default/ $pkgdir/var/run
+}
diff --git a/~xihh/couchdb-git/couchdb.install b/~xihh/couchdb-git/couchdb.install
new file mode 100644
index 000000000..5eff459c7
--- /dev/null
+++ b/~xihh/couchdb-git/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/~xihh/couchdb-git/rc-script.patch b/~xihh/couchdb-git/rc-script.patch
new file mode 100644
index 000000000..1dd723ffc
--- /dev/null
+++ b/~xihh/couchdb-git/rc-script.patch
@@ -0,0 +1,57 @@
+--- couchdb 2011-12-27 01:21:59.000000000 +0400
++++ couchdb.my 2011-12-27 01:21:18.000000000 +0400
+@@ -1,6 +1,4 @@
+-#!/bin/bash
+-. /etc/rc.conf
+-. /etc/rc.d/functions
++#!/bin/sh -e
+
+ # 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
+@@ -31,7 +29,7 @@
+ NAME=couchdb
+ SCRIPT_NAME=`basename $0`
+ COUCHDB=/usr/bin/couchdb
+-CONFIGURATION_FILE=/etc/conf.d/couchdb
++CONFIGURATION_FILE=/etc/default/couchdb
+ RUN_DIR=/var/run/couchdb
+ LSB_LIBRARY=/lib/lsb/init-functions
+
+@@ -44,14 +42,16 @@
+ fi
+
+ log_daemon_msg () {
+- stat_busy $@
++ # Dummy function to be replaced by LSB library.
++
++ echo $@
+ }
+
+ log_end_msg () {
++ # Dummy function to be replaced by LSB library.
++
+ if test "$1" != "0"; then
+- stat_fail
+- else
+- stat_done
++ echo "Error with $DESCRIPTION: $NAME"
+ fi
+ return $1
+ }
+@@ -66,7 +66,7 @@
+ command="$command $COUCHDB_OPTIONS"
+ fi
+ if test -n "$COUCHDB_USER"; then
+- if su $COUCHDB_USER -s /bin/bash -c "$command"; then
++ if su $COUCHDB_USER -c "$command"; then
+ return $SCRIPT_OK
+ else
+ return $SCRIPT_ERROR
+@@ -84,7 +84,6 @@
+ # Start Apache CouchDB as a background process.
+
+ mkdir -p "$RUN_DIR"
+- chown -R $COUCHDB_USER "$RUN_DIR"
+ command="$COUCHDB -b"
+ if test -n "$COUCHDB_STDOUT_FILE"; then
+ command="$command -o $COUCHDB_STDOUT_FILE"