diff options
Diffstat (limited to 'community/mongodb')
-rw-r--r-- | community/mongodb/PKGBUILD | 82 | ||||
-rw-r--r-- | community/mongodb/SConscript.client.patch | 13 | ||||
-rw-r--r-- | community/mongodb/mongodb.conf | 8 | ||||
-rw-r--r-- | community/mongodb/mongodb.install | 32 | ||||
-rw-r--r-- | community/mongodb/mongodb.service | 10 | ||||
-rw-r--r-- | community/mongodb/removeWerror.patch | 21 |
6 files changed, 166 insertions, 0 deletions
diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD new file mode 100644 index 000000000..0f935a956 --- /dev/null +++ b/community/mongodb/PKGBUILD @@ -0,0 +1,82 @@ +# $Id: PKGBUILD 94033 2013-07-13 12:34:05Z svenstaro $ +# Maintainer: Felix Yan <felixonmars@gmail.com> +# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Thomas Dziedzic < gostrc at gmail > +# Contributor: Mathias Stearn <mathias@10gen.com> +# Contributor: Alec Thomas + +pkgname=mongodb +pkgver=2.4.5 +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' 'pcre' 'snappy' 'openssl' 'gperftools') # 'v8') doesn't work +makedepends=('scons' 'boost' 'readline' 'ncurses' 'libpcap') # 'cyrus-sasl') doesn't work +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.conf' 'mongodb.service' 'removeWerror.patch') + +build() { + # fucking mongo aint no fun to package + export SCONSFLAGS="$MAKEFLAGS" + + cd mongodb-src-r${pkgver} + + # failed to build with -Werror since 2.4.0 + patch -Np1 -i "$srcdir/removeWerror.patch" + + scons all \ + --use-system-boost \ + --use-system-pcre \ + --use-system-snappy \ + --use-system-tcmalloc \ + --ssl \ + --sharedclient + # --use-sasl-client doesn't work + # --use-system-v8 doesn't work +} + +<<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 \ + --use-system-boost \ + --use-system-pcre \ + --use-system-snappy \ + --use-system-tcmalloc \ + --ssl \ + --sharedclient \ + --full \ + --prefix="$pkgdir/usr" + # --use-sasl-client doesn't work + # --use-system-v8 doesn't work + + rm "$pkgdir/usr/lib/libmongoclient.a" + + install -Dm644 "$srcdir/mongodb.conf" "$pkgdir/etc/mongodb.conf" + install -Dm644 "$srcdir/mongodb.service" "$pkgdir/usr/lib/systemd/system/mongodb.service" + install -dm700 "$pkgdir/var/lib/mongodb" + install -dm755 "$pkgdir/var/log/mongodb" +} + +sha512sums=('07a46770c5acc0e046750e0299e669b934f6093705f5979bc5fa8bb56e73761f9602a5bdbaaad688700e4dde32d1e5f48a6cf3763ffab4d80a47f0158d8fb89e' + '05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c' + '177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9' + 'e709f76fa71a10d6b72d2eeae65d715e0a0a7e6cb93704114f22db8662d7102de77bd1e6706049351beb159aaa04548cfe4b14fe6ee498a166c5ad54c8275f84') diff --git a/community/mongodb/SConscript.client.patch b/community/mongodb/SConscript.client.patch new file mode 100644 index 000000000..f289d18da --- /dev/null +++ b/community/mongodb/SConscript.client.patch @@ -0,0 +1,13 @@ +diff --git a/src/SConscript.client b/src/SConscript.client +index 7a6bdc9..3fb55e5 100644 +--- a/src/SConscript.client ++++ b/src/SConscript.client +@@ -134,7 +134,7 @@ env.Install( + # install + prefix = GetOption("prefix") + +-env.Install(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}') ++env.InstallAs(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}') + + for x in clientHeaderDirectories: + env.Install(prefix + "/include/mongo/" + x, diff --git a/community/mongodb/mongodb.conf b/community/mongodb/mongodb.conf new file mode 100644 index 000000000..c5272b7f2 --- /dev/null +++ b/community/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/mongodb/mongodb.install b/community/mongodb/mongodb.install new file mode 100644 index 000000000..2ea94553c --- /dev/null +++ b/community/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 [ "$(uname -m)" != "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/mongodb/mongodb.service b/community/mongodb/mongodb.service new file mode 100644 index 000000000..78d551183 --- /dev/null +++ b/community/mongodb/mongodb.service @@ -0,0 +1,10 @@ +[Unit] +Description=High-performance, schema-free document-oriented database +After=network.target + +[Service] +User=mongodb +ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf + +[Install] +WantedBy=multi-user.target diff --git a/community/mongodb/removeWerror.patch b/community/mongodb/removeWerror.patch new file mode 100644 index 000000000..dd96084da --- /dev/null +++ b/community/mongodb/removeWerror.patch @@ -0,0 +1,21 @@ +--- a/SConstruct 2013-03-16 02:59:55.000000000 +0800 ++++ b/SConstruct 2013-03-20 10:55:20.009645869 +0800 +@@ -692,7 +692,7 @@ + "-Winvalid-pch"] ) + # env.Append( " -Wconversion" ) TODO: this doesn't really work yet + if linux: +- env.Append( CCFLAGS=["-Werror", "-pipe"] ) ++ env.Append( CCFLAGS=["-pipe"] ) + if not has_option('clang'): + env.Append( CCFLAGS=["-fno-builtin-memcmp"] ) # glibc's memcmp is faster than gcc's + +--- a/src/third_party/v8/SConscript 2013-04-17 03:21:23.000000000 +0800 ++++ b/src/third_party/v8/SConscript 2013-04-18 17:41:29.878618892 +0800 +@@ -47,7 +47,6 @@ + 'gcc': { + 'all': { + 'CCFLAGS': ['-Wall', +- '-Werror', + '-W', + '-Wno-unused-parameter', + '-Woverloaded-virtual', |