Skip to content

fix(bootstrap): handle tar paths exceeding 100 bytes#721

Merged
johntmyers merged 1 commit intomainfrom
fix/issue-705-tar-long-paths
Apr 1, 2026
Merged

fix(bootstrap): handle tar paths exceeding 100 bytes#721
johntmyers merged 1 commit intomainfrom
fix/issue-705-tar-long-paths

Conversation

@johntmyers
Copy link
Copy Markdown
Collaborator

Summary

  • Replace manual Header::set_path() + append() with builder.append_path_with_name() which emits GNU LongName extensions for paths exceeding the 100-byte POSIX tar name field limit
  • Remove ~30 lines of manual header/read/append logic in favor of a single API call already used in crates/openshell-cli/src/ssh.rs
  • Add regression test with a path exceeding 100 bytes

Fixes #705

Test plan

  • New test_long_path_exceeding_100_bytes test passes — creates a deeply nested path >100 bytes and verifies it appears in the tar archive
  • All 7 existing build::tests pass with no changes
  • Manual smoke test: openshell sandbox create --from with a build context containing deeply nested node_modules/ paths

… bytes

Replace manual Header::set_path() + append() with
builder.append_path_with_name() which emits GNU LongName extensions
for paths exceeding the 100-byte POSIX tar name field limit.

Fixes #705
@johntmyers johntmyers requested a review from a team as a code owner April 1, 2026 04:57
@johntmyers johntmyers merged commit fa3f798 into main Apr 1, 2026
10 checks passed
@johntmyers johntmyers deleted the fix/issue-705-tar-long-paths branch April 1, 2026 05:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

sandbox create --from fails on build context files with paths longer than 100 bytes

2 participants