summaryrefslogtreecommitdiff
path: root/community/couchdb
diff options
context:
space:
mode:
Diffstat (limited to 'community/couchdb')
-rw-r--r--community/couchdb/PKGBUILD48
-rw-r--r--community/couchdb/couchdb.install22
-rw-r--r--community/couchdb/couchdb.service12
-rw-r--r--community/couchdb/couchdb.tmpfiles1
4 files changed, 83 insertions, 0 deletions
diff --git a/community/couchdb/PKGBUILD b/community/couchdb/PKGBUILD
new file mode 100644
index 000000000..9ea90c437
--- /dev/null
+++ b/community/couchdb/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 93137 2013-06-25 15:46:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua
+# Contributor: Michael Fellinger <m.fellinger@gmail.com>
+
+pkgname=couchdb
+pkgver=1.4.0pre
+pkgrel=1
+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-nox' 'js185' 'openssl' 'curl')
+makedepends=('autoconf-archive' 'git')
+install=couchdb.install
+options=('!libtool')
+backup=('etc/couchdb/local.ini'
+ 'etc/conf.d/couchdb'
+ 'etc/logrotate.d/couchdb')
+#source=("http://www.sai.msu.su/apache/couchdb/source/$pkgver/apache-couchdb-$pkgver.tar.gz"{,.asc}
+source=("git://github.com/apache/couchdb.git#commit=8d7ab8b18dd20f8785e69f4420c6f93a2edbfa60"
+ "couchdb.service"
+ "couchdb.tmpfiles")
+md5sums=('SKIP'
+ '8914a7ffc6745f94106d96206709acb4'
+ '1e254ebe32eeb061be64193bafa35dbf')
+
+build() {
+ cd "$srcdir/couchdb"
+ ./bootstrap
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ cd "$srcdir/couchdb"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 etc/default/couchdb $pkgdir/etc/conf.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
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/couchdb/couchdb.install b/community/couchdb/couchdb.install
new file mode 100644
index 000000000..5eff459c7
--- /dev/null
+++ b/community/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/couchdb/couchdb.service b/community/couchdb/couchdb.service
new file mode 100644
index 000000000..50284f4c3
--- /dev/null
+++ b/community/couchdb/couchdb.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=CouchDB Server
+
+[Service]
+User=couchdb
+Type=forking
+PermissionsStartOnly=true
+ExecStart=/usr/bin/couchdb -b -o /dev/null -e /dev/null
+ExecStop=/usr/bin/couchdb -d
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/couchdb/couchdb.tmpfiles b/community/couchdb/couchdb.tmpfiles
new file mode 100644
index 000000000..de4378746
--- /dev/null
+++ b/community/couchdb/couchdb.tmpfiles
@@ -0,0 +1 @@
+d /run/couchdb 0755 couchdb daemon -