Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Re: mongodb/44 vs boost 1.87
To:
ports@openbsd.org
Date:
Wed, 4 Dec 2024 12:27:02 +0100

Download raw body.

Thread
On Thu, Nov 21, 2024 at 11:40:24AM +0100, Theo Buehler wrote:
> This fixes the build with boost 1.87.0b1 and still builds with 1.84.
> directory.hpp and exception.hpp are no longer implicitly included, so
> add those and convenience.hpp no longer exists.
> 
> One instance of is_regular() is replaced by is_regular_file() following
> the deprecation notice and path.leaf() is replaced by what it aliases,
> path.filename(). 
> 
> All rather straightforward, but could use a set of eyes and a test
> by someone who uses this.

Any takers? Otherwise I'll just commit this in a few days.

Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/mongodb/44/Makefile,v
diff -u -p -r1.20 Makefile
--- Makefile	6 Aug 2024 09:00:14 -0000	1.20
+++ Makefile	21 Nov 2024 10:35:34 -0000
@@ -1,7 +1,7 @@
 PORTROACH =	limitw:1,even
 
 V =		4.4.29
-REVISION =	2
+REVISION =	3
 
 WANTLIB += ${COMPILER_LIBCXX}
 WANTLIB += boost_filesystem-mt boost_iostreams-mt boost_log-mt
