[SM-Commit] GIT changes to master grimoire by Vlad Glagolev (4111c45b459b24625cc07cf42d7c864aef1be810)

Vlad Glagolev scm at sourcemage.org
Tue Dec 7 13:37:30 EST 2010


GIT changes to master grimoire by Vlad Glagolev <stealth at sourcemage.org>:

 ChangeLog                            |    2 ++
 database/mongodb/BUILD               |    3 +++
 database/mongodb/DEPENDS             |    5 +++++
 database/mongodb/DETAILS             |   31 +++++++++++++++++++++++++++++++
 database/mongodb/HISTORY             |    3 +++
 database/mongodb/INSTALL             |    8 ++++++++
 database/mongodb/PRE_BUILD           |    4 ++++
 database/mongodb/init.d/mongodb      |   21 +++++++++++++++++++++
 database/mongodb/init.d/mongodb.conf |    3 +++
 database/mongodb/scons.patch         |   21 +++++++++++++++++++++
 10 files changed, 101 insertions(+)

New commits:
commit 4111c45b459b24625cc07cf42d7c864aef1be810
Author: Vlad Glagolev <stealth at sourcemage.org>
Commit: Vlad Glagolev <stealth at sourcemage.org>

    mongodb: new spell, high-performance, schema-free document-oriented database

diff --git a/ChangeLog b/ChangeLog
index e921113..9429db4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,6 @@
 2010-12-07 Vlad Glagolev <stealth at sourcemage.org>
+	* database/mongodb: new spell, high-performance, schema-free
+	  document-oriented database
 	* php-pear/mongo: new spell, MongoDB database driver for PHP
 
 2010-12-06 Ismael Luceno <ismael at sourcemage.org>
