Ensure that intermediate directories exist when unpacking an entry#1098
Ensure that intermediate directories exist when unpacking an entry#1098bors merged 1 commit intorust-lang:masterfrom
Conversation
|
@bors r+ Note though that we still cannot remove the directory entries from the tarballs produced by Rust, because they need to be compatible with older rustups. I'm not sure how long a suitable deprecation period is. |
|
📌 Commit 5ae90c4 has been approved by |
Update tar and use new safe unpacking function The `unpack_in` function automatically handles the creation of the directories and validates the path name, but it is only available since version 0.4.11 of the `tar` crate. This is the rustup side of fixing #1092.
|
Yes, I have no plans for removing them and the Rust port of rust-installer will keep them as well for the time being. Removing them was just convenient when sorting the paths. |
|
💔 Test failed - status-appveyor |
|
Legit errors. |
|
It is easier to fix without updating tar. Updated title and first post to get reasonable commit messages upon merging. |
The `unpack` function assumes that the directory in which the file is being extracted exists, while most `tar` tools will automatically create the intermediate directories if they are missing. This would have avoided rust-lang#1092.
|
@bors r+ I can imagine this repeated syscall wanting to be optimized someday, but today I'm not too worried. rustup generally needs to be optimized. |
|
📌 Commit ab40997 has been approved by |
Ensure that intermediate directories exist when unpacking an entry The `unpack` function assumes that the directory in which the file is being extracted exists, while most `tar` tools will automatically create the intermediate directories if they are missing. This would have avoided #1092.
|
💔 Test failed - status-appveyor |
|
Is the failure spurious? The non-merge AppVeyor build succeeded |
|
Yes - @bors r=brson retry |
|
💡 This pull request was already approved, no need to approve it again.
|
|
📌 Commit ab40997 has been approved by |
Ensure that intermediate directories exist when unpacking an entry The `unpack` function assumes that the directory in which the file is being extracted exists, while most `tar` tools will automatically create the intermediate directories if they are missing. This would have avoided #1092.
|
☀️ Test successful - status-appveyor, status-travis |
The
unpackfunction assumes that the directory in which the file isbeing extracted exists, while most
tartools will automaticallycreate the intermediate directories if they are missing.
This would have avoided #1092.