|
1 | 1 | #!/usr/bin/env bash |
2 | 2 | set -euo pipefail |
3 | 3 |
|
| 4 | +PROJECT="linuxaid-cli" |
| 5 | +REPO="Obmondo/$PROJECT" |
| 6 | +API_URL="https://api.github.com/repos/$REPO/releases/latest" |
| 7 | +BIN_DIR="/usr/local/bin" |
| 8 | +BIN_NAME="linuxaid-install" |
| 9 | + |
4 | 10 | function cleanup() { |
5 | 11 | rm -rf "$TMP_DIR" |
6 | 12 | exit 130 |
|
23 | 29 | # ------------------------------------------------- |
24 | 30 | # 2. Find latest release tag on GitHub |
25 | 31 | # ------------------------------------------------- |
26 | | -PROJECT=linuxaid-cli"" |
27 | | -REPO="Obmondo/$PROJECT" |
28 | | -API_URL="https://api.github.com/repos/$REPO/releases/latest" |
29 | | - |
30 | | -# Grab the tag name (e.g., v1.2.3) |
31 | 32 | TAG=$(curl -sSf "$API_URL" | jq -r '.tag_name') |
32 | 33 | if [[ -z "$TAG" ]]; then |
33 | 34 | echo "Failed to obtain latest release tag" >&2 |
|
37 | 38 | # ------------------------------------------------- |
38 | 39 | # 3. Build download URL for the appropriate asset |
39 | 40 | # ------------------------------------------------- |
40 | | -# Expected asset name pattern: $PROJECT_${TAG}_linux_${TARGET}.tar.gz |
41 | 41 | ASSET="${PROJECT}_${TAG}_linux_${TARGET}.tar.gz" |
42 | 42 | DOWNLOAD_URL="https://github.com/$REPO/releases/download/$TAG/$ASSET" |
43 | 43 | SOURCE_CHECKSUM=$(curl -sSf "https://api.github.com/repos/$REPO/releases/latest" | jq -r --arg url "$DOWNLOAD_URL" '.assets[] | select(.browser_download_url == $url) | .digest | split(":")[1]') |
44 | 44 |
|
45 | 45 | # ------------------------------------------------- |
46 | 46 | # 4. Download the package from Github |
47 | 47 | # ------------------------------------------------- |
48 | | -BIN_DIR="/usr/local/bin" |
49 | | -BIN_NAME="linuxaid-install" |
50 | | - |
51 | 48 | # Trap SIGTERM (15), SIGINT (2 - Ctrl+C), and SIGHUP (1) |
52 | 49 | trap cleanup SIGTERM SIGINT SIGHUP EXIT |
53 | 50 |
|
|
0 commit comments