mirror of
https://github.com/TECHNOFAB11/pay-respects.git
synced 2025-12-12 06:20:09 +01:00
docs: _PR_LIB example
This commit is contained in:
parent
279519b9b8
commit
38190843a0
1 changed files with 17 additions and 1 deletions
18
modules.md
18
modules.md
|
|
@ -48,8 +48,24 @@ If exposing modules in `PATH` annoys you, you can set the `_PR_LIB` environment
|
|||
|
||||
Example in a [FHS 3.0 compliant system](https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s06.html):
|
||||
```shell
|
||||
export _PR_LIB_DIR="/usr/lib:$HOME/.local/lib"
|
||||
export _PR_LIB="/usr/lib:$HOME/.local/lib"
|
||||
```
|
||||
This is not the default as there is no general way to know its value and depends on distribution (`/usr/lib`, `/usr/libexec`, `/data/data/com.termux/files/usr/libexec`, etc.). System programs usually have a hard-coded path looking for `lib`. If you are a package maintainer for a distribution, setting this value when compiling, so it fits into your distribution standard.
|
||||
|
||||
If you installed the module with `cargo install`, the binary will be placed in `bin` subdirectory under Cargo's home which should be in the `PATH` anyway. Cargo has no option to place in subdirectories with other names.
|
||||
|
||||
The following snippet is what I used to package for Arch Linux package, adding a `_PR_LIB` declaration along with initialization. The script is `/usr/bin/pay-respects` and the actual executable is located somewhere else.
|
||||
```sh
|
||||
#!/bin/sh
|
||||
if [ "$#" -gt 1 ]; then
|
||||
SHELL=$(basename $SHELL)
|
||||
if [ "$SHELL" = "fish" ]; then
|
||||
echo "set -x _PR_LIB /usr/lib/pay-respects:$HOME/.local/lib/pay-respects"
|
||||
elif [ "$SHELL" = "nu" ]; then
|
||||
echo "env:_PR_LIB=/usr/lib/pay-respects:$HOME/.local/lib/pay-respects"
|
||||
else
|
||||
echo "_PR_LIB=/usr/lib/pay-respects:$HOME/.local/lib/pay-respects"
|
||||
fi
|
||||
fi
|
||||
/opt/pay-respects/bin/pay-respects "$@"
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue