diff options
-rw-r--r-- | testing/mongodb/10-fix-poll-h.patch | 11 | ||||
-rw-r--r-- | testing/mongodb/20-fix-libc-version.patch | 29 | ||||
-rw-r--r-- | testing/mongodb/30-fix-backtrace.patch | 24 | ||||
-rw-r--r-- | testing/mongodb/APKBUILD | 45 | ||||
-rw-r--r-- | testing/mongodb/backtrace.patch | 14 | ||||
-rw-r--r-- | testing/mongodb/fix-asio-strerror_r.patch | 28 |
6 files changed, 84 insertions, 67 deletions
diff --git a/testing/mongodb/10-fix-poll-h.patch b/testing/mongodb/10-fix-poll-h.patch deleted file mode 100644 index 0ef14f4fed..0000000000 --- a/testing/mongodb/10-fix-poll-h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- orig/mongodb-src-r3.0.2/src/mongo/util/net/socket_poll.h -+++ mongodb-src-r3.0.2/src/mongo/util/net/socket_poll.h -@@ -29,7 +29,7 @@ - #pragma once - - #ifndef _WIN32 --# include <sys/poll.h> -+# include <poll.h> - #else - # if defined(NTDDI_VERSION) && ( !defined(NTDDI_VISTA) || ( NTDDI_VERSION < NTDDI_VISTA ) ) - // These are only defined in winsock2.h on newer windows but we need them everywhere. diff --git a/testing/mongodb/20-fix-libc-version.patch b/testing/mongodb/20-fix-libc-version.patch index 3b213cc3d5..1f7b517c94 100644 --- a/testing/mongodb/20-fix-libc-version.patch +++ b/testing/mongodb/20-fix-libc-version.patch @@ -1,7 +1,7 @@ diff --git a/src/mongo/util/processinfo_linux2.cpp b/src/mongo/util/processinfo_linux2.cpp index d1ed23a..0c1011e 100644 ---- a/src/mongo/util/processinfo_linux2.cpp -+++ b/src/mongo/util/processinfo_linux2.cpp +--- a/src/mongo/util/processinfo_linux.cpp ++++ b/src/mongo/util/processinfo_linux.cpp @@ -335,6 +335,7 @@ public: paths.push_back("/etc/debian_release"); paths.push_back("/etc/slackware-version"); @@ -25,20 +25,17 @@ index d1ed23a..0c1011e 100644 // docs claim hblkhd is included in uordblks but it isn't LinuxProc p(_pid); -diff --git a/src/mongo/util/processinfo_linux2.cpp b/src/mongo/util/processinfo_linux2.cpp -index 0c1011e..755a2cc 100644 ---- a/src/mongo/util/processinfo_linux2.cpp -+++ b/src/mongo/util/processinfo_linux2.cpp -@@ -34,7 +34,11 @@ - #include <stdio.h> - #include <unistd.h> - #include <sys/mman.h> --#include <gnu/libc-version.h> -+#ifdef __GLIBC__ -+# include <gnu/libc-version.h> -+#else -+# define gnu_get_libc_version(x) "unknown" -+#endif +--- ./src/mongo/util/processinfo_linux.cpp.orig ++++ ./src/mongo/util/processinfo_linux.cpp +@@ -37,8 +37,10 @@ #include <sys/utsname.h> + #ifdef __UCLIBC__ + #include <features.h> +-#else ++#elif defined(__GLIBC__) + #include <gnu/libc-version.h> ++#else ++#define gnu_get_libc_version(x) "unknown" + #endif #include "processinfo.h" diff --git a/testing/mongodb/30-fix-backtrace.patch b/testing/mongodb/30-fix-backtrace.patch deleted file mode 100644 index bf576e2415..0000000000 --- a/testing/mongodb/30-fix-backtrace.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- orig/mongodb-src-r3.0.2/src/mongo/platform/backtrace.cpp -+++ mongodb-src-r3.0.2/src/mongo/platform/backtrace.cpp -@@ -28,6 +28,12 @@ - #if !defined(_WIN32) - #if defined(__sunos__) || !defined(MONGO_HAVE_EXECINFO_BACKTRACE) - -+// dlfcn.h requires _GNU_SOURCE to be defined in order to export -+// Dl_* structures. Issue gonna be addressed in 3.1.3, see SERVER-17199 -+#ifndef _GNU_SOURCE -+# define _GNU_SOURCE -+#endif -+ - #include "mongo/platform/backtrace.h" - - #include <boost/smart_ptr/scoped_array.hpp> -@@ -42,6 +48,8 @@ - - using std::string; - using std::vector; -+ -+typedef Dl_info Dl_info_t; - - namespace mongo { - namespace pal { diff --git a/testing/mongodb/APKBUILD b/testing/mongodb/APKBUILD index ad1c817233..db714416ae 100644 --- a/testing/mongodb/APKBUILD +++ b/testing/mongodb/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Filipp Andronov <filipp.andronov@gmail.com> pkgname=mongodb -pkgver=3.0.6 +pkgver=3.2.1 pkgrel=0 pkgdesc='A high-performance, open source, schema-free document-oriented database' url='http://www.mongodb.org' @@ -9,13 +9,15 @@ arch='x86_64' license='AGPL3' pkgusers="mongodb" depends= -depends_dev="scons openssl-dev libexecinfo-dev pcre-dev wiredtiger-dev" +depends_dev="scons openssl-dev pcre-dev wiredtiger-dev snappy-dev boost-dev + asio-dev libpcap-dev" makedepends="$depends_dev" install="$pkgname.pre-install" source="http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz 20-fix-libc-version.patch - 30-fix-backtrace.patch 40-fix-elf-native-class.patch + backtrace.patch + fix-asio-strerror_r.patch mongodb.confd mongodb.initd @@ -39,8 +41,15 @@ source="http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz # contribution strongly welcome :D # _builddir="$srcdir"/$pkgname-src-r$pkgver -_buildops="--variant-dir=build --64 --allocator=system --use-system-pcre \ - --use-system-wiredtiger --extralib=libexecinfo --disable-warnings-as-errors" +_buildopts=" + --allocator=system \ + --disable-warnings-as-errors \ + --use-system-boost \ + --use-system-pcre \ + --use-system-snappy \ + --use-system-wiredtiger \ + --use-system-zlib \ + " prepare() { cd "$_builddir" @@ -57,14 +66,15 @@ build() { cd "$_builddir" export SCONSFLAGS="$MAKEFLAGS" - scons $_buildops --prefix=$pkgdir/usr core + scons $_buildopts --prefix=$pkgdir/usr core } package() { cd "$_builddir" # install mongo targets - scons $_buildops --prefix=$pkgdir/usr install + export SCONSFLAGS="$MAKEFLAGS" + scons $_buildopts --prefix=$pkgdir/usr install # install alpine specific files install -dm700 "$pkgdir/var/lib/mongodb" @@ -79,28 +89,31 @@ package() { install -Dm644 "$srcdir/mongos.confd" "$pkgdir/etc/conf.d/mongos" } -md5sums="1cda3caf0d63ce9bae20de0fec7baccd mongodb-src-r3.0.6.tar.gz -9419a078d1cc62d6cb27d9585028e3c3 20-fix-libc-version.patch -4b27b6c9d0216234ac6a24106b624381 30-fix-backtrace.patch +md5sums="a9f150f8bead9e8afd3ab28492167073 mongodb-src-r3.2.1.tar.gz +7806ba5e8af9b6f99e8d88edd31e4b49 20-fix-libc-version.patch 04a348397be8ca7471d404056d8a1490 40-fix-elf-native-class.patch +86a988b5d4402227d177b8a1167008e8 backtrace.patch +cd0833592e3a23e729ebd71eb756318c fix-asio-strerror_r.patch 7d2f94bed7bfacd32fcd52dfd931f077 mongodb.confd 792a0b53b3e843cf14176c5beb8cdfe1 mongodb.initd 49df78833de4cb6e2b9b1ab9da52c3ac mongodb.logrotate 33b23ee722f6e5d15eb6d9c2723a346f mongos.confd 28611e6796d71c21661dd3d7ee8f23b8 mongos.initd" -sha256sums="609f6bd416ed11898b49406332b8ff301de239ba72df0bdbf1603233229c822d mongodb-src-r3.0.6.tar.gz -dc536f728b27e0a01406a4a99afd4f02e86514d225ad7eb71834bc18db6b9861 20-fix-libc-version.patch -7630b7b55cd2b3e836c441e5ac13b4a111ef3552a9576433a58bd839a1b9259b 30-fix-backtrace.patch +sha256sums="50431a3ba5ab68bd0bed4a157a8528ca27753a63cf101f13135255e4e9d42f15 mongodb-src-r3.2.1.tar.gz +74bf7d84584e038076581d2a7f7c1aedcd80bcdf25247ce905e9c36907272b62 20-fix-libc-version.patch 3a863660113d29728d7a852b3fba73926697b496848f8ccc4d8e73e6614cfdfc 40-fix-elf-native-class.patch +300d9f6b819730de54018d4b418eb7f921ba9c83fad4958a040544b076160848 backtrace.patch +ec6d404221f02706ef2e52e00e414e98666dcc3606e78c9b3d33dfbd42a1eae7 fix-asio-strerror_r.patch a4ca29c577428c02cd0b0a8b46756df5f53a05519c9d13c270533cf99b9b819d mongodb.confd 7e39fbd4dc18dba21c8767931683f4795e58e0e91b9f9a5842539923ded453c9 mongodb.initd 76994c32d999def5c925bd7be3f96687b3406f1d67b89aa6a4df8053025b1e01 mongodb.logrotate 2afd582564623da0e928ca667d37bef467334c82d08b49301f1f6c16ba177767 mongos.confd 1c48327b02bb9e1aaacaa39a4c0e9976a765a0ab0992d4e27cc4c36a33fefe2d mongos.initd" -sha512sums="1990e9011ae586e30aef28be58f9fc6d8b7f45b787dbde9785c82eff6fb0a70ea45152e450c032a898e6464bbb9b1683082f2a072ba874f7532e167330658175 mongodb-src-r3.0.6.tar.gz -08a2ec09d4cce55e00eb8dce3b52c0f8a6dfca9f67b6194934ec95afef1c60efb8982ae6b88bff571591cdfeede6a732879ab0f201a78a794530ff0a7e917dd1 20-fix-libc-version.patch -914c896c7736330834a2a66b60615656b67df5348c65b8ba48478e98044d1fae781082aa510263a7f7a3cb13fa2c019747600250e5b584a12870553cf9fe1f99 30-fix-backtrace.patch +sha512sums="5ce0af3e70010e3602dd2f7c49c80feee1c89903a694db038543a7f399f4296f2c04bf3aee7089da0b24aa9239aa79823e6f5408bf0f3c6fade6166e94070309 mongodb-src-r3.2.1.tar.gz +b9fdacb273d5a4e1e60735846b262287f84ca6cbded9393d182f69158d3162a50cae5d834f76860dcb7e965a04f5fb510d32f0757d5343168eb15f6610f05e59 20-fix-libc-version.patch 56db8f43afc94713ac65b174189e2dd903b5e1eff0b65f1bdac159e52ad4de6606c449865d73bd47bffad6a8fc339777e2b11395596e9a476867d94a219c7925 40-fix-elf-native-class.patch +7d097f497cb910c9cb81086cd8c222e43456d1a6de4adfe3e97a4d99add454279350fdeb7305dab84b3deca04afd824036d4065ee0fb8cdd8c03e96d98ee86af backtrace.patch +f829b1ad542db3ee776d444243b8b47ab4e48a7386d9b199d7b1adafd31556cf173a5683b78ee735d6a69999ad9af5ad152fde955bbe8865f7910718991ce97c fix-asio-strerror_r.patch 9bcd870742c31bf25f34188ddc3c414de1103e9860dea9f54eee276b89bc2cf1226abab1749c5cda6a6fb0880e541373754e5e83d63cc7189d4b9c274fd555c3 mongodb.confd 2cb295ac0eb44acb4533c86d6d0988d5f760361a43cff7845713f3e2cf0e37023d23790a2926c613bf2b0668060c0b68d59000db52daaacd8af10e701a8b4192 mongodb.initd 8c089b1a11f494e4148fb4646265964c925bf937633a65e395ee1361d42facf837871dd493a9a2e0f480ae0e0829dbd3ed60794c5334e2716332e131fc5c2c51 mongodb.logrotate diff --git a/testing/mongodb/backtrace.patch b/testing/mongodb/backtrace.patch new file mode 100644 index 0000000000..f110c7484d --- /dev/null +++ b/testing/mongodb/backtrace.patch @@ -0,0 +1,14 @@ +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 --git a/testing/mongodb/fix-asio-strerror_r.patch b/testing/mongodb/fix-asio-strerror_r.patch new file mode 100644 index 0000000000..f2fe5cb1eb --- /dev/null +++ b/testing/mongodb/fix-asio-strerror_r.patch @@ -0,0 +1,28 @@ +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) + } |