frappe_docker/scripts/easy-docker/lib/install/jq/platform.sh

52 lines
840 B
Bash
Executable file

#!/usr/bin/env bash
detect_jq_platform() {
local raw_os=""
local raw_arch=""
local jq_os=""
local jq_arch=""
raw_os="$(uname -s 2>/dev/null || echo unknown)"
raw_arch="$(uname -m 2>/dev/null || echo unknown)"
case "${raw_os}" in
Linux*)
jq_os="linux"
;;
Darwin*)
jq_os="macos"
;;
MINGW* | MSYS* | CYGWIN* | Windows_NT)
jq_os="windows"
;;
*)
return 1
;;
esac
case "${raw_arch}" in
x86_64 | amd64)
jq_arch="amd64"
;;
aarch64 | arm64)
jq_arch="arm64"
;;
armv7l | armv7)
jq_arch="armhf"
;;
*)
return 1
;;
esac
if [ "${jq_os}" = "windows" ] && [ "${jq_arch}" != "amd64" ]; then
return 1
fi
if [ "${jq_os}" = "macos" ] && [ "${jq_arch}" = "armhf" ]; then
return 1
fi
printf '%s %s\n' "${jq_os}" "${jq_arch}"
return 0
}