diff options
author | ale <ale@FreeBSD.org> | 2013-03-29 16:56:13 +0800 |
---|---|---|
committer | ale <ale@FreeBSD.org> | 2013-03-29 16:56:13 +0800 |
commit | 151708748891eda82908c331d367e5feb5dd8343 (patch) | |
tree | 6f87c1c82c1e497b2b3d31d3b77b31dab36589e9 /databases | |
parent | a012f372d86478810b5759077c5ba547fafc53fd (diff) | |
download | freebsd-ports-gnome-151708748891eda82908c331d367e5feb5dd8343.tar.gz freebsd-ports-gnome-151708748891eda82908c331d367e5feb5dd8343.tar.zst freebsd-ports-gnome-151708748891eda82908c331d367e5feb5dd8343.zip |
Update to 2.4.1 release and overhaul:
- use bundled boost lib, since 1.52 from ports make mongod segfaulting
- set LICENSE
- use V8 Javascript engine by default (SM still an option, deprecated)
- make SSL optional (ON by default)
- add support for running regression tests
- enhance rc script
- add support for ccache
- install c++ driver / client library
- take maintainership
Approved by: maintainer timeout (> 6 months)
Diffstat (limited to 'databases')
-rw-r--r-- | databases/mongodb/Makefile | 58 | ||||
-rw-r--r-- | databases/mongodb/distinfo | 4 | ||||
-rw-r--r-- | databases/mongodb/files/mongod.in | 64 | ||||
-rw-r--r-- | databases/mongodb/files/patch-SConstruct | 93 | ||||
-rw-r--r-- | databases/mongodb/files/patch-boost-1.52 | 215 | ||||
-rw-r--r-- | databases/mongodb/files/patch-src_mongo_SConscript | 29 | ||||
-rw-r--r-- | databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.cpp | 11 | ||||
-rw-r--r-- | databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.h | 11 | ||||
-rw-r--r-- | databases/mongodb/files/patch-src_mongo_util_net_ssl_manager.cpp | 20 | ||||
-rw-r--r-- | databases/mongodb/pkg-plist | 208 |
10 files changed, 318 insertions, 395 deletions
diff --git a/databases/mongodb/Makefile b/databases/mongodb/Makefile index 081058d5e320..0b49ac54c966 100644 --- a/databases/mongodb/Makefile +++ b/databases/mongodb/Makefile @@ -2,29 +2,35 @@ # $FreeBSD$ PORTNAME= mongodb -PORTVERSION= 2.2.3 +PORTVERSION= 2.4.1 CATEGORIES= databases net MASTER_SITES= http://downloads.mongodb.org/src/ DISTNAME= ${PORTNAME}-src-r${PORTVERSION} -MAINTAINER= mail@derzinn.de +MAINTAINER= ale@FreeBSD.org COMMENT= NOSQL distributed document-oriented database -LIB_DEPENDS= boost_system:${PORTSDIR}/devel/boost-libs \ - execinfo.1:${PORTSDIR}/devel/libexecinfo \ - nspr4:${PORTSDIR}/devel/nspr \ +# mongodb is AGPLv3, C++ driver is AL2 +LICENSE= AGPLv3 AL2 +LICENSE_COMB= multi + +LIB_DEPENDS= execinfo:${PORTSDIR}/devel/libexecinfo \ pcre:${PORTSDIR}/devel/pcre \ snappy:${PORTSDIR}/archivers/snappy +# boost 1.52 from ports make mongod segfaulting with many tests +# LIB_DEPENDS+= boost_system:${PORTSDIR}/devel/boost-libs +# SCONS_ARGS+= --use-system-boost ONLY_FOR_ARCHS= i386 amd64 ONLY_FOR_ARCHS_REASON= "not yet ported to anything other than i386 and amd64" -OPTIONS_DEFINE= V8 -V8_DESC= Use v8 instead of spider monkey for javascript +OPTIONS_DEFINE= SM SSL TEST +OPTIONS_DEFAULT=SSL +SM_DESC= Use SpiderMonkey instead of V8 for JavaScript +TEST_DESC= Add support for running regression test USE_SCONS= yes -SCONS_TARGET= all -SCONS_ARGS= --prefix=${PREFIX} --cxx=${CXX} --cpp=${CPP} --use-system-all --ssl +SCONS_ARGS= --prefix=${PREFIX} --cc=${CC} --cxx=${CXX} --use-system-pcre --use-system-snappy USERS= mongodb GROUPS= mongodb @@ -33,17 +39,43 @@ USE_RC_SUBR= mongod .include <bsd.port.options.mk> -.if ${PORT_OPTIONS:MV8} -SCONS_ARGS+= --usev8 +.if ${PORT_OPTIONS:MSM} +SCONS_ARGS+= --usesm --use-system-sm +LIB_DEPENDS+= js:${PORTSDIR}/lang/spidermonkey17 +.else +SCONS_ARGS+= --usev8 --use-system-v8 LIB_DEPENDS+= v8:${PORTSDIR}/lang/v8 +.endif + +.if ${PORT_OPTIONS:MSSL} +USE_OPENSSL= yes +SCONS_ARGS+= --ssl +.endif + +.if ${PORT_OPTIONS:MTEST} +BUILD_DEPENDS= pymongo>=2.5:${PORTSDIR}/databases/pymongo +SCONS_TARGET= all +SMOKE_TESTS= smokeAll smokeCppUnittests +. if ${PORT_OPTIONS:MSSL} +SMOKE_TESTS+= smokeSsl +. endif .else -SCONS_ARGS+= --usesm -LIB_DEPENDS+= js:${PORTSDIR}/lang/spidermonkey17 +SCONS_TARGET= core tools .endif +post-patch: + @${REINPLACE_CMD} 's/\["-O3"\]/"${CFLAGS}"/' \ + ${WRKSRC}/SConstruct + post-install: @if [ ! -f ${PREFIX}/etc/mongodb.conf ]; then \ ${TOUCH} ${PREFIX}/etc/mongodb.conf ; \ fi +.if ${PORT_OPTIONS:MTEST} +test: build-depends build + @cd ${BUILD_WRKSRC} && \ + ${SCONS_BIN} ${SCONS_ENV} ${SCONS_ARGS} ${SMOKE_TESTS} +.endif + .include <bsd.port.mk> diff --git a/databases/mongodb/distinfo b/databases/mongodb/distinfo index 825b588a036f..cb582529a8fd 100644 --- a/databases/mongodb/distinfo +++ b/databases/mongodb/distinfo @@ -1,2 +1,2 @@ -SHA256 (mongodb-src-r2.2.3.tar.gz) = dd292c73f8182eb201ae4dd4bd7132c79c56247a7bc4fcde9d09a5bc6c74978d -SIZE (mongodb-src-r2.2.3.tar.gz) = 10178451 +SHA256 (mongodb-src-r2.4.1.tar.gz) = d61ad944b8f27e0efb9a08998cbda587ee5d1a4406a938443e681502738da3b2 +SIZE (mongodb-src-r2.4.1.tar.gz) = 14101118 diff --git a/databases/mongodb/files/mongod.in b/databases/mongodb/files/mongod.in index 272ecbea3ca7..a06b88ff5226 100644 --- a/databases/mongodb/files/mongod.in +++ b/databases/mongodb/files/mongod.in @@ -7,45 +7,55 @@ # Add the following lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # -# mongod_enable (bool): Set to NO by default. -# Set it to YES to enable mongod. +# mongod_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable mongod. +# mongod_limits (bool): Set to "NO" by default. +# Set it to yes to run `limits -e -U mongodb` +# just before mongod starts. +# mongod_dbpath (str): Default to "/var/db/mongodb" +# Base database directory. +# mongod_pidfile (str): Custum PID file path and name. +# Default to "${mongod_dbpath}/mongod.pid". +# mongod_flags (str): Custom additional arguments to be passed to mongod. +# Default to "--logpath ${mongod_dbpath}/mongod.log --logappend". # -# Additional configurable variables: -# mongod_config (path): Set to %%PREFIX%%/etc/mongodb.conf -# by default. Additional configuration. You -# can also use mongod_flags for additional -# command line arguments. -# mongod_dbpath (path): Set to /var/db/mongodb by default -# mongod_user (username): Set to "mongodb" by default . /etc/rc.subr name="mongod" rcvar=mongod_enable -command=%%PREFIX%%/bin/${name} - load_rc_config $name : ${mongod_enable="NO"} -: ${mongod_config="%%PREFIX%%/etc/mongodb.conf"} +: ${mongod_limits="NO"} : ${mongod_dbpath="/var/db/mongodb"} +: ${mongod_flags="--logpath ${mongod_dbpath}/mongod.log --logappend"} : ${mongod_user="mongodb"} +: ${mongod_group="mongodb"} -# Note: if you use a config file for mongodb, -# the parameters passed on cl override the config file -# ie, dbpath, logappend, logpath etc in the command_args below. -# This means that your config file will be ignored unless -# you comment out remove the cl parameters. -# -# Using config file: uncomment the following line AND comment out -# the next line. - -# command_args="-f $mongod_config" - -command_args="-f $mongod_config --dbpath $mongod_dbpath --logappend --logpath $mongod_dbpath/mongod.log --fork" - -required_dirs=${mongod_dbpath} +pidfile=${mongod_pidfile:-"${mongod_dbpath}/mongod.pid"} +command=%%PREFIX%%/bin/${name} +command_args="--config %%PREFIX%%/etc/mongodb.conf --dbpath $mongod_dbpath --pidfilepath ${pidfile} --fork" +start_precmd="${name}_prestart" + +mongod_create_dbpath() +{ + mkdir ${mongod_dbpath} >/dev/null 2>/dev/null + [ $? -eq 0 ] && chown -R ${mongod_user}:${mongod_group} ${mongod_dbpath} +} + + +mongod_prestart() +{ + if [ ! -d ${mongod_dbpath} ]; then + mongod_create_dbpath || return 1 + fi + if checkyesno mongod_limits; then + eval `/usr/bin/limits -e -U ${mongod_user}` 2>/dev/null + else + return 0 + fi +} run_rc_command "$1" - diff --git a/databases/mongodb/files/patch-SConstruct b/databases/mongodb/files/patch-SConstruct index 1afbf3cc91db..7fccb9f6a9fb 100644 --- a/databases/mongodb/files/patch-SConstruct +++ b/databases/mongodb/files/patch-SConstruct @@ -1,7 +1,15 @@ -diff -ru ./SConstruct ../../mongodb-src-r2.2.0/SConstruct ---- ./SConstruct 2012-08-28 09:28:11.000000000 +0400 -+++ ../../mongodb-src-r2.2.0/SConstruct 2012-10-14 14:04:31.000000000 +0400 -@@ -790,6 +790,20 @@ +--- SConstruct.orig 2013-03-22 20:55:25.000000000 +0100 ++++ SConstruct 2013-03-26 20:22:38.000000000 +0100 +@@ -702,7 +702,7 @@ + env.Append( LIBS=[] ) + + #make scons colorgcc friendly +- for key in ('HOME', 'TERM'): ++ for key in ('HOME', 'TERM', 'PATH', 'CCACHE_DIR'): + try: + env['ENV'][key] = os.environ[key] + except KeyError: +@@ -805,6 +805,20 @@ print( "c++ compiler not installed!" ) Exit(1) @@ -15,85 +23,10 @@ diff -ru ./SConstruct ../../mongodb-src-r2.2.0/SConstruct + if not conf.CheckLib("snappy"): + Exit(1) + -+ if use_system_version_of_library("js"): ++ if usesm and use_system_version_of_library("js"): + if not conf.CheckLib("js"): + Exit(1) + if use_system_version_of_library("boost"): if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ): print( "can't find boost headers" ) -@@ -1100,7 +1114,7 @@ - Export("has_option use_system_version_of_library") - Export("installSetup") - Export("usesm usev8") --Export("darwin windows solaris linux nix") -+Export("darwin windows solaris linux nix freebsd") - - env.SConscript( 'src/SConscript', variant_dir='$BUILD_DIR', duplicate=False ) - env.SConscript( 'src/SConscript.client', variant_dir='$BUILD_DIR/client_build', duplicate=False ) -diff -ru ./src/SConscript.client ../../mongodb-src-r2.2.0/src/SConscript.client ---- ./src/SConscript.client 2012-08-28 09:28:11.000000000 +0400 -+++ ../../mongodb-src-r2.2.0/src/SConscript.client 2012-10-14 16:48:25.000000000 +0400 -@@ -134,7 +134,7 @@ - # 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 -ru ./src/mongo/SConscript ../../mongodb-src-r2.2.0/src/mongo/SConscript ---- ./src/mongo/SConscript 2012-08-28 09:28:11.000000000 +0400 -+++ ../../mongodb-src-r2.2.0/src/mongo/SConscript 2012-10-14 21:34:12.000000000 +0400 -@@ -11,7 +11,7 @@ - Import("has_option") - Import("usesm usev8") - Import("installSetup") --Import("darwin windows solaris linux nix") -+Import("darwin windows solaris linux nix freebsd") - - env.SConscript(['platform/SConscript', - 'unittest/SConscript']) -@@ -170,7 +170,7 @@ - - if usesm: - env.StaticLibrary('scripting', scripting_common_files + ['scripting/engine_spidermonkey.cpp'], -- LIBDEPS=['$BUILD_DIR/third_party/js-1.7/js', 'bson_template_evaluator']) -+ LIBDEPS=['bson_template_evaluator'], CPPDEFINES=["XP_UNIX"]) - elif usev8: - env.StaticLibrary('scripting', scripting_common_files + ['scripting/engine_v8.cpp', - 'scripting/v8_db.cpp', -@@ -519,7 +519,7 @@ - if (not has_option( "no-glibc-check" ) and linux and "s3dist" in COMMAND_LINE_TARGETS): - e.AddPostAction( name, checkGlibc ) - -- if (solaris or linux) and (not has_option("nostrip")): -+ if (solaris or linux or freebsd) and (not has_option("nostrip")): - name = e.Command('stripped/%s' % name, name, Copy('$TARGET', '$SOURCE'))[0] - e.AddPostAction(name, 'strip $TARGET') - -diff -ru ./src/mongo/scripting/engine_spidermonkey.cpp ../../mongodb-src-r2.2.0/src/mongo/scripting/engine_spidermonkey.cpp ---- ./src/mongo/scripting/engine_spidermonkey.cpp 2012-08-28 09:28:11.000000000 +0400 -+++ ../../mongodb-src-r2.2.0/src/mongo/scripting/engine_spidermonkey.cpp 2012-10-14 21:34:33.000000000 +0400 -@@ -25,7 +25,7 @@ - #include <boost/date_time/posix_time/posix_time.hpp> - #endif - --#include <third_party/js-1.7/jsdate.h> -+#include <jsdate.h> - - #include "mongo/util/mongoutils/str.h" - -diff -ru ./src/mongo/scripting/engine_spidermonkey.h ../../mongodb-src-r2.2.0/src/mongo/scripting/engine_spidermonkey.h ---- ./src/mongo/scripting/engine_spidermonkey.h 2012-08-28 09:28:11.000000000 +0400 -+++ ../../mongodb-src-r2.2.0/src/mongo/scripting/engine_spidermonkey.h 2012-10-14 21:35:21.000000000 +0400 -@@ -29,7 +29,7 @@ - #define JS_PUBLIC_DATA(t) t - #endif - --#include <third_party/js-1.7/jsapi.h> -+#include <jsapi.h> - - // END inc hacking - diff --git a/databases/mongodb/files/patch-boost-1.52 b/databases/mongodb/files/patch-boost-1.52 deleted file mode 100644 index 60bb474f93f6..000000000000 --- a/databases/mongodb/files/patch-boost-1.52 +++ /dev/null @@ -1,215 +0,0 @@ ---- src/mongo/db/db.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/db/db.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -348,7 +348,7 @@ - boost::filesystem::path path( dbpath ); - for ( boost::filesystem::directory_iterator i( path ); - i != boost::filesystem::directory_iterator(); ++i ) { -- string fileName = boost::filesystem::path(*i).leaf(); -+ string fileName = boost::filesystem::path(*i).leaf().string(); - if ( boost::filesystem::is_directory( *i ) && - fileName.length() && fileName[ 0 ] == '$' ) - boost::filesystem::remove_all( *i ); -@@ -748,11 +748,11 @@ - dbExecCommand = argv[0]; - - srand(curTimeMicros()); --#if( BOOST_VERSION >= 104500 ) -- boost::filesystem::path::default_name_check( boost::filesystem2::no_check ); --#else -- boost::filesystem::path::default_name_check( boost::filesystem::no_check ); --#endif -+// #if( BOOST_VERSION >= 104500 ) -+// boost::filesystem::path::default_name_check( boost::filesystem2::no_check ); -+// #else -+// boost::filesystem::path::default_name_check( boost::filesystem::no_check ); -+// #endif - - { - unsigned x = 0x12345678; -@@ -1083,7 +1083,7 @@ - if (params.count("shutdown")){ - bool failed = false; - -- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string(); -+ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string(); - if ( !boost::filesystem::exists( name ) || boost::filesystem::file_size( name ) == 0 ) - failed = true; - ---- src/mongo/db/dur.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/db/dur.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -770,7 +770,7 @@ - - bool samePartition = true; - try { -- const string dbpathDir = boost::filesystem::path(dbpath).native_directory_string(); -+ const string dbpathDir = boost::filesystem::path(dbpath).string(); - samePartition = onSamePartition(getJournalDir().string(), dbpathDir); - } - catch(...) { ---- src/mongo/db/dur_journal.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/db/dur_journal.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -176,7 +176,7 @@ - for ( boost::filesystem::directory_iterator i( getJournalDir() ); - i != boost::filesystem::directory_iterator(); - ++i ) { -- string fileName = boost::filesystem::path(*i).leaf(); -+ string fileName = boost::filesystem::path(*i).leaf().string(); - if( anyFiles || str::startsWith(fileName, "j._") ) - return true; - } -@@ -194,7 +194,7 @@ - for ( boost::filesystem::directory_iterator i( getJournalDir() ); - i != boost::filesystem::directory_iterator(); - ++i ) { -- string fileName = boost::filesystem::path(*i).leaf(); -+ string fileName = boost::filesystem::path(*i).leaf().string(); - if( str::startsWith(fileName, "j._") ) { - try { - removeOldJournalFile(*i); ---- src/mongo/db/dur_recover.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/db/dur_recover.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -72,7 +72,7 @@ - i != boost::filesystem::directory_iterator(); - ++i ) { - boost::filesystem::path filepath = *i; -- string fileName = boost::filesystem::path(*i).leaf(); -+ string fileName = boost::filesystem::path(*i).leaf().string(); - if( str::startsWith(fileName, "j._") ) { - unsigned u = str::toUnsigned( str::after(fileName, '_') ); - if( m.count(u) ) { -@@ -85,7 +85,7 @@ - if( i != m.begin() && m.count(i->first - 1) == 0 ) { - uasserted(13532, - str::stream() << "unexpected file in journal directory " << dir.string() -- << " : " << boost::filesystem::path(i->second).leaf() << " : can't find its preceeding file"); -+ << " : " << boost::filesystem::path(i->second).leaf().string() << " : can't find its preceeding file"); - } - files.push_back(i->second); - } ---- src/mongo/db/instance.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ work/mongodb-src-r2.2.0/src/mongo/db/instance.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -833,13 +833,13 @@ - i != boost::filesystem::directory_iterator(); ++i ) { - if ( directoryperdb ) { - boost::filesystem::path p = *i; -- string dbName = p.leaf(); -+ string dbName = p.leaf().string(); - p /= ( dbName + ".ns" ); - if ( exists( p ) ) - names.push_back( dbName ); - } - else { -- string fileName = boost::filesystem::path(*i).leaf(); -+ string fileName = boost::filesystem::path(*i).leaf().string(); - if ( fileName.length() > 3 && fileName.substr( fileName.length() - 3, 3 ) == ".ns" ) - names.push_back( fileName.substr( 0, fileName.length() - 3 ) ); - } -@@ -1102,7 +1102,7 @@ - } - - void acquirePathLock(bool doingRepair) { -- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string(); -+ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string(); - - bool oldFile = false; - ---- src/mongo/db/pdfile.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/db/pdfile.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -1675,7 +1675,7 @@ - virtual bool apply( const Path &p ) { - if ( !boost::filesystem::exists( p ) ) - return false; -- boostRenameWrapper( p, newPath_ / ( p.leaf() + ".bak" ) ); -+ boostRenameWrapper( p, newPath_ / ( p.leaf().string() + ".bak" ) ); - return true; - } - virtual const char * op() const { -@@ -1783,7 +1783,7 @@ - uniqueReservedPath( ( preserveClonedFilesOnFailure || backupOriginalFiles ) ? - "backup" : "_tmp" ); - MONGO_ASSERT_ON_EXCEPTION( boost::filesystem::create_directory( reservedPath ) ); -- string reservedPathString = reservedPath.native_directory_string(); -+ string reservedPathString = reservedPath.string(); - - bool res; - { ---- src/mongo/dbtests/framework.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/dbtests/framework.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -199,7 +199,7 @@ - boost::filesystem::create_directory(p); - } - -- string dbpathString = p.native_directory_string(); -+ string dbpathString = p.string(); - dbpath = dbpathString.c_str(); - - cmdLine.prealloc = false; ---- src/mongo/pch.h 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/pch.h 2012-10-21 18:25:50.000000000 +0300 -@@ -44,7 +44,7 @@ - #include "string.h" - #include "limits.h" - --#define BOOST_FILESYSTEM_VERSION 2 -+#define BOOST_FILESYSTEM_VERSION 3 - #include <boost/shared_ptr.hpp> - #include <boost/smart_ptr.hpp> - #include <boost/function.hpp> ---- src/mongo/shell/shell_utils_launcher.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/shell/shell_utils_launcher.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -184,7 +184,7 @@ - } - #endif - -- _argv.push_back( programPath.native_file_string() ); -+ _argv.push_back( programPath.string() ); - - _port = -1; - ---- src/mongo/tools/restore.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/tools/restore.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -174,7 +174,7 @@ - log(2) << "drillDown: " << root.string() << endl; - - // skip hidden files and directories -- if (root.leaf()[0] == '.' && root.leaf() != ".") -+ if (root.leaf().string()[0] == '.' && root.leaf().string() != ".") - return; - - if ( is_directory( root ) ) { -@@ -255,7 +255,7 @@ - - verify( ns.size() ); - -- string oldCollName = root.leaf(); // Name of the collection that was dumped from -+ string oldCollName = root.leaf().string(); // Name of the collection that was dumped from - oldCollName = oldCollName.substr( 0 , oldCollName.find_last_of( "." ) ); - if (use_coll) { - ns += "." + _coll; -@@ -287,7 +287,7 @@ - if (!boost::filesystem::exists(metadataFile.string())) { - // This is fine because dumps from before 2.1 won't have a metadata file, just print a warning. - // System collections shouldn't have metadata so don't warn if that file is missing. -- if (!startsWith(metadataFile.leaf(), "system.")) { -+ if (!startsWith(metadataFile.leaf().string(), "system.")) { - log() << metadataFile.string() << " not found. Skipping." << endl; - } - } else { ---- src/mongo/tools/tool.cpp 2012-08-28 08:28:11.000000000 +0300 -+++ src/mongo/tools/tool.cpp 2012-10-21 18:25:50.000000000 +0300 -@@ -118,11 +118,11 @@ - // we want durability to be disabled. - cmdLine.dur = false; - --#if( BOOST_VERSION >= 104500 ) -- boost::filesystem::path::default_name_check( boost::filesystem2::no_check ); --#else -- boost::filesystem::path::default_name_check( boost::filesystem::no_check ); --#endif -+// #if( BOOST_VERSION >= 104500 ) -+// boost::filesystem::path::default_name_check( boost::filesystem2::no_check ); -+// #else -+// boost::filesystem::path::default_name_check( boost::filesystem::no_check ); -+// #endif - - _name = argv[0]; diff --git a/databases/mongodb/files/patch-src_mongo_SConscript b/databases/mongodb/files/patch-src_mongo_SConscript new file mode 100644 index 000000000000..5e65400269ca --- /dev/null +++ b/databases/mongodb/files/patch-src_mongo_SConscript @@ -0,0 +1,29 @@ +--- src/mongo/SConscript.orig 2013-03-22 20:55:25.000000000 +0100 ++++ src/mongo/SConscript 2013-03-25 17:46:04.000000000 +0100 +@@ -13,7 +13,7 @@ Import("has_option") + Import("usesm usev8") + Import("installSetup") + Import("enforce_glibc") +-Import("darwin windows solaris linux nix") ++Import("darwin windows solaris linux freebsd nix") + + env.SConscript(['base/SConscript', + 'db/auth/SConscript', +@@ -310,7 +310,7 @@ env.CppUnitTest('bson_template_evaluator + if usesm: + env.StaticLibrary('scripting', scripting_common_files + ['scripting/engine_spidermonkey.cpp', + 'scripting/sm_db.cpp'], +- LIBDEPS=['$BUILD_DIR/third_party/js-1.7/js', 'bson_template_evaluator']) ++ LIBDEPS=['bson_template_evaluator'], CPPDEFINES=["XP_UNIX"]) + elif usev8: + env.StaticLibrary('scripting', scripting_common_files + ['scripting/engine_v8.cpp', + 'scripting/v8_db.cpp', +@@ -765,7 +765,7 @@ def installBinary( e, name ): + if enforce_glibc: + e.AddPostAction( name, checkGlibc ) + +- if (solaris or linux) and (not has_option("nostrip")): ++ if (solaris or linux or freebsd) and (not has_option("nostrip")): + name = e.Command('stripped/%s' % name, name, Copy('$TARGET', '$SOURCE'))[0] + e.AddPostAction(name, 'strip $TARGET') + diff --git a/databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.cpp b/databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.cpp new file mode 100644 index 000000000000..4dc52b78869f --- /dev/null +++ b/databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.cpp @@ -0,0 +1,11 @@ +--- src/mongo/scripting/engine_spidermonkey.cpp.orig 2013-03-15 19:59:55.000000000 +0100 ++++ src/mongo/scripting/engine_spidermonkey.cpp 2013-03-22 17:54:19.000000000 +0100 +@@ -25,7 +25,7 @@ + #include <boost/date_time/posix_time/posix_time.hpp> + #endif + +-#include <third_party/js-1.7/jsdate.h> ++#include <jsdate.h> + + #include "mongo/scripting/engine_spidermonkey_internal.h" + #include "mongo/util/mongoutils/str.h" diff --git a/databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.h b/databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.h new file mode 100644 index 000000000000..0f9a5a4d92f3 --- /dev/null +++ b/databases/mongodb/files/patch-src_mongo_scripting_engine_spidermonkey.h @@ -0,0 +1,11 @@ +--- src/mongo/scripting/engine_spidermonkey.h.orig 2013-03-15 19:59:55.000000000 +0100 ++++ src/mongo/scripting/engine_spidermonkey.h 2013-03-22 17:54:19.000000000 +0100 +@@ -29,7 +29,7 @@ + #define JS_PUBLIC_DATA(t) t + #endif + +-#include <third_party/js-1.7/jsapi.h> ++#include <jsapi.h> + + // END inc hacking + diff --git a/databases/mongodb/files/patch-src_mongo_util_net_ssl_manager.cpp b/databases/mongodb/files/patch-src_mongo_util_net_ssl_manager.cpp new file mode 100644 index 000000000000..7877107aa5d4 --- /dev/null +++ b/databases/mongodb/files/patch-src_mongo_util_net_ssl_manager.cpp @@ -0,0 +1,20 @@ +--- src/mongo/util/net/ssl_manager.cpp.orig 2013-03-25 17:59:54.000000000 +0100 ++++ src/mongo/util/net/ssl_manager.cpp 2013-03-25 18:03:11.000000000 +0100 +@@ -183,6 +183,7 @@ namespace mongo { + } + + void SSLManager::_setupFIPS() { ++#ifdef OPENSSL_FIPS + // Turn on FIPS mode if requested. + int status = FIPS_mode_set(1); + if (!status) { +@@ -191,6 +192,9 @@ namespace mongo { + fassertFailed(16703); + } + log() << "FIPS 140-2 mode activated" << endl; ++#else ++ error() << "can't activate FIPS mode: OpenSSL not built with FIPS support" << endl; ++#endif + } + + bool SSLManager::_setupPEM(const std::string& keyFile , const std::string& password) { diff --git a/databases/mongodb/pkg-plist b/databases/mongodb/pkg-plist index 662a9825fe85..b3788aa43acf 100644 --- a/databases/mongodb/pkg-plist +++ b/databases/mongodb/pkg-plist @@ -14,10 +14,30 @@ bin/mongos bin/mongosniff bin/mongostat bin/mongotop +include/mongo/base/configuration_variable_manager.h +include/mongo/base/counter.h +include/mongo/base/disallow_copying.h +include/mongo/base/error_codes.h +include/mongo/base/global_initializer.h +include/mongo/base/global_initializer_registerer.h +include/mongo/base/init.h +include/mongo/base/initializer.h +include/mongo/base/initializer_context.h +include/mongo/base/initializer_dependency_graph.h +include/mongo/base/initializer_function.h +include/mongo/base/make_string_vector.h +include/mongo/base/owned_pointer_map.h +include/mongo/base/owned_pointer_vector.h +include/mongo/base/parse_number.h +include/mongo/base/status.h +include/mongo/base/string_data-inl.h +include/mongo/base/string_data.h include/mongo/bson/bson-inl.h include/mongo/bson/bson.h include/mongo/bson/bson_builder_base.h include/mongo/bson/bson_db.h +include/mongo/bson/bson_field.h +include/mongo/bson/bson_validate.h include/mongo/bson/bsonelement.h include/mongo/bson/bsonmisc.h include/mongo/bson/bsonobj.h @@ -27,11 +47,10 @@ include/mongo/bson/bsontypes.h include/mongo/bson/inline_decls.h include/mongo/bson/oid.h include/mongo/bson/ordering.h -include/mongo/bson/stringdata.h include/mongo/bson/util/atomic_int.h +include/mongo/bson/util/bson_extract.h include/mongo/bson/util/builder.h include/mongo/bson/util/misc.h -include/mongo/client/authentication_table.h include/mongo/client/authlevel.h include/mongo/client/clientOnly-private.h include/mongo/client/connpool.h @@ -46,19 +65,40 @@ include/mongo/client/gridfs.h include/mongo/client/model.h include/mongo/client/parallel.h include/mongo/client/redef_macros.h +include/mongo/client/sasl_client_authenticate.h include/mongo/client/syncclusterconnection.h include/mongo/client/undef_macros.h -include/mongo/db/commands.h +include/mongo/db/auth/action_set.h +include/mongo/db/auth/action_type.h +include/mongo/db/auth/auth_external_state.h +include/mongo/db/auth/auth_external_state_d.h +include/mongo/db/auth/auth_external_state_mock.h +include/mongo/db/auth/auth_external_state_s.h +include/mongo/db/auth/auth_external_state_server_common.h +include/mongo/db/auth/auth_index_d.h +include/mongo/db/auth/authentication_session.h +include/mongo/db/auth/authorization_manager.h +include/mongo/db/auth/mongo_authentication_session.h +include/mongo/db/auth/principal.h +include/mongo/db/auth/principal_name.h +include/mongo/db/auth/principal_set.h +include/mongo/db/auth/privilege.h +include/mongo/db/auth/privilege_set.h +include/mongo/db/auth/security_key.h include/mongo/db/background.h include/mongo/db/btree.h +include/mongo/db/btree_stats.h include/mongo/db/btreebuilder.h +include/mongo/db/btreecursor.h +include/mongo/db/btreeposition.h +include/mongo/db/cc_by_loc.h include/mongo/db/client.h -include/mongo/db/client_common.h +include/mongo/db/client_basic.h include/mongo/db/clientcursor.h include/mongo/db/cloner.h include/mongo/db/cmdline.h include/mongo/db/collection.h -include/mongo/db/compact.h +include/mongo/db/commands.h include/mongo/db/curop-inl.h include/mongo/db/curop.h include/mongo/db/cursor.h @@ -81,31 +121,32 @@ include/mongo/db/dur_stats.h include/mongo/db/durop.h include/mongo/db/explain.h include/mongo/db/extsort.h +include/mongo/db/field_ref.h include/mongo/db/filever.h -include/mongo/db/globals.h include/mongo/db/hasher.h include/mongo/db/hashindex.h include/mongo/db/index.h include/mongo/db/index_insertion_continuation.h +include/mongo/db/index_rebuilder.h +include/mongo/db/index_set.h include/mongo/db/index_update.h include/mongo/db/indexkey.h +include/mongo/db/initialize_server_global_state.h include/mongo/db/instance.h include/mongo/db/interrupt_status.h include/mongo/db/interrupt_status_mongod.h +include/mongo/db/intervalbtreecursor.h include/mongo/db/introspect.h include/mongo/db/jsobj.h include/mongo/db/jsobjmanipulator.h include/mongo/db/json.h include/mongo/db/key.h +include/mongo/db/keypattern.h +include/mongo/db/kill_current_op.h include/mongo/db/lasterror.h include/mongo/db/lockstat.h include/mongo/db/lockstate.h include/mongo/db/matcher.h -include/mongo/db/ops/count.h -include/mongo/db/ops/delete.h -include/mongo/db/ops/query.h -include/mongo/db/ops/update.h -include/mongo/db/ops/update_internal.h include/mongo/db/memconcept.h include/mongo/db/minilex.h include/mongo/db/module.h @@ -115,12 +156,18 @@ include/mongo/db/namespace.h include/mongo/db/namespace_details-inl.h include/mongo/db/namespace_details.h include/mongo/db/namespacestring.h -include/mongo/db/nonce.h include/mongo/db/oplog.h include/mongo/db/oplogreader.h +include/mongo/db/ops/count.h +include/mongo/db/ops/delete.h +include/mongo/db/ops/modifier_base.h +include/mongo/db/ops/query.h +include/mongo/db/ops/update.h +include/mongo/db/ops/update_internal.h include/mongo/db/pagefault.h include/mongo/db/pdfile.h include/mongo/db/pdfile_private.h +include/mongo/db/pdfile_version.h include/mongo/db/prefetch.h include/mongo/db/projection.h include/mongo/db/queryoptimizer.h @@ -146,25 +193,92 @@ include/mongo/db/replutil.h include/mongo/db/resource.h include/mongo/db/restapi.h include/mongo/db/scanandorder.h -include/mongo/db/security.h -include/mongo/db/security_common.h +include/mongo/db/server_parameters.h +include/mongo/db/server_parameters_inline.h +include/mongo/db/sort_phase_one.h include/mongo/db/stats/counters.h include/mongo/db/stats/fine_clock.h include/mongo/db/stats/service_stats.h include/mongo/db/stats/snapshots.h +include/mongo/db/stats/timer_stats.h include/mongo/db/stats/top.h include/mongo/db/taskqueue.h include/mongo/db/ttl.h include/mongo/pch.h +include/mongo/platform/atomic_intrinsics.h +include/mongo/platform/atomic_intrinsics_gcc.h +include/mongo/platform/atomic_intrinsics_win32.h +include/mongo/platform/atomic_word.h +include/mongo/platform/basic.h +include/mongo/platform/bits.h +include/mongo/platform/compiler.h +include/mongo/platform/compiler_gcc.h +include/mongo/platform/compiler_msvc.h +include/mongo/platform/cstdint.h +include/mongo/platform/float_utils.h +include/mongo/platform/random.h +include/mongo/platform/strtoll.h +include/mongo/platform/unordered_map.h +include/mongo/platform/unordered_set.h +include/mongo/platform/windows_basic.h +include/mongo/s/balance.h +include/mongo/s/balancer_policy.h +include/mongo/s/chunk.h +include/mongo/s/chunk_diff.h +include/mongo/s/chunk_diff.hpp +include/mongo/s/chunk_version.h +include/mongo/s/client_info.h +include/mongo/s/cluster_client_internal.h +include/mongo/s/collection_manager.h +include/mongo/s/config.h +include/mongo/s/config_upgrade.h +include/mongo/s/config_upgrade_helpers.h +include/mongo/s/cursors.h +include/mongo/s/d_chunk_manager.h +include/mongo/s/d_logic.h +include/mongo/s/d_writeback.h +include/mongo/s/field_parser-inl.h +include/mongo/s/field_parser.h +include/mongo/s/grid.h +include/mongo/s/interrupt_status_mongos.h +include/mongo/s/metadata_loader.h +include/mongo/s/mongo_version_range.h +include/mongo/s/request.h +include/mongo/s/server.h +include/mongo/s/shard.h +include/mongo/s/shardkey.h +include/mongo/s/stale_exception.h +include/mongo/s/strategy.h +include/mongo/s/type_changelog.h +include/mongo/s/type_chunk.h +include/mongo/s/type_collection.h +include/mongo/s/type_config_version.h +include/mongo/s/type_database.h +include/mongo/s/type_lockpings.h +include/mongo/s/type_locks.h +include/mongo/s/type_mongos.h +include/mongo/s/type_settings.h +include/mongo/s/type_shard.h +include/mongo/s/type_tags.h +include/mongo/s/version_manager.h +include/mongo/s/writeback_listener.h include/mongo/scripting/bench.h include/mongo/scripting/bson_template_evaluator.h include/mongo/scripting/engine.h include/mongo/scripting/engine_spidermonkey.h +include/mongo/scripting/engine_spidermonkey_internal.h include/mongo/scripting/engine_v8.h include/mongo/scripting/v8_db.h +include/mongo/scripting/v8_deadline_monitor.h +include/mongo/scripting/v8_profiler.h include/mongo/scripting/v8_utils.h -include/mongo/scripting/v8_wrapper.h include/mongo/server.h +include/mongo/shell/linenoise.h +include/mongo/shell/linenoise_utf8.h +include/mongo/shell/mk_wcwidth.h +include/mongo/shell/shell_utils.h +include/mongo/shell/shell_utils_extended.h +include/mongo/shell/shell_utils_launcher.h include/mongo/targetver.h include/mongo/util/admin_access.h include/mongo/util/alignedbuilder.h @@ -177,8 +291,6 @@ include/mongo/util/bson_util.h include/mongo/util/bufreader.h include/mongo/util/checksum.h include/mongo/util/compress.h -include/mongo/util/md5.hpp -include/mongo/util/concurrency/shared_mutex_win.hpp include/mongo/util/concurrency/list.h include/mongo/util/concurrency/mapsf.h include/mongo/util/concurrency/msg.h @@ -189,6 +301,7 @@ include/mongo/util/concurrency/qlock.h include/mongo/util/concurrency/race.h include/mongo/util/concurrency/rwlock.h include/mongo/util/concurrency/rwlockimpl.h +include/mongo/util/concurrency/shared_mutex_win.hpp include/mongo/util/concurrency/simplerwlock.h include/mongo/util/concurrency/spin_lock.h include/mongo/util/concurrency/synchronization.h @@ -198,11 +311,19 @@ include/mongo/util/concurrency/threadlocal.h include/mongo/util/concurrency/ticketholder.h include/mongo/util/concurrency/value.h include/mongo/util/debug_util.h +include/mongo/util/descriptive_stats-inl.h +include/mongo/util/descriptive_stats.h +include/mongo/util/elapsed_tracker.h include/mongo/util/embedded_builder.h +include/mongo/util/exception_filter_win32.h include/mongo/util/exit_code.h +include/mongo/util/fail_point.h +include/mongo/util/fail_point_registry.h +include/mongo/util/fail_point_service.h include/mongo/util/file.h include/mongo/util/file_allocator.h include/mongo/util/goodies.h +include/mongo/util/gsasl_session.h include/mongo/util/hashtab.h include/mongo/util/heapcheck.h include/mongo/util/hex.h @@ -213,6 +334,7 @@ include/mongo/util/logfile.h include/mongo/util/lruishmap.h include/mongo/util/map_util.h include/mongo/util/md5.h +include/mongo/util/md5.hpp include/mongo/util/mmap.h include/mongo/util/mongoutils/checksum.h include/mongo/util/mongoutils/hash.h @@ -227,6 +349,7 @@ include/mongo/util/net/message_port.h include/mongo/util/net/message_server.h include/mongo/util/net/miniwebserver.h include/mongo/util/net/sock.h +include/mongo/util/net/ssl_manager.h include/mongo/util/ntservice.h include/mongo/util/optime.h include/mongo/util/password.h @@ -235,11 +358,14 @@ include/mongo/util/processinfo.h include/mongo/util/progress_meter.h include/mongo/util/queue.h include/mongo/util/ramlog.h +include/mongo/util/safe_num.h include/mongo/util/scopeguard.h include/mongo/util/signal_handlers.h include/mongo/util/stack_introspect.h include/mongo/util/stacktrace.h include/mongo/util/startup_test.h +include/mongo/util/string_map.h +include/mongo/util/string_map_internal.h include/mongo/util/string_writer.h include/mongo/util/stringutils.h include/mongo/util/systeminfo.h @@ -252,58 +378,24 @@ include/mongo/util/timer-win32-inl.h include/mongo/util/timer.h include/mongo/util/touch_pages.h include/mongo/util/trace.h +include/mongo/util/unordered_fast_key_table.h +include/mongo/util/unordered_fast_key_table_internal.h include/mongo/util/version.h include/mongo/util/winutil.h -include/mongo/s/balance.h -include/mongo/s/balancer_policy.h -include/mongo/s/chunk.h -include/mongo/s/chunk_diff.h -include/mongo/s/client_info.h -include/mongo/s/config.h -include/mongo/s/cursors.h -include/mongo/s/d_chunk_manager.h -include/mongo/s/d_logic.h -include/mongo/s/d_writeback.h -include/mongo/s/grid.h -include/mongo/s/chunk_diff.hpp -include/mongo/s/interrupt_status_mongos.h -include/mongo/s/request.h -include/mongo/s/server.h -include/mongo/s/shard.h -include/mongo/s/shard_version.h -include/mongo/s/shardkey.h -include/mongo/s/stats.h -include/mongo/s/strategy.h -include/mongo/s/util.h -include/mongo/s/writeback_listener.h -include/mongo/platform/atomic_intrinsics.h -include/mongo/platform/atomic_intrinsics_gcc.h -include/mongo/platform/atomic_intrinsics_win32.h -include/mongo/platform/atomic_word.h -include/mongo/platform/basic.h -include/mongo/platform/bits.h -include/mongo/platform/compiler.h -include/mongo/platform/compiler_gcc.h -include/mongo/platform/compiler_msvc.h -include/mongo/platform/float_utils.h -include/mongo/platform/windows_basic.h -include/mongo/shell/linenoise.h -include/mongo/shell/linenoise_utf8.h -include/mongo/shell/mk_wcwidth.h -include/mongo/shell/shell_utils.h -include/mongo/shell/shell_utils_extended.h -include/mongo/shell/shell_utils_launcher.h +lib/libmongoclient.a +@dirrm include/mongo/base @dirrm include/mongo/bson/util @dirrm include/mongo/bson -@dirrm include/mongo/shell -@dirrm include/mongo/platform @dirrm include/mongo/client +@dirrm include/mongo/db/auth @dirrm include/mongo/db/ops @dirrm include/mongo/db/repl @dirrm include/mongo/db/stats @dirrm include/mongo/db +@dirrm include/mongo/platform @dirrm include/mongo/s @dirrm include/mongo/scripting +@dirrm include/mongo/shell @dirrm include/mongo/util/concurrency @dirrm include/mongo/util/mongoutils @dirrm include/mongo/util/net |