mirror of
https://github.com/logos-blockchain/logos-blockchain-module.git
synced 2026-07-29 18:33:11 +00:00
add install script for logoscore, lgpm, lgpd v0.2.0
This commit is contained in:
parent
88d57c92b5
commit
41da5b1f37
56
scripts/install-node-tools.sh
Normal file
56
scripts/install-node-tools.sh
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Download the Logos node CLIs — logoscore, lgpd, lgpm — into ./bin.
|
||||||
|
#
|
||||||
|
# Unpacks a pinned release of each tool for the host OS/arch. Works on Linux
|
||||||
|
# (x86_64/aarch64) and macOS (Apple Silicon). To move to newer builds, bump the
|
||||||
|
# *_TAG values below. After it finishes: export PATH="$PWD/bin:$PATH"
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
# Pinned tool releases.
|
||||||
|
LOGOSCORE_TAG=0.2.0
|
||||||
|
LGPD_TAG=0.2.0
|
||||||
|
LGPM_TAG=0.2.0
|
||||||
|
|
||||||
|
os=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||||
|
if [ "$os" = darwin ]; then os=macos; fi
|
||||||
|
arch=$(uname -m)
|
||||||
|
if [ "$arch" = arm64 ]; then arch=aarch64; fi
|
||||||
|
|
||||||
|
case "$os" in
|
||||||
|
linux|macos) ;;
|
||||||
|
*) echo "unsupported OS: $os (Linux/macOS only)" >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
bin="$PWD/bin"
|
||||||
|
mkdir -p "$bin"
|
||||||
|
|
||||||
|
# fetch <repo> <tool> <tag>: download <tool>-<arch>-<os>.tar.gz, expose ./bin/<tool>
|
||||||
|
fetch() {
|
||||||
|
repo=$1; tool=$2; tag=$3
|
||||||
|
echo " $tool ($tag)"
|
||||||
|
tmp=$(mktemp -d)
|
||||||
|
curl -fsSL "https://github.com/logos-co/$repo/releases/download/$tag/$tool-$arch-$os.tar.gz" \
|
||||||
|
| tar xz -C "$tmp"
|
||||||
|
if [ "$os" = macos ]; then
|
||||||
|
# tarball is <tool>-<arch>-macos/{bin,lib,...}; the binary finds its bundled
|
||||||
|
# libs/modules relative to its real path, so wrap it (a symlink would break
|
||||||
|
# that resolution) rather than linking.
|
||||||
|
rm -rf "$bin/$tool-$arch-macos"
|
||||||
|
mv "$tmp/$tool-$arch-macos" "$bin/"
|
||||||
|
printf '#!/bin/sh\nexec "%s/%s-%s-macos/bin/%s" "$@"\n' "$bin" "$tool" "$arch" "$tool" > "$bin/$tool"
|
||||||
|
chmod +x "$bin/$tool"
|
||||||
|
else
|
||||||
|
# tarball is a single <tool>-<arch>.AppImage
|
||||||
|
mv "$tmp/$tool-$arch.AppImage" "$bin/$tool"
|
||||||
|
chmod +x "$bin/$tool"
|
||||||
|
fi
|
||||||
|
rm -rf "$tmp"
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Installing Logos node tools for $os/$arch into $bin ..."
|
||||||
|
fetch logos-logoscore-cli logoscore "$LOGOSCORE_TAG"
|
||||||
|
fetch logos-package-downloader lgpd "$LGPD_TAG"
|
||||||
|
fetch logos-package-manager lgpm "$LGPM_TAG"
|
||||||
|
echo
|
||||||
|
echo "Done. Put them on your PATH:"
|
||||||
|
echo " export PATH=\"$bin:\$PATH\""
|
||||||
Loading…
x
Reference in New Issue
Block a user