-
Notifications
You must be signed in to change notification settings - Fork 287
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use System32\tar.exe if present instead of 7zip for zip archives. #406
Conversation
This is a more targeted hotfix version of microsoft#404 as there are outstanding code review discussions there. (I do still intend to apply the changes therein but don't want code reviewers to feel like they can't say anything because it's resolving a high priority issue)
This PR + #405 + #407. Should solve all msiexec issues and completely move from 7z to tar.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I definitely appreciate fewer changes
src/vcpkg/base/system.cpp
Outdated
|
||
const ExpectedS<Path>& get_system32() noexcept | ||
{ | ||
static const ExpectedS<Path> s_system32 = get_system_root().map([](const Path& p) { return p / "system32"; }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
static const ExpectedS<Path> s_system32 = get_system_root().map([](const Path& p) { return p / "system32"; }); | |
static const ExpectedS<Path> s_system32 = get_system_root().map([](const Path& p) { return p / "System32"; }); |
I'd prefer it to use the canonical casing (even if it doesn't really matter)
include/vcpkg/tools.h
Outdated
struct ToolCache | ||
{ | ||
virtual ~ToolCache() { } | ||
virtual ~ToolCache(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
virtual ~ToolCache(); | |
virtual ~ToolCache() = default; |
no reason to put this in the C++ file I think
const auto code = | ||
cmd_execute(Command{cmake_tool}.string_arg("-E").string_arg("tar").string_arg("xzf").path_arg(archive), | ||
WorkingDirectory{to_path}); | ||
Checks::check_exit(VCPKG_LINE_INFO, code == 0, "tar failed while extracting %s", archive); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this use localized message?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made everything localized in the other PR but this PR is intentionally the minimal change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a bunch for extracting the hotfix!
This is a more targeted hotfix version of #404 as there are outstanding code review discussions there. (I do still intend to apply the changes therein but don't want code reviewers to feel like they can't say anything because it's resolving a high priority issue)