diff options
Diffstat (limited to 'community/couchdb')
-rw-r--r-- | community/couchdb/PKGBUILD | 48 | ||||
-rw-r--r-- | community/couchdb/couchdb.install | 22 | ||||
-rw-r--r-- | community/couchdb/couchdb.service | 12 | ||||
-rw-r--r-- | community/couchdb/couchdb.tmpfiles | 1 |
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 - |