Fix install.sh for piped execution

- Use HTTP clone URL (no SSH auth needed)
- Fix BASH_SOURCE unbound variable when piped via curl

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
shuki
2026-03-04 02:48:32 +02:00
parent 2eff1916ca
commit 27cd8cc33c

View File

@@ -5,11 +5,11 @@
# Or from a local clone: # Or from a local clone:
# bash scripts/install.sh # bash scripts/install.sh
set -euo pipefail set -eo pipefail
INSTALL_DIR="/usr/local/gniza" INSTALL_DIR="/usr/local/gniza"
BIN_LINK="/usr/local/bin/gniza" BIN_LINK="/usr/local/bin/gniza"
REPO_URL="ssh://git@192.168.100.100:2222/shukivaknin/gniza.git" REPO_HTTP="http://192.168.100.100:3001/shukivaknin/gniza.git"
TMPDIR_CLONE="" TMPDIR_CLONE=""
if [[ $EUID -ne 0 ]]; then if [[ $EUID -ne 0 ]]; then
@@ -18,17 +18,17 @@ if [[ $EUID -ne 0 ]]; then
fi fi
# Determine source directory — local clone or fresh git clone # Determine source directory — local clone or fresh git clone
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}" 2>/dev/null)" 2>/dev/null && pwd)" || true SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-}")" 2>/dev/null && pwd)" || true
if [[ -n "$SCRIPT_DIR" && -f "$SCRIPT_DIR/../bin/gniza" ]]; then if [[ -n "${SCRIPT_DIR:-}" && -f "$SCRIPT_DIR/../bin/gniza" ]]; then
SOURCE_DIR="$(dirname "$SCRIPT_DIR")" SOURCE_DIR="$(dirname "$SCRIPT_DIR")"
else else
echo "Cloning gniza..." echo "Cloning gniza..."
TMPDIR_CLONE="$(mktemp -d)" TMPDIR_CLONE="$(mktemp -d)"
git clone --depth 1 "$REPO_URL" "$TMPDIR_CLONE" 2>&1 git clone --depth 1 "$REPO_HTTP" "$TMPDIR_CLONE" 2>&1
SOURCE_DIR="$TMPDIR_CLONE" SOURCE_DIR="$TMPDIR_CLONE"
fi fi
cleanup() { [[ -n "$TMPDIR_CLONE" ]] && rm -rf "$TMPDIR_CLONE"; } cleanup() { [[ -n "${TMPDIR_CLONE:-}" ]] && rm -rf "$TMPDIR_CLONE"; }
trap cleanup EXIT trap cleanup EXIT
echo "Installing gniza to $INSTALL_DIR..." echo "Installing gniza to $INSTALL_DIR..."