Index: patches/patch-src_mongo_db_initialize_server_global_state_cpp
===================================================================
RCS file: patches/patch-src_mongo_db_initialize_server_global_state_cpp
diff -N patches/patch-src_mongo_db_initialize_server_global_state_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mongo_db_initialize_server_global_state_cpp	21 Nov 2024 08:53:18 -0000
@@ -0,0 +1,20 @@
+Index: src/mongo/db/initialize_server_global_state.cpp
+--- src/mongo/db/initialize_server_global_state.cpp.orig
++++ src/mongo/db/initialize_server_global_state.cpp
+@@ -35,6 +35,7 @@
+ #include "mongo/db/initialize_server_global_state_gen.h"
+ 
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/exception.hpp>
+ #include <fmt/format.h>
+ #include <iostream>
+ #include <memory>
+@@ -346,7 +347,7 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
+                                             << "\" should name a file, not a directory.");
+             }
+ 
+-            if (!serverGlobalParams.logAppend && boost::filesystem::is_regular(absoluteLogpath)) {
++            if (!serverGlobalParams.logAppend && boost::filesystem::is_regular_file(absoluteLogpath)) {
+                 std::string renameTarget = absoluteLogpath + "." + terseCurrentTime(false);
+                 boost::system::error_code ec;
+                 boost::filesystem::rename(absoluteLogpath, renameTarget, ec);
Index: patches/patch-src_mongo_db_startup_warnings_mongod_cpp
===================================================================
RCS file: patches/patch-src_mongo_db_startup_warnings_mongod_cpp
diff -N patches/patch-src_mongo_db_startup_warnings_mongod_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mongo_db_startup_warnings_mongod_cpp	21 Nov 2024 08:42:25 -0000
@@ -0,0 +1,11 @@
+Index: src/mongo/db/startup_warnings_mongod.cpp
+--- src/mongo/db/startup_warnings_mongod.cpp.orig
++++ src/mongo/db/startup_warnings_mongod.cpp
+@@ -34,6 +34,7 @@
+ #include "mongo/db/startup_warnings_mongod.h"
+ 
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/exception.hpp>
+ #include <fstream>
+ #ifndef _WIN32
+ #include <sys/resource.h>
Index: patches/patch-src_mongo_dbtests_framework_options_cpp
===================================================================
RCS file: patches/patch-src_mongo_dbtests_framework_options_cpp
diff -N patches/patch-src_mongo_dbtests_framework_options_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mongo_dbtests_framework_options_cpp	21 Nov 2024 08:42:25 -0000
@@ -0,0 +1,11 @@
+Index: src/mongo/dbtests/framework_options.cpp
+--- src/mongo/dbtests/framework_options.cpp.orig
++++ src/mongo/dbtests/framework_options.cpp
+@@ -35,6 +35,7 @@
+ #include "mongo/dbtests/framework_options.h"
+ 
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/exception.hpp>
+ #include <iostream>
+ 
+ #include "mongo/base/status.h"
Index: patches/patch-src_mongo_scripting_engine_cpp
===================================================================
RCS file: patches/patch-src_mongo_scripting_engine_cpp
diff -N patches/patch-src_mongo_scripting_engine_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mongo_scripting_engine_cpp	21 Nov 2024 09:12:57 -0000
@@ -0,0 +1,11 @@
+Index: src/mongo/scripting/engine.cpp
+--- src/mongo/scripting/engine.cpp.orig
++++ src/mongo/scripting/engine.cpp
+@@ -33,6 +33,7 @@
+ 
+ #include "mongo/scripting/engine.h"
+ 
++#include <boost/filesystem/directory.hpp>
+ #include <boost/filesystem/operations.hpp>
+ #include <cctype>
+ 
Index: patches/patch-src_mongo_shell_shell_utils_extended_cpp
===================================================================
RCS file: /cvs/ports/databases/mongodb/44/patches/patch-src_mongo_shell_shell_utils_extended_cpp,v
diff -u -p -r1.1 patch-src_mongo_shell_shell_utils_extended_cpp
--- patches/patch-src_mongo_shell_shell_utils_extended_cpp	25 Jun 2022 17:11:40 -0000	1.1
+++ patches/patch-src_mongo_shell_shell_utils_extended_cpp	21 Nov 2024 08:42:25 -0000
@@ -3,10 +3,11 @@ Fix build with Boost 1.79
 Index: src/mongo/shell/shell_utils_extended.cpp
 --- src/mongo/shell/shell_utils_extended.cpp.orig
 +++ src/mongo/shell/shell_utils_extended.cpp
-@@ -37,6 +37,7 @@
+@@ -37,6 +37,8 @@
  #endif
  
  #include <boost/filesystem.hpp>
++#include <boost/filesystem/exception.hpp>
 +#include <boost/filesystem/fstream.hpp>
  #include <fstream>
  
Index: patches/patch-src_mongo_shell_shell_utils_launcher_cpp
===================================================================
RCS file: patches/patch-src_mongo_shell_shell_utils_launcher_cpp
diff -N patches/patch-src_mongo_shell_shell_utils_launcher_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mongo_shell_shell_utils_launcher_cpp	21 Nov 2024 08:59:24 -0000
@@ -0,0 +1,36 @@
+Index: src/mongo/shell/shell_utils_launcher.cpp
+--- src/mongo/shell/shell_utils_launcher.cpp.orig
++++ src/mongo/shell/shell_utils_launcher.cpp
+@@ -907,26 +907,26 @@ void copyDir(const boost::filesystem::path& from, cons
+     boost::filesystem::directory_iterator i(from);
+     while (i != end) {
+         boost::filesystem::path p = *i;
+-        if (p.leaf() == "metrics.interim" || p.leaf() == "metrics.interim.temp") {
++        if (p.filename() == "metrics.interim" || p.filename() == "metrics.interim.temp") {
+             // Ignore any errors for metrics.interim* files as these may disappear during copy
+             boost::system::error_code ec;
+-            boost::filesystem::copy_file(p, to / p.leaf(), ec);
++            boost::filesystem::copy_file(p, to / p.filename(), ec);
+             if (ec) {
+                 LOGV2_INFO(22814,
+                            "Skipping copying of file from '{from}' to "
+                            "'{to}' due to: {error}",
+                            "Skipping copying of file due to error"
+                            "from"_attr = p.generic_string(),
+-                           "to"_attr = (to / p.leaf()).generic_string(),
++                           "to"_attr = (to / p.filename()).generic_string(),
+                            "error"_attr = ec.message());
+             }
+-        } else if (p.leaf() != "mongod.lock" && p.leaf() != "WiredTiger.lock") {
++        } else if (p.filename() != "mongod.lock" && p.filename() != "WiredTiger.lock") {
+             if (boost::filesystem::is_directory(p)) {
+-                boost::filesystem::path newDir = to / p.leaf();
++                boost::filesystem::path newDir = to / p.filename();
+                 boost::filesystem::create_directory(newDir);
+                 copyDir(p, newDir);
+             } else {
+-                boost::filesystem::copy_file(p, to / p.leaf());
++                boost::filesystem::copy_file(p, to / p.filename());
+             }
+         }
+         ++i;
Index: patches/patch-src_mongo_shell_shell_utils_launcher_h
===================================================================
RCS file: patches/patch-src_mongo_shell_shell_utils_launcher_h
diff -N patches/patch-src_mongo_shell_shell_utils_launcher_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mongo_shell_shell_utils_launcher_h	21 Nov 2024 09:04:34 -0000
@@ -0,0 +1,12 @@
+Index: src/mongo/shell/shell_utils_launcher.h
+--- src/mongo/shell/shell_utils_launcher.h.orig
++++ src/mongo/shell/shell_utils_launcher.h
+@@ -29,7 +29,7 @@
+ 
+ #pragma once
+ 
+-#include <boost/filesystem/convenience.hpp>
++#include <boost/filesystem/operations.hpp>
+ #include <map>
+ #include <sstream>
+ #include <string>
Index: patches/patch-src_mongo_util_processinfo_linux_cpp
===================================================================
RCS file: patches/patch-src_mongo_util_processinfo_linux_cpp
diff -N patches/patch-src_mongo_util_processinfo_linux_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mongo_util_processinfo_linux_cpp	21 Nov 2024 08:42:25 -0000
@@ -0,0 +1,11 @@
+Index: src/mongo/util/processinfo_linux.cpp
+--- src/mongo/util/processinfo_linux.cpp.orig
++++ src/mongo/util/processinfo_linux.cpp
+@@ -52,6 +52,7 @@
+ #endif
+ 
+ #include <boost/filesystem.hpp>
++#include <boost/filesystem/exception.hpp>
+ #include <boost/none.hpp>
+ #include <boost/optional.hpp>
+ #include <fmt/format.h>