https://bugs.gentoo.org/932240 https://github.com/boostorg/bcp/commit/cd21e9b4a749a77c24facf2da44f01e032c40842 From cd21e9b4a749a77c24facf2da44f01e032c40842 Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Sun, 24 Mar 2024 14:49:18 +0300 Subject: [PATCH] Remove usage of deprecated and removed Boost.Filesystem APIs. --- add_dependent_lib.cpp | 5 +++-- add_path.cpp | 30 +++++++++++++++--------------- bcp_imp.hpp | 1 + copy_path.cpp | 8 ++++---- file_types.cpp | 2 +- 5 files changed, 24 insertions(+), 22 deletions(-) diff --git tools/bcp/add_dependent_lib.cpp tools/bcp/add_dependent_lib.cpp index 4852914..521b70d 100644 --- tools/bcp/add_dependent_lib.cpp +++ tools/bcp/add_dependent_lib.cpp @@ -15,6 +15,7 @@ #include "bcp_imp.hpp" #include "fileview.hpp" #include +#include #include #include #include @@ -43,12 +44,12 @@ static void init_library_scanner(const fs::path& p, bool cvs_mode, const std::st // // Don't add files created by build system: // - if((p.leaf() == "bin") || (p.leaf() == "bin-stage")) + if((p.filename() == "bin") || (p.filename() == "bin-stage")) return; // // Don't add version control directories: // - if((p.leaf() == "CVS") || (p.leaf() == ".svn")) + if((p.filename() == "CVS") || (p.filename() == ".svn")) return; // // don't add directories not under version control: diff --git tools/bcp/add_path.cpp tools/bcp/add_path.cpp index 8a1fee3..747bb8c 100644 --- tools/bcp/add_path.cpp +++ tools/bcp/add_path.cpp @@ -15,6 +15,7 @@ #include "bcp_imp.hpp" #include "fileview.hpp" #include +#include #include #include #include @@ -24,8 +25,7 @@ void bcp_implementation::add_path(const fs::path& p) { if (m_excluded.find(p) != m_excluded.end()) return; - fs::path normalized_path = p; - normalized_path.normalize(); + fs::path normalized_path = p.lexically_normal(); if(fs::exists(m_boost_path / normalized_path)) { if(fs::is_directory(m_boost_path / normalized_path)) @@ -45,12 +45,12 @@ void bcp_implementation::add_directory(const fs::path& p) // // Don't add files created by build system: // - if((p.leaf() == "bin") || (p.leaf() == "bin-stage")) + if((p.filename() == "bin") || (p.filename() == "bin-stage")) return; // // Don't add version control directories: // - if((p.leaf() == "CVS") || (p.leaf() == ".svn")) + if((p.filename() == "CVS") || (p.filename() == ".svn")) return; // // don't add directories not under version control: @@ -180,7 +180,7 @@ void bcp_implementation::add_file(const fs::path& p) { // only concatonate if it's a relative path // rather than a URL: - fs::path dep(p.branch_path() / s); + fs::path dep(p.parent_path() / s); if(!m_dependencies.count(dep)) { m_dependencies[dep] = p; // set up dependency tree @@ -355,13 +355,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile) continue; } include_file = i->str(); - fs::path test_file(m_boost_path / p.branch_path() / include_file); - if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost")) + fs::path test_file(m_boost_path / p.parent_path() / include_file); + if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost")) { - if(!m_dependencies.count(p.branch_path() / include_file)) + if(!m_dependencies.count(p.parent_path() / include_file)) { - m_dependencies[p.branch_path() / include_file] = p; - add_pending_path(p.branch_path() / include_file); + m_dependencies[p.parent_path() / include_file] = p; + add_pending_path(p.parent_path() / include_file); } } else if(fs::exists(m_boost_path / include_file)) @@ -405,13 +405,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile) ++i; continue; } - fs::path test_file(m_boost_path / p.branch_path() / include_file); - if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost")) + fs::path test_file(m_boost_path / p.parent_path() / include_file); + if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost")) { - if(!m_dependencies.count(p.branch_path() / include_file)) + if(!m_dependencies.count(p.parent_path() / include_file)) { - m_dependencies[p.branch_path() / include_file] = p; - add_pending_path(p.branch_path() / include_file); + m_dependencies[p.parent_path() / include_file] = p; + add_pending_path(p.parent_path() / include_file); } } else if(fs::exists(m_boost_path / include_file)) diff --git tools/bcp/bcp_imp.hpp tools/bcp/bcp_imp.hpp index e515581..51c85ba 100644 --- tools/bcp/bcp_imp.hpp +++ tools/bcp/bcp_imp.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include namespace fs = boost::filesystem; diff --git tools/bcp/copy_path.cpp tools/bcp/copy_path.cpp index 4143c79..6b7a370 100644 --- tools/bcp/copy_path.cpp +++ tools/bcp/copy_path.cpp @@ -49,18 +49,18 @@ void bcp_implementation::copy_path(const fs::path& p) if(fs::exists(m_dest_path / p)) { std::cout << "Copying (and overwriting) file: " << p.string() << "\n"; - fs::remove(m_dest_path / p); + fs::remove(m_dest_path / p); } else std::cout << "Copying file: " << p.string() << "\n"; // // create the path to the new file if it doesn't already exist: // - create_path(p.branch_path()); + create_path(p.parent_path()); // // do text based copy if requested: // - if((p.leaf() == "Jamroot") && m_namespace_name.size()) + if((p.filename() == "Jamroot") && m_namespace_name.size()) { static std::vector v1, v2; v1.clear(); @@ -240,7 +240,7 @@ void bcp_implementation::create_path(const fs::path& p) if(!fs::exists(m_dest_path / p)) { // recurse then create the path: - create_path(p.branch_path()); + create_path(p.parent_path()); fs::create_directory(m_dest_path / p); } } diff --git tools/bcp/file_types.cpp tools/bcp/file_types.cpp index 297d304..69f6027 100644 --- tools/bcp/file_types.cpp +++ tools/bcp/file_types.cpp @@ -52,7 +52,7 @@ bool bcp_implementation::is_binary_file(const fs::path& p) "|" "(Jamfile|makefile|configure)", boost::regex::perl | boost::regex::icase); - return !boost::regex_match(p.leaf().generic_string(), e); + return !boost::regex_match(p.filename().generic_string(), e); }