aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained/mongodb/mongodb-2.4.4-fix-sharedclient.patch
diff options
context:
space:
mode:
Diffstat (limited to 'unmaintained/mongodb/mongodb-2.4.4-fix-sharedclient.patch')
-rw-r--r--unmaintained/mongodb/mongodb-2.4.4-fix-sharedclient.patch132
1 files changed, 132 insertions, 0 deletions
diff --git a/unmaintained/mongodb/mongodb-2.4.4-fix-sharedclient.patch b/unmaintained/mongodb/mongodb-2.4.4-fix-sharedclient.patch
new file mode 100644
index 0000000000..345b60222d
--- /dev/null
+++ b/unmaintained/mongodb/mongodb-2.4.4-fix-sharedclient.patch
@@ -0,0 +1,132 @@
+diff --git a/src/mongo/SConscript b/src/mongo/SConscript
+index c026ce9..bbd900c 100644
+--- a/src/mongo/SConscript
++++ b/src/mongo/SConscript
+@@ -452,7 +452,7 @@
+ env.Library('stacktrace', 'util/stacktrace.cpp')
+
+ env.Program('lame_stacktrace_test', 'util/lame_stacktrace_test.cpp',
+- LIBDEPS=['stacktrace',
++ LIBDEPS=['stacktrace', 'foundation', 'mongocommon', 'alltools',
+ '$BUILD_DIR/mongo/base/base'])
+
+ serverOnlyFiles += mmapFiles
+@@ -654,10 +654,6 @@
+ "defaultversion",
+ "gridfs",
+ "notmongodormongos"])
+-env.Library("allclient", "client/clientOnly.cpp", LIBDEPS=["clientandshell"])
+-
+-if has_option( "sharedclient" ):
+- sharedClientLibName = str( env.SharedLibrary( "mongoclient", [], LIBDEPS=["allclient"] )[0] )
+
+ # dbtests test binary
+ env.StaticLibrary('testframework', ['dbtests/framework.cpp'], LIBDEPS=['unittest/unittest'])
+@@ -806,12 +802,6 @@
+ env.Install( "$INSTALL_DIR/include/" + id, Glob( id + "*.h" ) )
+ env.Install( "$INSTALL_DIR/include/" + id, Glob( id + "*.hpp" ) )
+
+-#lib
+-if installSetup.libraries:
+- env.Install('$INSTALL_DIR/$NIX_LIB_DIR', '#${LIBPREFIX}mongoclient${LIBSUFFIX}')
+- if has_option( "sharedclient" ):
+- env.Install( "$INSTALL_DIR/$NIX_LIB_DIR", '#${SHLIBPREFIX}mongoclient${SHLIBSUFFIX}')
+-
+ # Stage the top-level mongodb banners
+ distsrc = env.Dir('#distsrc')
+ env.Append(MODULE_BANNERS = [distsrc.File('README'),
+@@ -842,8 +832,8 @@
+ '#/${SERVER_ARCHIVE}',
+ ['#buildscripts/make_archive.py'] + env["MODULE_BANNERS"] + distBinaries,
+ ' '.join(['$PYTHON ${SOURCES[0]} -o $TARGET'] + module_banner_transforms + [
+- '--transform ${str(Dir(BUILD_DIR))}/mongo/stripped=$SERVER_DIST_BASENAME/bin',
+- '--transform ${str(Dir(BUILD_DIR))}/mongo=$SERVER_DIST_BASENAME/bin',
++ '--transform "${str(Dir(BUILD_DIR))}/mongo/stripped=$SERVER_DIST_BASENAME/bin"',
++ '--transform "${str(Dir(BUILD_DIR))}/mongo=$SERVER_DIST_BASENAME/bin"',
+ '${TEMPFILE(SOURCES[1:])}']))
+
+ #final alias
+diff --git a/src/SConscript.client b/src/SConscript.client
+index b88a54f..a15bbb3 100644
+--- a/src/SConscript.client
++++ b/src/SConscript.client
+@@ -4,6 +4,7 @@
+ # programs.
+
+ Import('env clientEnv')
++Import("has_option")
+
+ env.Command(['mongo/base/error_codes.h', 'mongo/base/error_codes.cpp',],
+ ['mongo/base/generate_error_codes.py', 'mongo/base/error_codes.err'],
+@@ -36,7 +37,6 @@ clientSourceBasic = [
+ 'mongo/client/dbclient.cpp',
+ 'mongo/client/dbclient_rs.cpp',
+ 'mongo/client/dbclientcursor.cpp',
+- 'mongo/client/distlock.cpp',
+ 'mongo/client/gridfs.cpp',
+ 'mongo/client/model.cpp',
+ 'mongo/client/sasl_client_authenticate.cpp',
+@@ -83,7 +83,6 @@ clientSourceBasic = [
+ 'mongo/util/timer.cpp',
+ 'mongo/util/trace.cpp',
+ 'mongo/util/util.cpp',
+- 'mongo/util/version.cpp',
+ ]
+
+ clientSourceSasl = ['mongo/client/sasl_client_authenticate_impl.cpp',
+@@ -93,6 +92,7 @@ clientSourceAll = clientSourceBasic + clientSourceSasl
+
+ if env['MONGO_BUILD_SASL_CLIENT']:
+ clientSource = clientSourceAll
++ env.Append(LIBS="sasl2")
+ else:
+ clientSource = clientSourceBasic
+
+@@ -133,16 +133,18 @@ for path in clientHeaderDirectories:
+ clientHeaders.extend(Glob('mongo/%s/*.h' % path))
+ clientHeaders.extend(Glob('mongo/%s/*.hpp' % path))
+
+-mongoclient_lib = env.Library('mongoclient', clientSource),
+-mongoclient_install = env.Install('#/', [
+- mongoclient_lib,
+- #env.SharedLibrary('mongoclient', clientSource),
+- ])
++
++mongoclient_libs = [ env.Library('mongoclient', clientSource) ]
++if has_option( "sharedclient" ):
++ mongoclient_libs.append( env.SharedLibrary('mongoclient', clientSource) )
++
++mongoclient_install = env.Install('#/', mongoclient_libs)
++
+ env.Alias('mongoclient', mongoclient_install)
+
+ clientTests = clientEnv.Install('#/', [
+ clientEnv.Program(target,
+- [source, mongoclient_lib]) for (target, source) in exampleSourceMap])
++ [source, mongoclient_libs[-1]]) for (target, source) in exampleSourceMap])
+
+ clientTests.append(
+ clientEnv.Install('#/', clientEnv.Program('bsondemo', 'mongo/bson/bsondemo/bsondemo.cpp')))
+@@ -168,16 +170,18 @@
+ 'mongo/bson/bsondemo/bsondemo.cpp',
+ ],
+ '${PYTHON} ${SOURCES[0]} -o $TARGET '
+- '--transform ${str(Dir(BUILD_DIR))}/client_build=$CLIENT_DIST_BASENAME/src '
+- '--transform ${str(Dir(BUILD_DIR))}=$CLIENT_DIST_BASENAME/src '
+- '--transform distsrc/client=$CLIENT_DIST_BASENAME '
+- '--transform =$CLIENT_DIST_BASENAME/ '
++ '--transform "${str(Dir(BUILD_DIR))}/client_build=$CLIENT_DIST_BASENAME/src" '
++ '--transform "${str(Dir(BUILD_DIR))}=$CLIENT_DIST_BASENAME/src" '
++ '--transform "distsrc/client=$CLIENT_DIST_BASENAME" '
++ '--transform "=$CLIENT_DIST_BASENAME/" '
+ '${TEMPFILE(SOURCES[1:])}'))
+
+ # install
+ prefix = GetOption("prefix")
+
+ env.Install(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}')
++if has_option( "sharedclient" ):
++ env.Install(prefix + "/lib", '${SHLIBPREFIX}mongoclient${SHLIBSUFFIX}')
+
+ for x in clientHeaderDirectories:
+ inst = env.Install(prefix + "/include/mongo/" + x,