From 0b1fb005f668a192903d021abc82e72645084e6d Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Tue, 18 Aug 2026 23:08:08 +0200 Subject: [PATCH] [fix](trx-rs): install binaries under user home Default installation and removal to /home/sjg/.local/bin while preserving explicit prefix and binary-directory overrides. Update the service examples and README to match. Assisted-By: OpenAI Codex (GPT-5) Signed-off-by: Stan Grams --- README.md | 4 ++-- packaging/systemd/trx-client.service | 2 +- packaging/systemd/trx-server.service | 2 +- script/install.sh | 4 ++-- script/uninstall.sh | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e361cbae..9bc5e1c5 100644 --- a/README.md +++ b/README.md @@ -126,12 +126,12 @@ script/install.sh ``` This builds in release mode, installs `trx-server`, `trx-client`, and -`trx-configurator` to `/usr/local/bin` (using `sudo` only if needed), seeds +`trx-configurator` to `~/.local/bin`, seeds `~/.config/trx-rs/trx-rs.toml` from the example (existing config is never overwritten), and installs `~/.config/systemd/user/{trx-server,trx-client}.service`. ```bash -script/install.sh --prefix ~/.local # install to ~/.local/bin instead +script/install.sh --prefix /opt/trx-rs # choose another installation prefix script/install.sh --no-sdr # build without SoapySDR support script/install.sh --enable-now # also enable + start the services now script/install.sh --help # all options diff --git a/packaging/systemd/trx-client.service b/packaging/systemd/trx-client.service index bf3e1775..23cd2be5 100644 --- a/packaging/systemd/trx-client.service +++ b/packaging/systemd/trx-client.service @@ -6,7 +6,7 @@ # # Install with `script/install.sh` (which substitutes @BINDIR@ and copies this # into ~/.config/systemd/user/), or by hand: -# sed 's|@BINDIR@|/usr/local/bin|' trx-client.service \ +# sed "s|@BINDIR@|$HOME/.local/bin|" trx-client.service \ # > ~/.config/systemd/user/trx-client.service # systemctl --user daemon-reload # systemctl --user enable --now trx-client.service diff --git a/packaging/systemd/trx-server.service b/packaging/systemd/trx-server.service index e5dc5781..b6919359 100644 --- a/packaging/systemd/trx-server.service +++ b/packaging/systemd/trx-server.service @@ -6,7 +6,7 @@ # # Install with `script/install.sh` (which substitutes @BINDIR@ and copies this # into ~/.config/systemd/user/), or by hand: -# sed 's|@BINDIR@|/usr/local/bin|' trx-server.service \ +# sed "s|@BINDIR@|$HOME/.local/bin|" trx-server.service \ # > ~/.config/systemd/user/trx-server.service # systemctl --user daemon-reload # systemctl --user enable --now trx-server.service diff --git a/script/install.sh b/script/install.sh index 1792716b..fcaa5b28 100755 --- a/script/install.sh +++ b/script/install.sh @@ -15,7 +15,7 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" BINARIES=(trx-server trx-client trx-configurator) # --- Defaults (override via flags or environment) --------------------------- -PREFIX="${PREFIX:-/usr/local}" +PREFIX="${PREFIX:-$HOME/.local}" BINDIR="${BINDIR:-}" # derived from PREFIX unless set explicitly NO_SDR=0 DO_BUILD=1 @@ -33,7 +33,7 @@ Usage: script/install.sh [options] Build trx-rs (release) and install it. Options: - --prefix DIR Install prefix; binaries go to DIR/bin (default: /usr/local) + --prefix DIR Install prefix; binaries go to DIR/bin (default: \$HOME/.local) --bindir DIR Install binaries directly to DIR (overrides --prefix) --no-sdr Build without SoapySDR support (--no-default-features) --no-build Skip cargo build; install existing target/release binaries diff --git a/script/uninstall.sh b/script/uninstall.sh index b912d7ff..dc456c01 100755 --- a/script/uninstall.sh +++ b/script/uninstall.sh @@ -11,7 +11,7 @@ set -euo pipefail BINARIES=(trx-server trx-client trx-configurator) -PREFIX="${PREFIX:-/usr/local}" +PREFIX="${PREFIX:-$HOME/.local}" BINDIR="${BINDIR:-}" PURGE=0 @@ -23,7 +23,7 @@ usage() { Usage: script/uninstall.sh [options] Options: - --prefix DIR Install prefix binaries were installed under (default: /usr/local) + --prefix DIR Install prefix binaries were installed under (default: \$HOME/.local) --bindir DIR Directory binaries were installed to (overrides --prefix) --purge Also delete the user config directory ($CONFIG_DIR) -h, --help Show this help