diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-01 22:23:00 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-01 22:23:00 +0100 |
| commit | 4887abc5773b33ab1e213ed5f528dfebd242e2cd (patch) | |
| tree | 8eb2316783a21817cce422c3fb58ec953206dd9a /scripts/installers/linux.sh.in | |
| parent | v4.3.1: render Windows through wgpu and keep the installer window open (diff) | |
| download | zagan-bet-master.tar.gz zagan-bet-master.zip | |
Adds web/latest.php: a plain-text feed of the newest version with each artifact's filename and SHA-256. The per-release generated installers are replaced by stable web/install.sh and web/install.ps1; both read the feed, pick the newest build, verify it, install per-user and add a launcher. Publishing a new app version no longer regenerates or versions the installers.
publish.sh drops the installer renderer and Python dependency. deploy.sh now also verifies latest.php against the local artifacts and that the served installer scripts match the repository.
Diffstat (limited to 'scripts/installers/linux.sh.in')
| -rw-r--r-- | scripts/installers/linux.sh.in | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/scripts/installers/linux.sh.in b/scripts/installers/linux.sh.in deleted file mode 100644 index 5b53c02..0000000 --- a/scripts/installers/linux.sh.in +++ /dev/null | |||
| @@ -1,78 +0,0 @@ | |||
| 1 | #!/usr/bin/env bash | ||
| 2 | # Zagan-Bet desktop installer for Linux. | ||
| 3 | # | ||
| 4 | # Verifies the app against its published SHA-256, installs it for the current | ||
| 5 | # user and adds a launcher. Put the downloaded app next to this script, or run | ||
| 6 | # the script on its own and it will fetch the matching binary. | ||
| 7 | set -euo pipefail | ||
| 8 | |||
| 9 | VERSION="__VERSION__" | ||
| 10 | BINARY="__BINARY__" | ||
| 11 | SHA256="__SHA256__" | ||
| 12 | URL="__URL__" | ||
| 13 | |||
| 14 | say() { printf '%s\n' "$*"; } | ||
| 15 | die() { printf 'install: %s\n' "$*" >&2; exit 1; } | ||
| 16 | |||
| 17 | command -v sha256sum >/dev/null 2>&1 || die "sha256sum is required" | ||
| 18 | |||
| 19 | here=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) | ||
| 20 | source_file="" | ||
| 21 | for candidate in "$here/$BINARY" "./$BINARY" "$HOME/Downloads/$BINARY"; do | ||
| 22 | if [ -f "$candidate" ]; then | ||
| 23 | source_file=$candidate | ||
| 24 | break | ||
| 25 | fi | ||
| 26 | done | ||
| 27 | |||
| 28 | cleanup="" | ||
| 29 | if [ -z "$source_file" ]; then | ||
| 30 | command -v curl >/dev/null 2>&1 || die "put $BINARY next to this installer, or install curl" | ||
| 31 | cleanup=$(mktemp) || die "cannot create a temporary file" | ||
| 32 | say "Downloading $BINARY..." | ||
| 33 | curl -fsSL --max-time 300 "$URL" -o "$cleanup" || die "download failed" | ||
| 34 | source_file=$cleanup | ||
| 35 | fi | ||
| 36 | trap 'if [ -n "$cleanup" ]; then rm -f "$cleanup"; fi' EXIT | ||
| 37 | |||
| 38 | actual=$(sha256sum "$source_file" | awk '{print $1}') | ||
| 39 | [ "$actual" = "$SHA256" ] || die "checksum mismatch: expected $SHA256, got $actual" | ||
| 40 | |||
| 41 | bin_dir="${XDG_BIN_HOME:-$HOME/.local/bin}" | ||
| 42 | data_dir="${XDG_DATA_HOME:-$HOME/.local/share}" | ||
| 43 | app="$bin_dir/zagan-bet-gui" | ||
| 44 | desktop_dir="$data_dir/applications" | ||
| 45 | icon_dir="$data_dir/icons/hicolor/scalable/apps" | ||
| 46 | |||
| 47 | mkdir -p "$bin_dir" "$desktop_dir" "$icon_dir" | ||
| 48 | install -m 0755 "$source_file" "$app" | ||
| 49 | |||
| 50 | cat > "$icon_dir/zagan-bet.svg" <<'ICON' | ||
| 51 | __ICON__ | ||
| 52 | ICON | ||
| 53 | |||
| 54 | cat > "$desktop_dir/zagan-bet.desktop" <<DESKTOP | ||
| 55 | [Desktop Entry] | ||
| 56 | Type=Application | ||
| 57 | Name=Zagan-Bet | ||
| 58 | Comment=Slots, roulette, blackjack and crash | ||
| 59 | Exec=$app | ||
| 60 | Icon=zagan-bet | ||
| 61 | Terminal=false | ||
| 62 | Categories=Game; | ||
| 63 | DESKTOP | ||
| 64 | chmod 0644 "$desktop_dir/zagan-bet.desktop" "$icon_dir/zagan-bet.svg" | ||
| 65 | |||
| 66 | if command -v update-desktop-database >/dev/null 2>&1; then | ||
| 67 | update-desktop-database "$desktop_dir" >/dev/null 2>&1 || true | ||
| 68 | fi | ||
| 69 | if command -v gtk-update-icon-cache >/dev/null 2>&1; then | ||
| 70 | gtk-update-icon-cache -q "$data_dir/icons/hicolor" >/dev/null 2>&1 || true | ||
| 71 | fi | ||
| 72 | |||
| 73 | say "Installed Zagan-Bet $VERSION to $app" | ||
| 74 | say "A launcher was added to your applications menu." | ||
| 75 | case ":$PATH:" in | ||
| 76 | *":$bin_dir:"*) ;; | ||
| 77 | *) say "Add $bin_dir to PATH to start it as 'zagan-bet-gui'." ;; | ||
| 78 | esac | ||
