diff options
Diffstat (limited to '~xihh/couchdb-git')
-rw-r--r-- | ~xihh/couchdb-git/PKGBUILD | 64 | ||||
-rw-r--r-- | ~xihh/couchdb-git/couchdb.install | 22 | ||||
-rw-r--r-- | ~xihh/couchdb-git/rc-script.patch | 57 |
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" |