Commit e94cb285 authored by Marc Vertes's avatar Marc Vertes Committed by Leonardo Arena

community/mongodb: upgrade to 3.6.1

parent bca83237
# Maintainer: Filipp Andronov <filipp.andronov@gmail.com>
# Contributor: Marc Vertes <marc.vertes@ugrid.net>
# Contributor: Marc Vertes <mvertes@free.fr>
pkgname=mongodb
pkgver=3.4.10
pkgver=3.6.1
pkgrel=0
pkgdesc='A high-performance, open source, schema-free document-oriented database'
url='http://www.mongodb.org'
......@@ -10,21 +10,16 @@ license='AGPL3'
pkgusers="mongodb"
pkggroups="mongodb"
depends=
makedepends="scons paxmark libressl-dev pcre-dev snappy-dev boost-dev asio-dev
libpcap-dev wiredtiger-dev zlib-dev cyrus-sasl-dev yaml-cpp-dev"
makedepends="scons py-setuptools py-cheetah py2-typing py-yaml paxmark
libressl-dev pcre-dev snappy-dev boost-dev asio-dev libpcap-dev
wiredtiger-dev zlib-dev cyrus-sasl-dev yaml-cpp-dev"
install="$pkgname.pre-install"
source="http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz
40-fix-elf-native-class.patch
backtrace.patch
fix-asio-strerror_r.patch
fix-libressl.patch
fix-log.patch
fix-default-stacksize.patch
fix-elf-native-class.patch
fix-processinfo_linux.patch
fix-std-string.patch
set-default-stacksize.patch
wiredtiger-strtouq.patch
boost160.patch
boost162.patch
fix-resolv.patch
fix-strerror_r.patch
mongodb.confd
mongodb.initd
......@@ -32,21 +27,7 @@ source="http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz
mongos.confd
mongos.initd
"
#
# 1. Force 64bits because of 40-fix-elf-native-class.patch
# 2. Use system allocator as tc-malloc doesn't build
# 2. Use as much system libs as possible, boost doesn't compile foe example
#
# TODO: proper elf-netive-class fix
# TODO: check if there are more libs could be replaced by system counterparts (see libpcap does't use, for example)
# TODO: proper fix for heap usage
# Right now code patched to always return 0 for heap usage statistics. That is necessary because musl malloc info
# isn't compatible with glibc and breaks build. It is _possible_ to patch code to return 0
# because on 64bit platform statistics is broken and returns wrong numbers, see SERVER-9168 mongo bug.
#
# There is a way to return propper value when tc-malloc used, but it doesn't compile for libmusl. Work is in progress,
# contribution strongly welcome :D
#
_builddir="$srcdir"/$pkgname-src-r$pkgver
_buildopts="
--allocator=system \
......@@ -102,18 +83,12 @@ package() {
install -Dm644 "$srcdir/mongos.confd" "$pkgdir/etc/conf.d/mongos"
}
sha512sums="6293dde40a8433477ba3b1cf77abbdb32b28ce58279cc616b488647c8ab71b5ab3eab2146058c4a74b9e00f0938f1415020e2f26ea01f2b29dd78a1a38d58c3a mongodb-src-r3.4.10.tar.gz
56db8f43afc94713ac65b174189e2dd903b5e1eff0b65f1bdac159e52ad4de6606c449865d73bd47bffad6a8fc339777e2b11395596e9a476867d94a219c7925 40-fix-elf-native-class.patch
7d097f497cb910c9cb81086cd8c222e43456d1a6de4adfe3e97a4d99add454279350fdeb7305dab84b3deca04afd824036d4065ee0fb8cdd8c03e96d98ee86af backtrace.patch
f829b1ad542db3ee776d444243b8b47ab4e48a7386d9b199d7b1adafd31556cf173a5683b78ee735d6a69999ad9af5ad152fde955bbe8865f7910718991ce97c fix-asio-strerror_r.patch
8f2832f10e47b1a9f413ab44eb2b75dbb7bc47282d3ba721f35d4a93bc4fcf18b88c5f1c2f0ccf28539bbf81ee4c5715c5b71506fa680d22cde0630f9b3e2d22 fix-libressl.patch
9e109a9131e8466496e94f7046e13fd40ec750c8de703e31d65cf3f6e80830e67e1438debaefc0e1150fe2bb08dbb42cf95890c51e9d98f354cfbb396500b5d4 fix-log.patch
sha512sums="ad02fac423186da725493bf82a417cf5f68b08afe91c67f007b46324dfde3d6b4c51ed8eb1a314da73563be498b844f79be66a4f5d1fb83095df6c5458bd6d1f mongodb-src-r3.6.1.tar.gz
1492137b0e3456d90a79617c1cd5ead5c71b1cfaae9ee41c75d56cd25f404ec73a690f95ce0d8c064c0a14206daca8070aa769b7cdfa904a338a425b52c293fa fix-default-stacksize.patch
56db8f43afc94713ac65b174189e2dd903b5e1eff0b65f1bdac159e52ad4de6606c449865d73bd47bffad6a8fc339777e2b11395596e9a476867d94a219c7925 fix-elf-native-class.patch
026d20fa1a0f1e27150b833664300250386d7e0d73c0778f81f70242e93e8a16e5607716693bbcdd1efb328fa84c7284e2c6c7e1ac92259b97a9d402975cf709 fix-processinfo_linux.patch
a6c237f03fd09d960058eb92eab41e8dd7298e628a60656732d6751af90712d7359613b2c7241f7d893e675235631a9eef14495fbff8a52d25e792d62c3f6d30 fix-std-string.patch
1492137b0e3456d90a79617c1cd5ead5c71b1cfaae9ee41c75d56cd25f404ec73a690f95ce0d8c064c0a14206daca8070aa769b7cdfa904a338a425b52c293fa set-default-stacksize.patch
bbb323d428d59584703e8692bf4df7fe0d37c0324c23822bade2edd1ca78759191f778230b7107502a9d2f7f22afc84d4ea350139fc1d751ceb2fff219b9ddf8 wiredtiger-strtouq.patch
385c82875174caae433a3b381eb10f98a6fed0c8943788ddefff1de80a898e480bdbbf094a7783285cf2ae11ce3fc6878e57d58183d05be2f0837b206aaa4da6 boost160.patch
79edfd1a6eaba597b31a82e54722dccab288d8b8840a53f79140b5fca221b5acd9fbc770d99e46ea9fa0da502cdf18dd35d982c95a4aa341806c3d8b61fc732f boost162.patch
aac12cffc452f1dc365c65944a015476c2011b0975144879d28938c690fe6e77b6bd672e040b4c04c02cb002224e24d6f13adb083324f424ef4cdb79a3a71f6b fix-resolv.patch
94078abfa74583afef6b5c1f0b334b257cfe87b0db7c13309a9c63d915913d5237c776dbb52f6a23e9409ec390d29e2f7225e9b8c8c5efcbc35b015c613f600c fix-strerror_r.patch
9bcd870742c31bf25f34188ddc3c414de1103e9860dea9f54eee276b89bc2cf1226abab1749c5cda6a6fb0880e541373754e5e83d63cc7189d4b9c274fd555c3 mongodb.confd
74009794d566dd9d70ec93ffd95c830ee4696165574ecf87398165637fb40799b38d182ef54c50fd0772d589be94ade7f7a49247f3d31c1f012cb4e44cc9f5df mongodb.initd
8c089b1a11f494e4148fb4646265964c925bf937633a65e395ee1361d42facf837871dd493a9a2e0f480ae0e0829dbd3ed60794c5334e2716332e131fc5c2c51 mongodb.logrotate
......
diff --git a/SConstruct b/SConstruct
index 64c8387..3db1f3e 100644
--- a/SConstruct
+++ b/SConstruct
@@ -2292,7 +2292,8 @@ def doConfigure(myenv):
if (conf.CheckCXXHeader( "execinfo.h" ) and
conf.CheckDeclaration('backtrace', includes='#include <execinfo.h>') and
conf.CheckDeclaration('backtrace_symbols', includes='#include <execinfo.h>') and
- conf.CheckDeclaration('backtrace_symbols_fd', includes='#include <execinfo.h>')):
+ conf.CheckDeclaration('backtrace_symbols_fd', includes='#include <execinfo.h>') and
+ conf.CheckFunc('backtrace')):
conf.env.SetConfigHeaderDefine("MONGO_CONFIG_HAVE_EXECINFO_BACKTRACE")
diff -uprb mongodb-src-r3.2.0.orig/SConstruct mongodb-src-r3.2.0/SConstruct
--- mongodb-src-r3.2.0.orig/SConstruct 2015-12-02 21:01:34.000000000 +0200
+++ mongodb-src-r3.2.0/SConstruct 2015-12-22 11:18:23.613216445 +0200
@@ -2245,6 +2245,7 @@ def doConfigure(myenv):
# permit more than four parameters.
"BOOST_THREAD_DONT_PROVIDE_VARIADIC_THREAD",
"BOOST_SYSTEM_NO_DEPRECATED",
+ "BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE",
]
)
Derived from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/mongodb/patches/patch-src_mongo_db_fts_unicode_string.cpp v1.1
* Fix build with boost 1.62.0
--- a/src/mongo/db/fts/unicode/string.cpp 2016-09-26 12:10:04.000000000 +0000
+++ b/src/mongo/db/fts/unicode/string.cpp
@@ -274,7 +274,7 @@ bool String::substrMatch(const std::stri
// Case sensitive and diacritic sensitive.
return boost::algorithm::boyer_moore_search(
- haystack.begin(), haystack.end(), needle.begin(), needle.end()) != haystack.end();
+ haystack.begin(), haystack.end(), needle.begin(), needle.end()) != std::make_pair(haystack.end(), haystack.end());
}
} // namespace unicode
https://github.com/chriskohlhoff/asio/issues/94
diff --git a/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp b/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp
index 4e7badb..0eeae88 100644
--- a/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp
+++ b/src/third_party/asio-asio-1-11-0/asio/include/asio/impl/error_code.ipp
@@ -97,17 +97,14 @@ public:
#if defined(__sun) || defined(__QNX__) || defined(__SYMBIAN32__)
using namespace std;
return strerror(value);
-#elif defined(__MACH__) && defined(__APPLE__) \
- || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) \
- || defined(_AIX) || defined(__hpux) || defined(__osf__) \
- || defined(__ANDROID__)
+#elif defined(__GLIBC__) && defined(_GNU_SOURCE)
+ char buf[256] = "";
+ return strerror_r(value, buf, sizeof(buf));
+#else
char buf[256] = "";
using namespace std;
strerror_r(value, buf, sizeof(buf));
return buf;
-#else
- char buf[256] = "";
- return strerror_r(value, buf, sizeof(buf));
#endif
#endif // defined(ASIO_WINDOWS)
}
--- mongodb-src-r3.4.7/src/mongo/crypto/sha1_block_openssl.cpp.orig
+++ mongodb-src-r3.4.7/src/mongo/crypto/sha1_block_openssl.cpp
@@ -42,7 +42,7 @@
#include <openssl/evp.h>
#include <openssl/hmac.h>
#include <openssl/sha.h>
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
namespace {
// Copies of OpenSSL after 1.1.0 define new EVP digest routines. We must
// polyfill used definitions to interact with older OpenSSL versions.
--- mongodb-src-r3.4.7/src/mongo/util/net/ssl_manager.cpp.orig
+++ mongodb-src-r3.4.7/src/mongo/util/net/ssl_manager.cpp
@@ -150,7 +150,7 @@
#endif // MONGO_CONFIG_NEEDS_ASN1_ANY_DEFINITIONS
// clang-format on
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
// Copies of OpenSSL after 1.1.0 define new functions for interaction with
// X509 structure. We must polyfill used definitions to interact with older
// OpenSSL versions.
--- mongodb-src-r3.6.1/src/mongo/util/dns_query_posix-impl.h.orig
+++ mongodb-src-r3.6.1/src/mongo/util/dns_query_posix-impl.h
@@ -38,6 +38,14 @@
#include <resolv.h>
// clang-format on
+// Support deprecated resolver, as in musl libc
+#ifndef res_ninit
+#define res_nclose(arg)
+#define res_ninit(arg) res_init()
+#define res_nsearch(sta, nam, clas, typ, ans, alen) res_search(nam, clas, typ, ans, alen)
+#endif
+
+
#include <stdio.h>
#include <iostream>
--- mongodb-src-r3.4.7/src/mongo/db/dbwebserver.cpp.orig
+++ mongodb-src-r3.4.7/src/mongo/db/dbwebserver.cpp
@@ -67,6 +67,7 @@
using std::map;
using std::stringstream;
using std::vector;
+using std::string;
using namespace html;
--- mongodb-src-r3.4.7/src/mongo/db/repl/master_slave.cpp.orig
+++ mongodb-src-r3.4.7/src/mongo/db/repl/master_slave.cpp
@@ -78,6 +78,7 @@
using std::max;
using std::min;
using std::set;
+using std::string;
using std::stringstream;
using std::unique_ptr;
using std::vector;
--- mongodb-src-r3.4.7/src/mongo/db/matcher/expression_leaf.cpp.orig
+++ mongodb-src-r3.4.7/src/mongo/db/matcher/expression_leaf.cpp
@@ -46,6 +46,8 @@
namespace mongo {
+using std::string;
+
Status LeafMatchExpression::setPath(StringData path) {
_path = path;
return _elementPath.init(_path);
--- mongodb-src-r3.4.7/src/mongo/shell/bench.cpp.orig
+++ mongodb-src-r3.4.7/src/mongo/shell/bench.cpp
@@ -78,6 +78,7 @@
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"},
--- a/src/mongo/util/log.cpp
+++ b/src/mongo/util/log.cpp
@@ -101,9 +101,7 @@
--- mongodb-src-r3.6.1/src/mongo/util/errno_util.cpp.orig
+++ mongodb-src-r3.6.1/src/mongo/util/errno_util.cpp
@@ -58,9 +58,7 @@
char buf[kBuflen];
char* msg{nullptr};
......
--- mongodb-src-r3.2.3/src/third_party/wiredtiger/build_linux/wiredtiger_config.h.orig
+++ mongodb-src-r3.2.3/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
@@ -101,7 +101,7 @@
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtouq' function. */
-#define HAVE_STRTOUQ 1
+/* #undef HAVE_STRTOUQ 1 */
/* Define to 1 if you have the `sync_file_range' function. */
/* #undef HAVE_SYNC_FILE_RANGE */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment