Some checks failed
Desktop Release / Bootstrap updater signing key (push) Has been cancelled
Desktop Release / Windows x64 NSIS (push) Has been cancelled
Desktop Release / Linux x64 DEB + AppImage (push) Has been cancelled
Desktop Release / Publish public desktop release (push) Has been cancelled
74 lines
2.1 KiB
Bash
74 lines
2.1 KiB
Bash
#!/usr/bin/env sh
|
|
set -eu
|
|
|
|
BASE_URL="${FIELDLENS_DOWNLOAD_BASE_URL:-https://git.arrowstack.dev/Admin/fieldlens-desktop/raw/branch/main/downloads}"
|
|
PACKAGE="fieldlens-print-linux-x64.deb"
|
|
EXPECTED_SHA256="d6dbc12b6d712c688a5f05c5e69e91352acad1915f848b124cb09ef9d407b5b6"
|
|
|
|
say() {
|
|
printf '%s\n' "$*"
|
|
}
|
|
|
|
fail() {
|
|
printf 'FieldLens Print installer: %s\n' "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
case "$(uname -m)" in
|
|
x86_64|amd64) ;;
|
|
*) fail "this installer currently supports x86_64/amd64 Linux only" ;;
|
|
esac
|
|
|
|
command -v sha256sum >/dev/null 2>&1 || fail "sha256sum is required"
|
|
|
|
tmpdir="$(mktemp -d 2>/dev/null || mktemp -d -t fieldlens-print)"
|
|
trap 'rm -rf "$tmpdir"' EXIT HUP INT TERM
|
|
package_path="$tmpdir/$PACKAGE"
|
|
package_url="$BASE_URL/$PACKAGE"
|
|
|
|
say "Downloading FieldLens Print..."
|
|
|
|
if command -v curl >/dev/null 2>&1; then
|
|
curl -fL --retry 3 --retry-delay 1 -o "$package_path" "$package_url"
|
|
elif command -v wget >/dev/null 2>&1; then
|
|
wget -O "$package_path" "$package_url"
|
|
else
|
|
fail "curl or wget is required"
|
|
fi
|
|
|
|
actual_sha256="$(sha256sum "$package_path" | awk '{print $1}')"
|
|
if [ "$actual_sha256" != "$EXPECTED_SHA256" ]; then
|
|
fail "checksum verification failed"
|
|
fi
|
|
|
|
say "Checksum verified."
|
|
|
|
if [ "$(id -u)" -eq 0 ]; then
|
|
sudo_cmd=""
|
|
elif command -v sudo >/dev/null 2>&1; then
|
|
sudo_cmd="sudo"
|
|
else
|
|
fail "root access or sudo is required to install the package"
|
|
fi
|
|
|
|
if command -v apt-get >/dev/null 2>&1; then
|
|
say "Installing CUPS printer tools..."
|
|
$sudo_cmd apt-get update
|
|
$sudo_cmd apt-get install -y cups-client policykit-1 || $sudo_cmd apt-get install -y cups-client
|
|
say "Installing FieldLens Print..."
|
|
$sudo_cmd apt-get install -y "$package_path"
|
|
elif command -v apt >/dev/null 2>&1; then
|
|
say "Installing CUPS printer tools..."
|
|
$sudo_cmd apt update
|
|
$sudo_cmd apt install -y cups-client policykit-1 || $sudo_cmd apt install -y cups-client
|
|
say "Installing FieldLens Print..."
|
|
$sudo_cmd apt install -y "$package_path"
|
|
elif command -v dpkg >/dev/null 2>&1; then
|
|
say "Installing FieldLens Print..."
|
|
$sudo_cmd dpkg -i "$package_path"
|
|
else
|
|
fail "this installer currently supports Debian/Ubuntu-style systems"
|
|
fi
|
|
|
|
say "FieldLens Print installed successfully."
|