mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
community/mongodb to 3.4.9-1
This commit is contained in:
parent
c67fb690e5
commit
a0903c9864
3 changed files with 87 additions and 81 deletions
|
@ -13,13 +13,14 @@ buildarch=8
|
|||
highmem=1
|
||||
|
||||
pkgname=mongodb
|
||||
pkgver=3.4.3
|
||||
pkgrel=2
|
||||
pkgver=3.4.9
|
||||
pkgrel=1
|
||||
pkgdesc='A high-performance, open source, schema-free document-oriented database'
|
||||
arch=('x86_64')
|
||||
url='http://www.mongodb.org'
|
||||
license=('AGPL3')
|
||||
depends=('pcre' 'snappy' 'openssl' 'libsasl' 'boost-libs' 'yaml-cpp' 'lsb-release' 'wiredtiger')
|
||||
depends=('pcre' 'snappy' 'openssl' 'libsasl' 'boost-libs' 'yaml-cpp' 'lsb-release' 'wiredtiger'
|
||||
'libstemmer')
|
||||
makedepends=('scons' 'readline' 'ncurses' 'libpcap' 'boost')
|
||||
checkdepends=('python2-pymongo' 'python2-yaml')
|
||||
optdepends=('libpcap: needed for mongosniff'
|
||||
|
@ -29,13 +30,13 @@ install=mongodb.install
|
|||
source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz"
|
||||
'mongodb.conf' 'mongodb.service' 'mongodb-3.2.10-boost-1.62.0.patch'
|
||||
'asio-openssl-1.1.0.patch'
|
||||
'openssl-1.1.0.patch')
|
||||
sha512sums=('e2fb5fc2f02e9dbca6c30d2e2aaf1569180ca15198226cdad46f47f44905293afe77763fe2e5c9add0b5bcbd62b7ce7905fb183068c0738cdeeae8d39f848cef'
|
||||
'using-std-string.patch')
|
||||
sha512sums=('b6803c91e9cda8e6963359386d2014d03f68151f64d580d5baacc3c66b2adabc62ee5c2cf203b9aee7d11942934afc6f9e17364d2f3aafd238ba88d13c77f26d'
|
||||
'05dead727d3ea5fe8af1a3c3888693f6b3e2b8cb7f197a5d793352e10d2c524e96c9a5c55ad2e88c1114643a9612ec0b26a2574b48a5260a9b51ec8941461f1c'
|
||||
'177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9'
|
||||
'd6f014d2778decde268b9e856d812bc61f7c45986aad751e44fdece39aa8a96505b77e0b917ea38880501497e01d4b051a6f3205c82af653425b5247cd813417'
|
||||
'aea8fecb17be07e4517822798810751114f61164dc3ab3e335a7b837876acb918d287caa8b9fe32d7b1d9e7cad2e677d9818a1532ae08b8b013840d2a68b25f5'
|
||||
'62ec95ac4eef42b6fefa1063336812e5e6a78f2d119e5f9a7206e063c5b5a859d160ce77bc57123150a55a51e8695eefea7e301259154bc009bfe027d40de314')
|
||||
'f2e1e9b9418701738c7a9b6db4f894dc3c35a6fbbf9ded8321080350ba692c6c8b11d6f507043a5bdae83fe8f9806426c0f33acd94895412369e4776c2358052')
|
||||
|
||||
_scons_args=(
|
||||
--use-system-boost
|
||||
|
@ -44,21 +45,25 @@ _scons_args=(
|
|||
--use-system-yaml
|
||||
--use-system-zlib
|
||||
--use-system-wiredtiger
|
||||
--use-system-stemmer
|
||||
--use-sasl-client
|
||||
--ssl
|
||||
--disable-warnings-as-errors
|
||||
# --use-system-asio # https://jira.mongodb.org/browse/SERVER-21839
|
||||
# --use-system-v8 # Doesn't compile
|
||||
# --use-system-icu
|
||||
# --use-system-tcmalloc # Disabled as upstream suggests in https://jira.mongodb.org/browse/SERVER-17447?focusedCommentId=841890&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-841890
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cd mongodb-src-r${pkgver}
|
||||
patch -Np1 -i ../using-std-string.patch
|
||||
patch -Np1 -i ../mongodb-3.2.10-boost-1.62.0.patch
|
||||
patch -Np1 -i ../openssl-1.1.0.patch
|
||||
|
||||
sed -e 's|-std=c++11|-std=gnu++11|g' -i SConstruct # tests use hex floats, not supported in plain C++
|
||||
|
||||
sed -i '/#include "mongo.platform.strnlen.h"/a using namespace std;' src/mongo/bson/bsonelement.h
|
||||
|
||||
cd src/third_party/asio-asio-1-11-0
|
||||
patch -Np1 -i "${srcdir}/asio-openssl-1.1.0.patch"
|
||||
}
|
||||
|
@ -76,9 +81,11 @@ check() {
|
|||
|
||||
# Setting LANG to workaround the following test error:
|
||||
# std::exception: locale::facet::_S_create_c_locale name not valid
|
||||
scons unittests "${_scons_args[@]}"
|
||||
sed -i -e '/oplog_buffer_collection_test/d' build/unittests.txt
|
||||
LANG=en_US.UTF-8 python2 buildscripts/resmoke.py --suites=unittests
|
||||
|
||||
# 3.4.9: Tests hang
|
||||
# scons unittests "${_scons_args[@]}"
|
||||
# sed -i -e '/oplog_buffer_collection_test/d' build/unittests.txt
|
||||
# LANG=en_US.UTF-8 python2 buildscripts/resmoke.py --suites=unittests
|
||||
|
||||
scons dbtest "${_scons_args[@]}"
|
||||
python2 buildscripts/resmoke.py --suites=dbtest
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
diff --git a/src/mongo/crypto/crypto_openssl.cpp b/src/mongo/crypto/crypto_openssl.cpp
|
||||
index ca6844a..cd9bf17 100644
|
||||
--- a/src/mongo/crypto/crypto_openssl.cpp
|
||||
+++ b/src/mongo/crypto/crypto_openssl.cpp
|
||||
@@ -45,19 +45,26 @@ namespace crypto {
|
||||
* Computes a SHA-1 hash of 'input'.
|
||||
*/
|
||||
bool sha1(const unsigned char* input, const size_t inputLen, unsigned char* output) {
|
||||
- EVP_MD_CTX digestCtx;
|
||||
- EVP_MD_CTX_init(&digestCtx);
|
||||
- ON_BLOCK_EXIT(EVP_MD_CTX_cleanup, &digestCtx);
|
||||
+ EVP_MD_CTX *digestCtx;
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
+ digestCtx = (EVP_MD_CTX*) malloc(sizeof(EVP_MD_CTX));
|
||||
+ EVP_MD_CTX_init(digestCtx);
|
||||
+ ON_BLOCK_EXIT(free, digestCtx);
|
||||
+ ON_BLOCK_EXIT(EVP_MD_CTX_cleanup, digestCtx);
|
||||
+#else
|
||||
+ digestCtx = EVP_MD_CTX_new();
|
||||
+ ON_BLOCK_EXIT(EVP_MD_CTX_free, digestCtx);
|
||||
+#endif
|
||||
|
||||
- if (1 != EVP_DigestInit_ex(&digestCtx, EVP_sha1(), NULL)) {
|
||||
+ if (1 != EVP_DigestInit_ex(digestCtx, EVP_sha1(), NULL)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (1 != EVP_DigestUpdate(&digestCtx, input, inputLen)) {
|
||||
+ if (1 != EVP_DigestUpdate(digestCtx, input, inputLen)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
- return (1 == EVP_DigestFinal_ex(&digestCtx, output, NULL));
|
||||
+ return (1 == EVP_DigestFinal_ex(digestCtx, output, NULL));
|
||||
}
|
||||
|
||||
/*
|
||||
diff --git a/src/mongo/util/net/ssl_manager.cpp b/src/mongo/util/net/ssl_manager.cpp
|
||||
index 504e3d5..16c34fa 100644
|
||||
--- a/src/mongo/util/net/ssl_manager.cpp
|
||||
+++ b/src/mongo/util/net/ssl_manager.cpp
|
||||
@@ -741,7 +741,7 @@ bool SSLManager::_parseAndValidateCertificate(const std::string& keyFile,
|
||||
const std::string& keyPassword,
|
||||
std::string* subjectName,
|
||||
Date_t* serverCertificateExpirationDate) {
|
||||
- BIO* inBIO = BIO_new(BIO_s_file_internal());
|
||||
+ BIO* inBIO = BIO_new(BIO_s_file());
|
||||
if (inBIO == NULL) {
|
||||
error() << "failed to allocate BIO object: " << getSSLErrorMessage(ERR_get_error());
|
||||
return false;
|
||||
@@ -800,7 +800,7 @@ bool SSLManager::_setupPEM(SSL_CTX* context,
|
||||
return false;
|
||||
}
|
||||
|
||||
- BIO* inBio = BIO_new(BIO_s_file_internal());
|
||||
+ BIO* inBio = BIO_new(BIO_s_file());
|
||||
if (!inBio) {
|
||||
error() << "failed to allocate BIO object: " << getSSLErrorMessage(ERR_get_error());
|
||||
return false;
|
||||
@@ -1276,7 +1276,11 @@ SSLPeerInfo SSLManager::parseAndValidatePeerCertificateDeprecated(const SSLConne
|
||||
|
||||
StatusWith<stdx::unordered_set<RoleName>> SSLManager::_parsePeerRoles(X509* peerCert) const {
|
||||
// exts is owned by the peerCert
|
||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
STACK_OF(X509_EXTENSION)* exts = peerCert->cert_info->extensions;
|
||||
+#else
|
||||
+ const STACK_OF(X509_EXTENSION)* exts = X509_get0_extensions(peerCert);
|
||||
+#endif
|
||||
|
||||
int extCount = 0;
|
||||
if (exts) {
|
70
community/mongodb/using-std-string.patch
Normal file
70
community/mongodb/using-std-string.patch
Normal file
|
@ -0,0 +1,70 @@
|
|||
diff --git a/src/mongo/db/dbwebserver.cpp b/src/mongo/db/dbwebserver.cpp
|
||||
index b202e05..0255613 100644
|
||||
--- a/src/mongo/db/dbwebserver.cpp
|
||||
+++ b/src/mongo/db/dbwebserver.cpp
|
||||
@@ -67,6 +67,7 @@ namespace mongo {
|
||||
using std::map;
|
||||
using std::stringstream;
|
||||
using std::vector;
|
||||
+using std::string;
|
||||
|
||||
using namespace html;
|
||||
|
||||
diff --git a/src/mongo/db/matcher/expression_leaf.cpp b/src/mongo/db/matcher/expression_leaf.cpp
|
||||
index d562bff..b96a36d 100644
|
||||
--- a/src/mongo/db/matcher/expression_leaf.cpp
|
||||
+++ b/src/mongo/db/matcher/expression_leaf.cpp
|
||||
@@ -202,7 +202,7 @@ void ComparisonMatchExpression::debugString(StringBuilder& debug, int level) con
|
||||
}
|
||||
|
||||
void ComparisonMatchExpression::serialize(BSONObjBuilder* out) const {
|
||||
- string opString = "";
|
||||
+ std::string opString = "";
|
||||
switch (matchType()) {
|
||||
case LT:
|
||||
opString = "$lt";
|
||||
@@ -884,7 +884,7 @@ void BitTestMatchExpression::debugString(StringBuilder& debug, int level) const
|
||||
}
|
||||
|
||||
void BitTestMatchExpression::serialize(BSONObjBuilder* out) const {
|
||||
- string opString = "";
|
||||
+ std::string opString = "";
|
||||
|
||||
switch (matchType()) {
|
||||
case BITS_ALL_SET:
|
||||
diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
|
||||
index 05faad1..7fbc062 100644
|
||||
--- a/src/mongo/db/repl/master_slave.cpp
|
||||
+++ b/src/mongo/db/repl/master_slave.cpp
|
||||
@@ -81,6 +81,7 @@ using std::set;
|
||||
using std::stringstream;
|
||||
using std::unique_ptr;
|
||||
using std::vector;
|
||||
+using std::string;
|
||||
|
||||
namespace mongo {
|
||||
namespace repl {
|
||||
diff --git a/src/mongo/shell/bench.cpp b/src/mongo/shell/bench.cpp
|
||||
index 040002f..cb0f6f4 100644
|
||||
--- a/src/mongo/shell/bench.cpp
|
||||
+++ b/src/mongo/shell/bench.cpp
|
||||
@@ -78,6 +78,7 @@ namespace mongo {
|
||||
using std::unique_ptr;
|
||||
using std::cout;
|
||||
using std::map;
|
||||
+using std::string;
|
||||
|
||||
const std::map<OpType, std::string> opTypeName{{OpType::NONE, "none"},
|
||||
{OpType::NOP, "nop"},
|
||||
diff --git a/src/mongo/util/net/miniwebserver.cpp b/src/mongo/util/net/miniwebserver.cpp
|
||||
index 5f4165d..7a7d071 100644
|
||||
--- a/src/mongo/util/net/miniwebserver.cpp
|
||||
+++ b/src/mongo/util/net/miniwebserver.cpp
|
||||
@@ -47,6 +47,7 @@ namespace mongo {
|
||||
using std::shared_ptr;
|
||||
using std::stringstream;
|
||||
using std::vector;
|
||||
+using std::string;
|
||||
|
||||
MiniWebServer::MiniWebServer(const string& name, const string& ip, int port, ServiceContext* ctx)
|
||||
: Listener(name, ip, port, ctx, false, false) {}
|
Loading…
Reference in a new issue