mirror of
https://github.com/ClementTsang/bottom
synced 2024-11-24 05:03:06 +00:00
14808b3a2e
* ci: spring cleaning of completions autogen This commit changes a few things/cleans up stuff: - Completion and manpage generation now drops the files off in `./target/tmp/bottom` rather than arbitrarily in the build directory. This was originally done because I was lazy and just needed it to work in CI, but it's kinda gross if you want to build the manpages in your own directory. - CI was updated to handle this. - Only run if the `BTM_GENERATE` env var is actually non-empty. * docs: update for manpage/completion gen * ci: auto delete autogen comp/manpage dir * ci: fix incorrect mv for autogen The mv was too late, should be earlier in the workflow. * ci: specify shell in autogen delete * docs: more updates to manpage/comp docs * ci: unify env vars * ci: skip autogen on build-msi
58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
# Packaging and Distribution
|
|
|
|
Package maintainers are always welcome and appreciated! Here's some info on how one can help with package distribution and bottom.
|
|
|
|
## Pre-built binaries
|
|
|
|
The latest stable release can be found [here](https://github.com/ClementTsang/bottom/releases/latest), where you can find pre-built binaries in either a `tar.gz` or `zip` format.
|
|
Binaries here also include automatically generated shell completion files for zsh, bash, fish, and Powershell, which you may want to also install during the packaging
|
|
process.
|
|
|
|
You can also find a nightly build in the [releases page](https://github.com/ClementTsang/bottom/releases), built every day at 00:00 UTC off of the master branch.
|
|
|
|
## Building manually
|
|
|
|
If you want to manually build bottom rather than distributing a pre-built binary, you'll need the most recent version of stable Rust, which you can get with:
|
|
|
|
```bash
|
|
rustup update stable
|
|
```
|
|
|
|
You'll then want to build with:
|
|
|
|
```bash
|
|
cargo build --release --locked
|
|
```
|
|
|
|
### Manpage and completion generation
|
|
|
|
bottom uses a [`build.rs`](https://github.com/ClementTsang/bottom/blob/master/build.rs) script to automatically generate
|
|
a manpage and shell completions for the following shells:
|
|
|
|
- Bash
|
|
- Zsh
|
|
- Fish
|
|
- Powershell
|
|
- Elvish
|
|
|
|
If you want to generate manpages and/or completion files, set the `BTM_GENERATION` env var to a non-empty value. For
|
|
example, run something like this:
|
|
|
|
```bash
|
|
BTM_GENERATE=true cargo build --release --locked
|
|
```
|
|
|
|
This will automatically generate completion and manpage files in `target/tmp/bottom/`. If you wish to regenerate the
|
|
files, modify/delete either these files or set `BTM_GENERATE` to some other non-empty value to retrigger the build
|
|
script.
|
|
|
|
For more information, you may want to look at either the [`build.rs`](https://github.com/ClementTsang/bottom/blob/master/build.rs)
|
|
file or the [binary build CI workflow](https://github.com/ClementTsang/bottom/blob/master/.github/workflows/build_releases.yml).
|
|
|
|
## Adding an installation source
|
|
|
|
Once you've finished your installation source, if you want to mention it in the main bottom repo, fork the repo and add the installation method and any details to
|
|
the [`README.md`](https://github.com/ClementTsang/bottom/blob/master/README.md) file under the [Installation](https://github.com/ClementTsang/bottom#installation) section.
|
|
Once that's done, open a pull request - these will usually be approved of very quickly.
|
|
|
|
You can find more info on the contribution process [here](../issues-and-pull-requests/#pull-requests).
|