diff --git a/database/mongodb/BUILD b/database/mongodb/BUILD
new file mode 100755
index 0000000..a10f43f
--- /dev/null
+++ b/database/mongodb/BUILD
@@ -0,0 +1,3 @@
+create_account mongodb &&
+
+scons --jobs=$MAKE_NJOBS --prefix="$INSTALL_ROOT/usr" $OPTS
diff --git a/database/mongodb/DEPENDS b/database/mongodb/DEPENDS
new file mode 100755
index 0000000..54282c2
--- /dev/null
+++ b/database/mongodb/DEPENDS
@@ -0,0 +1,5 @@
+depends g++ &&
+depends scons &&
+depends readline &&
+depends spidermonkey '--usesm' &&
+depends -sub "THREAD FILESYSTEM PROGRAM_OPTIONS" boost
diff --git a/database/mongodb/DETAILS b/database/mongodb/DETAILS
new file mode 100755
index 0000000..bb9841f
--- /dev/null
+++ b/database/mongodb/DETAILS
@@ -0,0 +1,31 @@
+           SPELL=mongodb
+         VERSION=1.6.4
+          SOURCE=$SPELL-src-r$VERSION.tar.gz
+   SOURCE_URL[0]=http://downloads.mongodb.org/src/$SOURCE
+     SOURCE_HASH=sha512:7cc9c40e6bcf0cb8bf185a2c2d52fce9e25475131ca9f5ad755b343d577a772025614705d0f0a575e35783b4fe7d32fd6329641de149650b10168ad43b32f4aa
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-src-r$VERSION"
+      LICENSE[0]=AGPL
+      LICENSE[1]=APACHE
+        WEB_SITE=http://www.mongodb.org/
+         ENTERED=20101207
+        KEYWORDS="nosql database"
+           SHORT="high-performance, schema-free document-oriented database"
+cat << EOF
+MongoDB bridges the gap between key-value stores (which are fast and highly
+scalable) and traditional RDBMS systems (which provide rich queries and deep
+functionality).
+
+MongoDB (from "humongous") is a scalable, high-performance, open source,
+document-oriented database. Written in C++, MongoDB features:
+
+* Document-oriented storage: JSON-style documents with dynamic schemas offer
+  simplicity and power.
+* Full Index Support: index on any attribute, just like you're used to.
+* Replication & High Availability: mirror across LANs and WANs for scale and
+  peace of mind.
+* Auto-Sharding: scale horizontally without compromising functionality.
+* Querying: rich, document-based queries.
+* Fast In-Place Updates: atomic modifiers for contention-free performance.
+* Map/Reduce: flexible aggregation and data processing.
+* GridFS: store files of any size without complicating your stack.
+EOF
diff --git a/database/mongodb/HISTORY b/database/mongodb/HISTORY
new file mode 100644
index 0000000..c9c78a7
--- /dev/null
+++ b/database/mongodb/HISTORY
@@ -0,0 +1,3 @@
+2010-12-07 Vlad Glagolev <stealth at sourcemage.org>
+	* {PRE_}BUILD, DEPENDS, DETAILS, INSTALL, init.d/mongodb{.conf},
+	  scons.patch: spell created
diff --git a/database/mongodb/INSTALL b/database/mongodb/INSTALL
new file mode 100755
index 0000000..50a5204
--- /dev/null
+++ b/database/mongodb/INSTALL
@@ -0,0 +1,8 @@
+scons --prefix="$INSTALL_ROOT/usr" --full install &&
+
+if [[ $INIT_INSTALLED ]]; then
+  install_config_file "$SPELL_DIRECTORY/init.d/mongodb.conf" \
+                      "$INSTALL_ROOT/etc/sysconfig/mongodb"
+fi &&
+
+install -d -o mongodb -g mongodb -vm 755 "$INSTALL_ROOT/var/run/mongod"
diff --git a/database/mongodb/PRE_BUILD b/database/mongodb/PRE_BUILD
new file mode 100755
index 0000000..34f9943
--- /dev/null
+++ b/database/mongodb/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+
+patch -p0 < "$SPELL_DIRECTORY/scons.patch"
diff --git a/database/mongodb/init.d/mongodb b/database/mongodb/init.d/mongodb
new file mode 100755
index 0000000..635dd6e
--- /dev/null
+++ b/database/mongodb/init.d/mongodb
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+. /etc/sysconfig/mongodb
+
+PROGRAM=/usr/bin/mongod
+ARGS="-f /etc/mongodb.conf --pidfilepath /var/run/mongod/mongod.pid --fork $MONGOD_ARGS"
+RUNLEVEL=3
+PIDFILE=/var/run/mongod/mongod.pid
+NEEDS="+network"
+
+start() {
+  echo "Starting $NAME..."
+
+  # needs C locale on startup
+  export LC_ALL="C"
+
+  su mongodb -s /bin/sh -c "$PROGRAM $ARGS"
+  evaluate_retval
+}
+
+. /etc/init.d/smgl_init
diff --git a/database/mongodb/init.d/mongodb.conf b/database/mongodb/init.d/mongodb.conf
new file mode 100644
index 0000000..b3a4479
--- /dev/null
+++ b/database/mongodb/init.d/mongodb.conf
@@ -0,0 +1,3 @@
+# For the arguments and description see ``mongod --help''
+
+MONGOD_ARGS=""
diff --git a/database/mongodb/scons.patch b/database/mongodb/scons.patch
new file mode 100644
index 0000000..d7cdc83
--- /dev/null
+++ b/database/mongodb/scons.patch
@@ -0,0 +1,21 @@
+--- SConstruct.orig
++++ SConstruct
+@@ -745,8 +745,7 @@
+ 
+ if nix:
+     env.Append( CPPFLAGS="-fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch" )
+-    if linux:
+-        env.Append( CPPFLAGS=" -Werror " )
++    env.Append( CXXFLAGS=os.environ['CXXFLAGS'])
+     env.Append( CXXFLAGS=" -Wnon-virtual-dtor " )
+     env.Append( LINKFLAGS=" -fPIC -pthread -rdynamic" )
+     env.Append( LIBS=[] )
+@@ -757,8 +756,6 @@
+     if debugBuild:
+         env.Append( CPPFLAGS=" -O0 -fstack-protector " );
+         env['ENV']['GLIBCXX_FORCE_NEW'] = 1; # play nice with valgrind
+-    else:
+-        env.Append( CPPFLAGS=" -O3" )
+ 
+     if debugLogging:
+         env.Append( CPPFLAGS=" -D_DEBUG" );



More information about the SM-Commit mailing list