-
Notifications
You must be signed in to change notification settings - Fork 77
On packaging Ouch
João Marcos Bezerra edited this page Nov 24, 2022
·
6 revisions
Thanks for your interest in helping Ouch!
This page can be edited by anyone, feel free to add more details to it.
If necessary, you can start a discussion at https://github.com/ouch-org/ouch/discussions.
- Ouch can now generate its own man pages (used to rely on
help2man
). - ENV VAR for building artifacts has changed (see below).
Check the releases page.
If you download the release bundle for the Linux x86_64 musl
target, no dependencies are required.
Otherwise, you'll need runtime dependencies, check https://github.com/ouch-org/ouch#dependencies for a list.
Run cargo build
with the OUCH_ARTIFACTS_FOLDER
env var set.
OUCH_ARTIFACTS_FOLDER=artifacts cargo build --release
Note: using --release
here is optional, but you might want to use it right away to avoid compiling ouch twice.
The env var tells the script at build.rs
to:
- Generate shell completions.
- Generate man pages.
Inside of the provided folder, in this case, we passed the folder name artifacts
.
$ tree artifacts
├── ouch.1 # man page
├── ouch-compress.1 # man page - subcommand 'compress'
├── ouch-decompress.1 # man page - subcommand 'decompress'
├── ouch-list.1 # man page - subcommand 'list'
├── _ouch # shell completions for Zsh
├── ouch.bash # shell completions for Bash
├── ouch.elv # shell completions for Elvish
├── ouch.fish # shell completions for Fish
└── _ouch.ps1 # shell completions for PowerShell