Skip to content

fix: include man pages in binary distribution archives#111

Merged
avihut merged 1 commit intomasterfrom
fix/include-man-pages-in-dist
Jan 28, 2026
Merged

fix: include man pages in binary distribution archives#111
avihut merged 1 commit intomasterfrom
fix/include-man-pages-in-dist

Conversation

@avihut
Copy link
Owner

@avihut avihut commented Jan 28, 2026

Summary

  • Adds include = ["./man/"] to cargo-dist configuration to include pre-generated man pages in binary tarballs

Problem

The test-homebrew workflow failed after v1.0.12 release because man pages were missing from the Homebrew installation.

Root cause: cargo-dist's binary tarballs only include the compiled binary and basic docs (README, LICENSE, CHANGELOG) by default. The Homebrew formula expected man pages at buildpath/"man/*.1" but that directory didn't exist in the downloaded archive.

Solution

The cargo-dist include directive specifies additional files/directories to bundle in distribution archives. Adding include = ["./man/"] ensures the pre-generated man pages are included in all binary tarballs.

Verification

Locally verified with cargo dist build --artifacts=local --target=aarch64-apple-darwin:

$ tar -tJf target/distrib/daft-aarch64-apple-darwin.tar.xz
daft-aarch64-apple-darwin/
daft-aarch64-apple-darwin/daft
daft-aarch64-apple-darwin/README.md
daft-aarch64-apple-darwin/CHANGELOG.md
daft-aarch64-apple-darwin/LICENSE
daft-aarch64-apple-darwin/man
daft-aarch64-apple-darwin/man/git-worktree-checkout.1
daft-aarch64-apple-darwin/man/git-worktree-flow-adopt.1
daft-aarch64-apple-darwin/man/git-worktree-clone.1
... (all 11 man pages)

Test plan

  • Verify locally that man pages are included in tarball
  • CI passes (unit tests, integration tests, homebrew-simulation)
  • After merge → release → verify test-homebrew workflow passes

🤖 Generated with Claude Code

The Homebrew formula expects man pages at buildpath/"man/*.1" but
cargo-dist's binary tarballs only include the binary and basic docs
by default. This caused the test-homebrew workflow to fail after
v1.0.12 release because man pages weren't being installed.

Adding `include = ["./man/"]` to dist-workspace.toml tells cargo-dist
to include the pre-generated man pages in all binary archives.

Fixes the missing man pages in Homebrew installations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@avihut avihut force-pushed the fix/include-man-pages-in-dist branch from 65eab8f to b1e107c Compare January 28, 2026 13:46
@avihut avihut merged commit 0cb027b into master Jan 28, 2026
5 checks passed
@avihut avihut deleted the fix/include-man-pages-in-dist branch January 28, 2026 13:51
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.

1 participant