Fix symlink_and_directory when running in a long target dir name#16775
Merged
epage merged 1 commit intorust-lang:masterfrom Mar 21, 2026
Merged
Fix symlink_and_directory when running in a long target dir name#16775epage merged 1 commit intorust-lang:masterfrom
epage merged 1 commit intorust-lang:masterfrom
Conversation
This fixes the `symlink_and_directory` test which is failing on rust-lang/rust because it runs in a longer target directory name. This causes the path to exceed the limit of 100 characters for a USTAR tar header. The fix is to just use a directory from the `tempfile` crate instead of trying to create one inside the test sandbox. I believe this should be reliably under 100 characters. Unfortunately we cannot switch to GNU tar headers which dynamically switch to using GNU extensions for long paths because it would cause the package checksums to change based on whether or not the path causes it to exceed the limit. I double checked the old tar 0.4.44, and the test fails as expected.
Collaborator
| r? @epage rustbot has assigned @epage. Use Why was this reviewer chosen?The reviewer was selected based on:
|
epage approved these changes Mar 21, 2026
weihanglo approved these changes Mar 21, 2026
rust-bors bot pushed a commit to rust-lang/rust that referenced this pull request Mar 21, 2026
Update cargo submodule 14 commits in cbb9bb8bd0fb272b1be0d63a010701ecb3d1d6d3..e84cb639edfea2c42efd563b72a9be0cc5de6523 2026-03-13 14:34:16 +0000 to 2026-03-21 01:27:07 +0000 - Fix symlink_and_directory when running in a long target dir name (rust-lang/cargo#16775) - cargo clean: Validate that target_dir is not a file (rust-lang/cargo#16765) - fix: fetching non-standard git refspecs on non-github repos (rust-lang/cargo#16768) - Update tar to 0.4.45 (rust-lang/cargo#16771) - chore: Remove edition_lint_opts from Lint (rust-lang/cargo#16762) - refactor: split out several smaller changes to prepare for async http (rust-lang/cargo#16763) - fix(compile): Make build.warnings ignore non-local deps (rust-lang/cargo#16760) - fix: detect circular publish dependency cycle in workspace publish (rust-lang/cargo#16722) - refactor(shell): Pull out term integration into `anstyle-progress` (rust-lang/cargo#16757) - test: reproduce rustfix panic on overlapping suggestions (rust-lang/cargo#16705) - fix: Avoid panic for package specs with an empty fragment (rust-lang/cargo#16754) - refactor(registry): avoid dynamic dispatch for Registry trait (rust-lang/cargo#16752) - refactor(shell): Pull out hyperlink logic into anstyle-hyperlink (rust-lang/cargo#16749) - refactor(install): Remove dead code (rust-lang/cargo#16718)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes the
symlink_and_directorytest which is failing on rust-lang/rust because it runs in a longer target directory name. This causes the path to exceed the limit of 100 characters for a USTAR tar header.The fix is to just use a directory from the
tempfilecrate instead of trying to create one inside the test sandbox. I believe this should be reliably under 100 characters.Unfortunately we cannot switch to GNU tar headers which dynamically switch to using GNU extensions for long paths because it would cause the package checksums to change based on whether or not the path causes it to exceed the limit.
I double checked the old tar 0.4.44, and the test fails as expected.