diff options
author | gdt <gdt@pkgsrc.org> | 2020-03-05 01:41:51 +0000 |
---|---|---|
committer | gdt <gdt@pkgsrc.org> | 2020-03-05 01:41:51 +0000 |
commit | 74d1c8e7d6639497abe476c87dbfd90b5da7ffd2 (patch) | |
tree | 19626230c1c067795a69a4b79ba1dd68b8eccc80 /databases | |
parent | 22e13d52acc47328737798c3bd08ab4a10e73560 (diff) | |
download | pkgsrc-74d1c8e7d6639497abe476c87dbfd90b5da7ffd2.tar.gz |
databases/mongodb3: Add patches for C++ fussiness and fdatasync
For fdatasync, skip erroring on EBADF, rather than never trying it.
The issue might be use on a directory, but that's unclear.
It remains to document the patches, file them upstream, and record the
upstream tracker URLs.
Patches are due to Paul Ripke via pkgsrc-users.
Diffstat (limited to 'databases')
4 files changed, 32 insertions, 11 deletions
diff --git a/databases/mongodb3/Makefile b/databases/mongodb3/Makefile index 53fd2b92793..8deee7c8c30 100644 --- a/databases/mongodb3/Makefile +++ b/databases/mongodb3/Makefile @@ -1,10 +1,11 @@ -# $NetBSD: Makefile,v 1.8 2020/02/01 20:05:54 adam Exp $ +# $NetBSD: Makefile,v 1.9 2020/03/05 01:41:51 gdt Exp $ # This package is intentionally old to avoid: # Server Side Public License # c++17 (and c++14 if 3.4.4 does not already need it) DISTNAME= mongodb-src-r3.4.24 PKGNAME= ${DISTNAME:S/src-r//} +PKGREVISION= 1 CATEGORIES= databases MASTER_SITES= http://fastdl.mongodb.org/src/ diff --git a/databases/mongodb3/distinfo b/databases/mongodb3/distinfo index 916a529adb8..a751ff4dedc 100644 --- a/databases/mongodb3/distinfo +++ b/databases/mongodb3/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.5 2020/02/01 20:05:54 adam Exp $ +$NetBSD: distinfo,v 1.6 2020/03/05 01:41:51 gdt Exp $ SHA1 (mongodb-src-r3.4.24.tar.gz) = 86909b211998f0cbc8104df774aecb3d00a01763 RMD160 (mongodb-src-r3.4.24.tar.gz) = f7e4bfe1e2bd046f1a6c0f2695762076ffee5ae5 @@ -11,6 +11,7 @@ SHA1 (patch-src_mongo_db_query_collation_collator__interface__icu.h) = 43c94a970 SHA1 (patch-src_mongo_db_repl_isself.c) = 82321c918b91ce1a68ce79c14589126aca6baf96 SHA1 (patch-src_mongo_db_repl_master__slave.cpp) = 2f37f0819a2b2743df01f6b6ab0b3013b3b7d726 SHA1 (patch-src_mongo_db_repl_oplog__fetcher.cpp) = e12dbfbd4e70ee210cdd4eb0582661666e8eb06a +SHA1 (patch-src_mongo_db_storage_mmap__v1_durop.h) = def5e3455a58ece20e4db0251536ff0a3b7be0b4 SHA1 (patch-src_mongo_installer_msi_SConscript) = 78424fa10f90470dd941b900ef8fd131d28f6e65 SHA1 (patch-src_mongo_platform_random.cpp) = 9af0fd82a653bf4f273ce107e54c5e63eaeb3b85 SHA1 (patch-src_mongo_platform_stack__locator__netbsd.cpp) = 3f67bbae82c0f3cae410a21219589bc082e7b9b1 @@ -26,4 +27,4 @@ SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs. SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h) = 7ddbb4e3bf4126a1be2195acc82ff859e8130a01 SHA1 (patch-src_third__party_s2_base_port.h) = 892ce91b5aaa432f34e1e7c169b7fd6eea2a3e94 SHA1 (patch-src_third__party_wiredtiger_SConscript) = 71fd2326a4e95fec674326225bce5ccf5793aa5a -SHA1 (patch-src_third__party_wiredtiger_src_os__posix_os__fs.c) = aefd45bcbb854fd9877fcd0e96f1351d2ee6c3c2 +SHA1 (patch-src_third__party_wiredtiger_src_os__posix_os__fs.c) = 4480b5f3a58dbaa9c205925e3a67a3235917b90e diff --git a/databases/mongodb3/patches/patch-src_mongo_db_storage_mmap__v1_durop.h b/databases/mongodb3/patches/patch-src_mongo_db_storage_mmap__v1_durop.h new file mode 100644 index 00000000000..4094d0c9cfe --- /dev/null +++ b/databases/mongodb3/patches/patch-src_mongo_db_storage_mmap__v1_durop.h @@ -0,0 +1,16 @@ +$NetBSD: patch-src_mongo_db_storage_mmap__v1_durop.h,v 1.1 2020/03/05 01:41:52 gdt Exp $ + +\todo Explain this patch. + +\todo File upstream and add upstream bugtracker URL. + +--- src/mongo/db/storage/mmap_v1/durop.h.orig 2020-01-08 16:30:41.000000000 +0000 ++++ src/mongo/db/storage/mmap_v1/durop.h +@@ -30,6 +30,7 @@ + + #pragma once + ++#include <memory> + + #include "mongo/db/storage/mmap_v1/dur_journalformat.h" + #include "mongo/db/storage/paths.h" diff --git a/databases/mongodb3/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c b/databases/mongodb3/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c index dcb6c60464e..62cc69a4f9d 100644 --- a/databases/mongodb3/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c +++ b/databases/mongodb3/patches/patch-src_third__party_wiredtiger_src_os__posix_os__fs.c @@ -1,15 +1,18 @@ -$NetBSD: patch-src_third__party_wiredtiger_src_os__posix_os__fs.c,v 1.1 2020/02/01 20:05:54 adam Exp $ +$NetBSD: patch-src_third__party_wiredtiger_src_os__posix_os__fs.c,v 1.2 2020/03/05 01:41:52 gdt Exp $ On NetBSD, fdatasync() fails with "Bad file descriptor". +\todo Explain if this is only for fdatasync on directories vs files. + +\todo File upstream and add upstream bugtracker URL. --- src/third_party/wiredtiger/src/os_posix/os_fs.c.orig 2020-01-08 16:30:41.000000000 +0000 +++ src/third_party/wiredtiger/src/os_posix/os_fs.c -@@ -100,7 +100,7 @@ __posix_sync( - ret, "%s: %s: fcntl(F_FULLFSYNC)", name, func); - } - #endif --#if defined(HAVE_FDATASYNC) -+#if defined(HAVE_FDATASYNC) && !defined(__NetBSD__) +@@ -103,7 +103,7 @@ __posix_sync( + #if defined(HAVE_FDATASYNC) /* See comment in __posix_sync(): sync cannot be retried or fail. */ WT_SYSCALL(fdatasync(fd), ret); - if (ret == 0) +- if (ret == 0) ++ if (ret == 0 || errno == EBADF) + return (0); + WT_PANIC_RET(session, ret, "%s: %s: fdatasync", name, func); + #else |