mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-09 05:49:23 +00:00
mongodb: add git version
This builds the server and the sharding helper, but not the CLI. The CLI will need a libv8 recipe since fixing the built-in copy to cross build is too much work. Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
|||||||
|
From bffde38f3b3d6285019e38a30c4573326e1dd2ea Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Hudson-Doyle <michael.hudson@linaro.org>
|
||||||
|
Date: Fri, 20 Dec 2013 11:10:43 +1300
|
||||||
|
Subject: [PATCH 1/3] Make it possible to disable the use of v8.
|
||||||
|
|
||||||
|
Currently v8 is always built in, no matter what you pass to scons.
|
||||||
|
|
||||||
|
This removes the (useless) --usev8 flag for scons and replaces it with a
|
||||||
|
--disable-scripting option instead.
|
||||||
|
---
|
||||||
|
SConstruct | 8 +++++---
|
||||||
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/SConstruct b/SConstruct
|
||||||
|
index fd92fe4..1f14083 100644
|
||||||
|
--- a/SConstruct
|
||||||
|
+++ b/SConstruct
|
||||||
|
@@ -222,7 +222,7 @@ add_option( "asio" , "Use Asynchronous IO (NOT READY YET)" , 0 , True )
|
||||||
|
add_option( "ssl" , "Enable SSL" , 0 , True )
|
||||||
|
|
||||||
|
# library choices
|
||||||
|
-add_option( "usev8" , "use v8 for javascript" , 0 , True )
|
||||||
|
+add_option( "disable-scripting" , "do not build support for javascript" , 0 , True )
|
||||||
|
add_option( "libc++", "use libc++ (experimental, requires clang)", 0, True )
|
||||||
|
|
||||||
|
# mongo feature options
|
||||||
|
@@ -439,7 +439,7 @@ static = has_option( "static" )
|
||||||
|
|
||||||
|
noshell = has_option( "noshell" )
|
||||||
|
|
||||||
|
-usev8 = has_option( "usev8" )
|
||||||
|
+disable_scripting = has_option( "disable-scripting" )
|
||||||
|
|
||||||
|
asio = has_option( "asio" )
|
||||||
|
|
||||||
|
@@ -599,7 +599,9 @@ if has_option( "durableDefaultOn" ):
|
||||||
|
if has_option( "durableDefaultOff" ):
|
||||||
|
env.Append( CPPDEFINES=[ "_DURABLEDEFAULTOFF" ] )
|
||||||
|
|
||||||
|
-if ( not ( usev8 or justClientLib) ):
|
||||||
|
+if disable_scripting or justClientLib:
|
||||||
|
+ usev8 = False
|
||||||
|
+else:
|
||||||
|
usev8 = True
|
||||||
|
|
||||||
|
extraLibPlaces = []
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
||||||
+50
@@ -0,0 +1,50 @@
|
|||||||
|
From ef482650fb6d990e4953104d7141d9a0fa4c872f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Koen Kooi <koen.kooi@linaro.org>
|
||||||
|
Date: Tue, 4 Feb 2014 10:56:35 +0100
|
||||||
|
Subject: [PATCH] replace os.uname with os.getenv(OE_TARGET_ARCH)
|
||||||
|
|
||||||
|
This fixes crosscompilation
|
||||||
|
|
||||||
|
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
|
||||||
|
Upstream-Status: Inappropiate [OE specific]
|
||||||
|
---
|
||||||
|
SConstruct | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/SConstruct b/SConstruct
|
||||||
|
index 4f26be7..a353323 100644
|
||||||
|
--- a/SConstruct
|
||||||
|
+++ b/SConstruct
|
||||||
|
@@ -265,9 +265,9 @@ add_option( "pch" , "use precompiled headers to speed up the build (experimental
|
||||||
|
add_option( "distcc" , "use distcc for distributing builds" , 0 , False )
|
||||||
|
|
||||||
|
# debugging/profiling help
|
||||||
|
-if os.sys.platform.startswith("linux") and (os.uname()[-1] == 'x86_64'):
|
||||||
|
+if os.sys.platform.startswith("linux") and (os.getenv("OE_TARGET_ARCH") == 'x86_64'):
|
||||||
|
defaultAllocator = 'tcmalloc'
|
||||||
|
-elif (os.sys.platform == "darwin") and (os.uname()[-1] == 'x86_64'):
|
||||||
|
+elif (os.sys.platform == "darwin") and (os.getenv("OE_TARGET_ARCH") == 'x86_64'):
|
||||||
|
defaultAllocator = 'tcmalloc'
|
||||||
|
else:
|
||||||
|
defaultAllocator = 'system'
|
||||||
|
@@ -673,7 +673,7 @@ if has_option( "full" ):
|
||||||
|
# ---- other build setup -----
|
||||||
|
|
||||||
|
if "uname" in dir(os):
|
||||||
|
- processor = os.uname()[4]
|
||||||
|
+ processor = os.getenv("OE_TARGET_ARCH")
|
||||||
|
else:
|
||||||
|
processor = "i386"
|
||||||
|
|
||||||
|
@@ -702,7 +702,7 @@ elif linux:
|
||||||
|
|
||||||
|
env.Append( LIBS=['m'] )
|
||||||
|
|
||||||
|
- if os.uname()[4] == "x86_64" and not force32:
|
||||||
|
+ if os.getenv("OE_TARGET_ARCH") == "x86_64" and not force32:
|
||||||
|
linux64 = True
|
||||||
|
nixLibPrefix = "lib64"
|
||||||
|
env.Append( EXTRALIBPATH=["/usr/lib64" , "/lib64" ] )
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
From 52d68642205626cad3bac3a53e269c765ccff676 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Hudson-Doyle <michael.hudson@linaro.org>
|
||||||
|
Date: Fri, 20 Dec 2013 12:28:27 +1300
|
||||||
|
Subject: [PATCH 2/3] Fix linking when scripting is disabled.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/mongo/scripting/engine_none.cpp | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/mongo/scripting/engine_none.cpp b/src/mongo/scripting/engine_none.cpp
|
||||||
|
index f5c7109..9ae9d57 100644
|
||||||
|
--- a/src/mongo/scripting/engine_none.cpp
|
||||||
|
+++ b/src/mongo/scripting/engine_none.cpp
|
||||||
|
@@ -33,4 +33,8 @@ namespace mongo {
|
||||||
|
void ScriptEngine::setup() {
|
||||||
|
// noop
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ std::string ScriptEngine::getInterpreterVersionString() {
|
||||||
|
+ return "none";
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
||||||
+64
@@ -0,0 +1,64 @@
|
|||||||
|
From 1f8e10747af3988e8ddee609bea990f622dd746a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Hudson-Doyle <michael.hudson@linaro.org>
|
||||||
|
Date: Wed, 22 Jan 2014 13:53:10 +1300
|
||||||
|
Subject: [PATCH 3/3] * Do not build 'mongo' binary when scripting is disabled
|
||||||
|
* Do not build the jstests when scripting is disabled
|
||||||
|
|
||||||
|
---
|
||||||
|
SConstruct | 8 ++++++--
|
||||||
|
src/mongo/SConscript | 4 +++-
|
||||||
|
2 files changed, 9 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/SConstruct b/SConstruct
|
||||||
|
index 1f14083..a69cf0a 100644
|
||||||
|
--- a/SConstruct
|
||||||
|
+++ b/SConstruct
|
||||||
|
@@ -437,10 +437,13 @@ else:
|
||||||
|
|
||||||
|
static = has_option( "static" )
|
||||||
|
|
||||||
|
-noshell = has_option( "noshell" )
|
||||||
|
-
|
||||||
|
disable_scripting = has_option( "disable-scripting" )
|
||||||
|
|
||||||
|
+if not disable_scripting:
|
||||||
|
+ noshell = has_option( "noshell" )
|
||||||
|
+else:
|
||||||
|
+ noshell = True
|
||||||
|
+
|
||||||
|
asio = has_option( "asio" )
|
||||||
|
|
||||||
|
usePCH = has_option( "usePCH" )
|
||||||
|
@@ -1671,6 +1674,7 @@ Export("get_option")
|
||||||
|
Export("has_option use_system_version_of_library")
|
||||||
|
Export("installSetup mongoCodeVersion")
|
||||||
|
Export("usev8")
|
||||||
|
+Export("disable_scripting")
|
||||||
|
Export("darwin windows solaris linux freebsd nix")
|
||||||
|
Export('module_sconscripts')
|
||||||
|
Export("debugBuild optBuild")
|
||||||
|
diff --git a/src/mongo/SConscript b/src/mongo/SConscript
|
||||||
|
index d84267e..dc0ca3a 100644
|
||||||
|
--- a/src/mongo/SConscript
|
||||||
|
+++ b/src/mongo/SConscript
|
||||||
|
@@ -6,6 +6,7 @@ import os
|
||||||
|
import itertools
|
||||||
|
from buildscripts import utils
|
||||||
|
|
||||||
|
+Import("disable_scripting")
|
||||||
|
Import("env")
|
||||||
|
Import("shellEnv")
|
||||||
|
Import("testEnv")
|
||||||
|
@@ -1022,7 +1023,8 @@ test = testEnv.Install(
|
||||||
|
[ f for f in Glob("dbtests/*.cpp")
|
||||||
|
if not str(f).endswith('framework.cpp') and
|
||||||
|
not str(f).endswith('framework_options.cpp') and
|
||||||
|
- not str(f).endswith('framework_options_init.cpp') ],
|
||||||
|
+ not str(f).endswith('framework_options_init.cpp') and
|
||||||
|
+ not (str(f).endswith('jstests.cpp') and disable_scripting)],
|
||||||
|
LIBDEPS = [
|
||||||
|
"mutable_bson_test_utils",
|
||||||
|
"mongocommon",
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
SUMMARY = "mongodb"
|
||||||
|
LICENSE = "AGPLv3 & Apache-2.0"
|
||||||
|
LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
|
||||||
|
file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||||
|
|
||||||
|
DEPENDS = "openssl libpcre boost"
|
||||||
|
# Mongo uses tcmalloc on x86_64, which is provided by gperftools
|
||||||
|
DEPENDS_append_x86-64 = " gperftools"
|
||||||
|
|
||||||
|
inherit scons
|
||||||
|
|
||||||
|
PV = "2.5.5+git${SRCPV}"
|
||||||
|
SRCREV = "588dc81b0822ebb46f80e152b94527a882e6ea5e"
|
||||||
|
SRC_URI = "git://github.com/mongodb/mongo.git \
|
||||||
|
file://0001-Make-it-possible-to-disable-the-use-of-v8.patch \
|
||||||
|
file://0002-Fix-linking-when-scripting-is-disabled.patch \
|
||||||
|
file://0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch \
|
||||||
|
file://0001-replace-os.uname-with-os.getenv-TARGET_ARCH.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
export OE_TARGET_ARCH="${TARGET_ARCH}"
|
||||||
|
|
||||||
|
EXTRA_OESCONS = "--prefix=${D}${prefix} \
|
||||||
|
--propagate-shell-environment \
|
||||||
|
--cc-use-shell-environment \
|
||||||
|
--cxx-use-shell-environment \
|
||||||
|
--ld='${TARGET_PREFIX}g++' \
|
||||||
|
--ssl \
|
||||||
|
--use-system-pcre \
|
||||||
|
--use-system-boost \
|
||||||
|
--use-system-tcmalloc \
|
||||||
|
--disable-scripting \
|
||||||
|
--nostrip \
|
||||||
|
mongod mongos"
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user