#!/bin/bash # Vanilla one-line installer for macOS: curl -fsSL https://releases.denzer.ai/install | bash # Downloads the fixed release package, verifies its checksum and starts the guided # installer from a plain file (no browser download, no Gatekeeper dialog). set -euo pipefail release_base='https://releases.denzer.ai' # Replaced by scripts/build-macos-installer.py. release_file='Vanilla-macOS-Installer-Offline.zip' release_sha='e97c10816d70bfd08fbec161d59d9e1c40083b247b2d974aaa2add6094244ece' release_version='0.1.29' base="${VANILLA_RELEASE_BASE:-$release_base}" fail() { printf '\nVanilla: %s\n' "$*" >&2; exit 1; } [ "$(uname -s)" = Darwin ] || fail "Dieser Installer benötigt macOS." [ "$(uname -m)" = arm64 ] || fail "Der Installer benötigt einen Mac mit Apple Silicon." [ "$(id -u)" -ne 0 ] || fail "Ohne sudo ausführen." case "$release_sha" in *__*) fail "Dieses Skript ist nicht an eine Version gebunden. Paket neu erstellen.";; esac printf '\n Vanilla %s wird geladen …\n\n' "$release_version" work=$(mktemp -d "${TMPDIR:-/tmp}/vanilla-install.XXXXXX") /usr/bin/curl --fail --location --proto '=https,file' --tlsv1.2 --progress-bar \ "$base/$release_file" -o "$work/package.zip" actual=$(/usr/bin/shasum -a 256 "$work/package.zip" | cut -d' ' -f1) [ "$actual" = "$release_sha" ] || fail "Das Paket ist beschädigt oder verändert (Prüfsumme stimmt nicht). Bitte erneut versuchen." /usr/bin/ditto -x -k "$work/package.zip" "$work" launcher="$work/Vanilla-Installer/Installieren.command" [ -f "$launcher" ] || fail "Das Paket enthält keinen Installer." chmod 700 "$launcher" # The guided installer asks questions: give it the terminal, not this script's pipe. exec /bin/bash "$launcher"