@@ -7,15 +7,30 @@ ROOT="$(cd "$(dirname "$0")/.." && pwd)"
77VERSION=" $( awk -F' "' ' /"version":/ { print $4; exit }' " $ROOT /package.json" ) "
88SPINOSA_HOME=" ${SPINOSA_HOME:- $HOME / .spinosa} "
99TARGET=" ${SPINOSA_HOME} /versions/${VERSION} "
10+ # Real installs put the user-facing shim in ~/.local/bin (see env.sh / install.sh).
11+ # ~/.spinosa/bin/spinosa is the home-local copy; PATH uses SPINOSA_BIN_DIR.
12+ if [[ -z " ${SPINOSA_BIN_DIR:- } " && -f " ${SPINOSA_HOME} /env.sh" ]]; then
13+ # shellcheck disable=SC1090
14+ # Only pull BIN_DIR — do not source the whole file (would mutate caller PATH).
15+ SPINOSA_BIN_DIR=" $(
16+ awk -F= ' /^export SPINOSA_BIN_DIR=/ {
17+ gsub(/"/, "", $2)
18+ print $2
19+ exit
20+ }' " ${SPINOSA_HOME} /env.sh"
21+ ) "
22+ fi
23+ SPINOSA_BIN_DIR=" ${SPINOSA_BIN_DIR:- $HOME / .local/ bin} "
1024BUN=" ${SPINOSA_HOME} /bin/bun"
1125if [[ ! -x " $BUN " ]]; then
1226 BUN=" $( command -v bun) "
1327fi
1428[[ -n " $BUN " && -x " $BUN " ]] || { echo " Error: bun not found" >&2 ; exit 1; }
1529
1630echo " → Patching ${SPINOSA_HOME} with local repo v${VERSION} "
31+ echo " Shim dir: ${SPINOSA_BIN_DIR} "
1732
18- mkdir -p " ${SPINOSA_HOME} /versions" " ${SPINOSA_HOME} /bin" " ${SPINOSA_HOME} /metadata"
33+ mkdir -p " ${SPINOSA_HOME} /versions" " ${SPINOSA_HOME} /bin" " ${SPINOSA_HOME} /metadata" " ${SPINOSA_BIN_DIR} "
1934rsync -a --delete \
2035 --exclude ' .git/' \
2136 --exclude ' node_modules/' \
@@ -29,6 +44,7 @@ mkdir -p "${TARGET}/metadata" "${TARGET}/workspace-template/.bin"
2944printf ' %s\n' " $VERSION " > " ${TARGET} /metadata/version"
3045install -m 755 " ${ROOT} /workspace-template/.bin/spinosa" " ${TARGET} /workspace-template/.bin/spinosa"
3146install -m 755 " ${ROOT} /workspace-template/.bin/spinosa" " ${SPINOSA_HOME} /bin/spinosa"
47+ install -m 755 " ${ROOT} /workspace-template/.bin/spinosa" " ${SPINOSA_BIN_DIR} /spinosa"
3248
3349link_workspace_packages () {
3450 local root=" $1 " nm=" ${1} /node_modules/@spinosa"
@@ -55,5 +71,7 @@ SPINOSA_HOME="$SPINOSA_HOME" SPINOSA_TEMPLATE_ROOT="$TARGET" \
5571 " $BUN " run " ${TARGET} /packages/spinosa-kernel/src/index.ts" version
5672
5773echo " ✓ Patched ${SPINOSA_HOME} to local v${VERSION} "
74+ echo " Shim: ${SPINOSA_BIN_DIR} /spinosa"
5875echo " Run: spinosa version"
5976echo " Run: spinosa upgrade --check"
77+ echo " If command not found: source ${SPINOSA_HOME} /env.sh (or open a new shell)"
0 commit comments