summaryrefslogtreecommitdiff
path: root/community-staging/mongodb
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-02-29 03:34:34 +0000
committerroot <root@rshg054.dnsready.net>2012-02-29 03:34:34 +0000
commit32b05a621cb20af1bd4b7cd6f5609b7512bb20f1 (patch)
tree60ba7e9c94b5ea69643a2022cd2ff890958da0f9 /community-staging/mongodb
parent1f567a9d58d16b76320168f0624aa55bd6320284 (diff)
Wed Feb 29 03:34:34 UTC 2012
Diffstat (limited to 'community-staging/mongodb')
-rw-r--r--community-staging/mongodb/PKGBUILD73
-rw-r--r--community-staging/mongodb/mongodb.conf8
-rw-r--r--community-staging/mongodb/mongodb.install32
-rw-r--r--community-staging/mongodb/mongodb.rc39
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