aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-03-23 09:59:42 -0700
committerRobert Schumacher <roschuma@microsoft.com>2018-03-24 09:26:27 -0700
commit7029daa36df7040e420b3722f345b6923ce93ef0 (patch)
tree65af1314c6248cb07326521e3be4ac83b28c2472
parent608456b3252abd688f557e85de3a8697f51d228c (diff)
downloadvcpkg-7029daa36df7040e420b3722f345b6923ce93ef0.tar.gz
vcpkg-7029daa36df7040e420b3722f345b6923ce93ef0.zip
[vcpkg] Handle non-sorted output from std::filesystem
-rw-r--r--toolsrc/src/vcpkg/install.cpp4
-rw-r--r--toolsrc/src/vcpkg/paragraphs.cpp4
-rw-r--r--toolsrc/src/vcpkg/vcpkglib.cpp1
-rw-r--r--toolsrc/src/vcpkg/vcpkgpaths.cpp1
4 files changed, 7 insertions, 3 deletions
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index 7a963c82f..1fbf6d97e 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -70,8 +70,8 @@ namespace vcpkg::Install
}
const std::string filename = file.filename().u8string();
- if (fs::is_regular_file(status) && (Strings::case_insensitive_ascii_equals(filename.c_str(), "CONTROL") ||
- Strings::case_insensitive_ascii_equals(filename.c_str(), "BUILD_INFO")))
+ if (fs::is_regular_file(status) && (Strings::case_insensitive_ascii_equals(filename, "CONTROL") ||
+ Strings::case_insensitive_ascii_equals(filename, "BUILD_INFO")))
{
// Do not copy the control file
continue;
diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp
index d0b0c0abf..41ffceec7 100644
--- a/toolsrc/src/vcpkg/paragraphs.cpp
+++ b/toolsrc/src/vcpkg/paragraphs.cpp
@@ -251,7 +251,9 @@ namespace vcpkg::Paragraphs
LoadResults try_load_all_ports(const Files::Filesystem& fs, const fs::path& ports_dir)
{
LoadResults ret;
- for (auto&& path : fs.get_files_non_recursive(ports_dir))
+ auto port_dirs = fs.get_files_non_recursive(ports_dir);
+ Util::sort(port_dirs);
+ for (auto&& path : port_dirs)
{
auto maybe_spgh = try_load_port(fs, path);
if (const auto spgh = maybe_spgh.get())
diff --git a/toolsrc/src/vcpkg/vcpkglib.cpp b/toolsrc/src/vcpkg/vcpkglib.cpp
index 220c29720..7979fd9a5 100644
--- a/toolsrc/src/vcpkg/vcpkglib.cpp
+++ b/toolsrc/src/vcpkg/vcpkglib.cpp
@@ -54,6 +54,7 @@ namespace vcpkg
StatusParagraphs current_status_db = load_current_database(fs, status_file, status_file_old);
auto update_files = fs.get_files_non_recursive(updates_dir);
+ Util::sort(update_files);
if (update_files.empty())
{
// updates directory is empty, control file is up-to-date.
diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp
index c36def15d..9b331d7fc 100644
--- a/toolsrc/src/vcpkg/vcpkgpaths.cpp
+++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp
@@ -405,6 +405,7 @@ namespace vcpkg
{
output.push_back(path.stem().filename().string());
}
+ Util::sort(output);
return output;
});