diff options
author | root <root@rshg054.dnsready.net> | 2012-02-29 03:34:34 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-02-29 03:34:34 +0000 |
commit | 32b05a621cb20af1bd4b7cd6f5609b7512bb20f1 (patch) | |
tree | 60ba7e9c94b5ea69643a2022cd2ff890958da0f9 /community-staging/mongodb | |
parent | 1f567a9d58d16b76320168f0624aa55bd6320284 (diff) |
Wed Feb 29 03:34:34 UTC 2012
Diffstat (limited to 'community-staging/mongodb')
-rw-r--r-- | community-staging/mongodb/PKGBUILD | 73 | ||||
-rw-r--r-- | community-staging/mongodb/mongodb.conf | 8 | ||||
-rw-r--r-- | community-staging/mongodb/mongodb.install | 32 | ||||
-rw-r--r-- | community-staging/mongodb/mongodb.rc | 39 |
4 files changed, 152 insertions, 0 deletions
diff --git a/community-staging/mongodb/PKGBUILD b/community-staging/mongodb/PKGBUILD new file mode 100644 index 000000000..1fa75aa93 --- /dev/null +++ b/community-staging/mongodb/PKGBUILD @@ -0,0 +1,73 @@ +# $Id: PKGBUILD 66732 2012-02-27 20:48:16Z tdziedzic $ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: Mathias Stearn <mathias@10gen.com> +# Contributor: Alec Thomas + +pkgname=mongodb +pkgver=2.0.2 +pkgrel=2 +pkgdesc='A high-performance, open source, schema-free document-oriented database.' +arch=('i686' 'x86_64') +url='http://www.mongodb.org' +license=('AGPL3') +depends=('boost-libs') +makedepends=('scons' 'boost') +#checkdepends=('python2-pymongo') +optdepends=('libpcap: needed for mongosniff') +backup=('etc/mongodb.conf') +install="mongodb.install" +source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz" + 'mongodb.rc' + 'mongodb.conf') +md5sums=('5dcf819249955a3e9cc61a341e45403a' + '9c67e00f4626ad761a8f7d4e037a54d7' + '4839fe1d638187ca3226e8267b947318') + +build() { + export SCONSFLAGS="$MAKEFLAGS" + + cd mongodb-src-r${pkgver} + + # fix python name for smoke tests + sed \ + -e 's/python/&2/' \ + -i SConstruct + + scons \ + all \ + --full +} + +<<COMMENT +check() { + export SCONSFLAGS="$MAKEFLAGS" + + cd mongodb-src-r${pkgver} + + scons \ + smokeAll \ + --smokedbprefix=${srcdir} +} +COMMENT + +package() { + export SCONSFLAGS="$MAKEFLAGS" + + cd mongodb-src-r${pkgver} + + scons \ + install \ + --full \ + --prefix=${pkgdir}/usr + + install -D -m755 ${srcdir}/mongodb.rc \ + ${pkgdir}/etc/rc.d/mongodb + install -D -m644 ${srcdir}/mongodb.conf \ + ${pkgdir}/etc/mongodb.conf + install -d -m700 ${pkgdir}/var/lib/mongodb + install -d -m755 ${pkgdir}/var/log/mongodb + + if [ -d ${pkgdir}/usr/lib64 ]; then + mv ${pkgdir}/usr/lib64 ${pkgdir}/usr/lib + fi +} diff --git a/community-staging/mongodb/mongodb.conf b/community-staging/mongodb/mongodb.conf new file mode 100644 index 000000000..c5272b7f2 --- /dev/null +++ b/community-staging/mongodb/mongodb.conf @@ -0,0 +1,8 @@ +# See http://www.mongodb.org/display/DOCS/File+Based+Configuration for format details +# Run mongod --help to see a list of options + +bind_ip = 127.0.0.1 +quiet = true +dbpath = /var/lib/mongodb +logpath = /var/log/mongodb/mongod.log +logappend = true diff --git a/community-staging/mongodb/mongodb.install b/community-staging/mongodb/mongodb.install new file mode 100644 index 000000000..3922c12ef --- /dev/null +++ b/community-staging/mongodb/mongodb.install @@ -0,0 +1,32 @@ +# vim: syntax=sh + +post_install() { + useradd -r -g daemon -d /var/lib/mongodb -s /bin/bash mongodb + chown -R mongodb:daemon /var/lib/mongodb + chown -R mongodb:daemon /var/log/mongodb + + if [ "$(arch)" != "x86_64" ] + then + echo '==> Warning: the 32 bit version of MongoDB is limited to about 2GB of data.' + echo '==> See http://blog.mongodb.org/post/137788967/32-bit-limitations' + fi +} + +post_upgrade() { + chown -R mongodb:daemon /var/lib/mongodb + chown -R mongodb:daemon /var/log/mongodb + + if [ "$(vercmp $2 1.8.2-3)" -lt 0 ] + then + # have to fix my fudge up in 1.8.2-2 and 1.8.2-3 + # added july 5th, 2011 + usermod -s /bin/bash mongodb >& /dev/null + echo 'The dbpath has changed from /var/state/mongodb to /var/lib/mongodb' + echo 'Make sure you move your data files to the new dbpath before you start/restart mongodb' + echo 'The logpath has changed from /var/log/mongod to /var/log/mongodb/mongod.log' + fi +} + +pre_remove() { + userdel mongodb +} diff --git a/community-staging/mongodb/mongodb.rc b/community-staging/mongodb/mongodb.rc new file mode 100644 index 000000000..30f2bbf79 --- /dev/null +++ b/community-staging/mongodb/mongodb.rc @@ -0,0 +1,39 @@ +#!/bin/bash +# vim: syntax=sh + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=$(pidof /usr/bin/mongod) +case "$1" in + start) + stat_busy "Starting mongodb" + [ -z "$PID" ] && /bin/su mongodb -c "/usr/bin/mongod --config /etc/mongodb.conf --fork" > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon mongodb + stat_done + fi + ;; + stop) + stat_busy "Stopping mongodb" + [ ! -z "$PID" ] && /bin/su mongodb -c "/usr/bin/mongod --config /etc/mongodb.conf --shutdown" &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon mongodb + while [ ! -z "$(pidof /usr/bin/mongod)" ]; do + sleep 1; + done + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 |