67 lines
2.2 KiB
Plaintext
67 lines
2.2 KiB
Plaintext
# Verify the CraftOS-PC harness is installed and recent enough.
|
|
check-craftos:
|
|
@command -v craftos >/dev/null 2>&1 || { \
|
|
printf '%s\n' 'craftos not found on $PATH. See docs/install-craftos-pc.md.' >&2; \
|
|
exit 1; \
|
|
}
|
|
@version="$(craftos --version)"; \
|
|
number="${version##* v}"; \
|
|
case "$number" in \
|
|
*.*.*) \
|
|
;; \
|
|
*) \
|
|
printf '%s\n' "$version"; \
|
|
printf '%s\n' 'Could not parse CraftOS-PC version. See docs/install-craftos-pc.md.' >&2; \
|
|
exit 1; \
|
|
;; \
|
|
esac; \
|
|
major="${number%%.*}"; \
|
|
rest="${number#*.}"; \
|
|
minor="${rest%%.*}"; \
|
|
patch="${rest#*.}"; \
|
|
patch="${patch%%[^0-9]*}"; \
|
|
printf '%s\n' "$version"; \
|
|
case "$major.$minor.$patch" in \
|
|
*[!0-9.]*|.*|*..*|*.) \
|
|
printf '%s\n' 'Could not parse CraftOS-PC version. See docs/install-craftos-pc.md.' >&2; \
|
|
exit 1; \
|
|
;; \
|
|
esac; \
|
|
if ! { [ "${major:-0}" -gt 2 ] || \
|
|
{ [ "${major:-0}" -eq 2 ] && [ "${minor:-0}" -gt 8 ]; } || \
|
|
{ [ "${major:-0}" -eq 2 ] && [ "${minor:-0}" -eq 8 ] && [ "${patch:-0}" -ge 3 ]; }; }; then \
|
|
printf '%s\n' 'CraftOS-PC v2.8.3 or newer is required. See docs/install-craftos-pc.md.' >&2; \
|
|
exit 1; \
|
|
fi
|
|
|
|
# Verify jq is installed.
|
|
check-jq:
|
|
@command -v jq >/dev/null 2>&1 || { \
|
|
printf '%s\n' 'jq not found on $PATH. See DEVELOPMENT.md.' >&2; \
|
|
exit 1; \
|
|
}
|
|
|
|
# Verify luacheck is installed.
|
|
check-luacheck:
|
|
@command -v luacheck >/dev/null 2>&1 || { \
|
|
printf '%s\n' 'luacheck not found on $PATH. See DEVELOPMENT.md.' >&2; \
|
|
exit 1; \
|
|
}
|
|
|
|
# Verify openssl is installed.
|
|
check-openssl:
|
|
@command -v openssl >/dev/null 2>&1 || { \
|
|
printf '%s\n' 'openssl not found on $PATH. See DEVELOPMENT.md.' >&2; \
|
|
exit 1; \
|
|
}
|
|
|
|
# Verify lychee is installed.
|
|
check-lychee:
|
|
@command -v lychee >/dev/null 2>&1 || { \
|
|
printf '%s\n' 'lychee not found on $PATH. See DEVELOPMENT.md.' >&2; \
|
|
exit 1; \
|
|
}
|
|
|
|
# Verify tools needed for local installation and CraftOS-PC launch recipes.
|
|
check-install: check-craftos check-jq check-luacheck check-openssl check-lychee
|