summaryrefslogtreecommitdiff
path: root/src/buildtool/graph_traverser/graph_traverser.hpp
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2023-11-03 13:54:26 +0100
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-11-15 12:03:11 +0100
commitb1397ebc4512eb73894b1d273c008233c781db61 (patch)
tree361be18e98fd9d07a98c788750c0a48051be8080 /src/buildtool/graph_traverser/graph_traverser.hpp
parentb6ff8c6d7bc2e8fe595604e0f36a6cdfa54000fc (diff)
downloadjustbuild-b1397ebc4512eb73894b1d273c008233c781db61.tar.gz
bugfix: Also unlink symlinks before installing
Make sure that all CopyFile, WriteFile, and CreateSymlink functions properly unlink the target file (if it exists and overwrite requested) to avoid interferences of the install command. With this change, the clean up step for install-cas and the within GraphTraverser can new be omitted. (cherry-picked from 04e2f0aa0ccfe4f39c5f6c713bde182c6b7704dd)
Diffstat (limited to 'src/buildtool/graph_traverser/graph_traverser.hpp')
-rw-r--r--src/buildtool/graph_traverser/graph_traverser.hpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/src/buildtool/graph_traverser/graph_traverser.hpp b/src/buildtool/graph_traverser/graph_traverser.hpp
index 9f99e6f2..e2587701 100644
--- a/src/buildtool/graph_traverser/graph_traverser.hpp
+++ b/src/buildtool/graph_traverser/graph_traverser.hpp
@@ -532,15 +532,7 @@ class GraphTraverser {
std::vector<std::filesystem::path> output_paths{};
output_paths.reserve(rel_paths.size());
for (auto const& rel_path : rel_paths) {
- auto output_path = clargs_.stage->output_dir / rel_path;
- if (FileSystemManager::IsFile(output_path) and
- not FileSystemManager::RemoveFile(output_path)) {
- Logger::Log(LogLevel::Error,
- "Could not clean output path {}",
- output_path.string());
- return std::nullopt;
- }
- output_paths.emplace_back(std::move(output_path));
+ output_paths.emplace_back(clargs_.stage->output_dir / rel_path);
}
return output_paths;
}