Only compare OS versions if dig was successful (#5056)

pull/5061/head
Adam Warner 1 year ago committed by GitHub
commit 7971cf0adc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -394,41 +394,53 @@ os_check() {
# Extract dig response # Extract dig response
response="${cmdResult%%$'\n'*}" response="${cmdResult%%$'\n'*}"
IFS=" " read -r -a supportedOS < <(echo "${response}" | tr -d '"') if [ "${digReturnCode}" -ne 0 ]; then
for distro_and_versions in "${supportedOS[@]}" log_write "${INFO} Distro: ${detected_os^}"
do log_write "${INFO} Version: ${detected_version}"
distro_part="${distro_and_versions%%=*}" log_write "${CROSS} dig return code: ${COL_RED}${digReturnCode}${COL_NC}"
versions_part="${distro_and_versions##*=}" log_write "${CROSS} dig response: ${response}"
log_write "${CROSS} Error: ${COL_RED}dig command failed - Unable to check OS${COL_NC}"
if [[ "${detected_os^^}" =~ ${distro_part^^} ]]; then else
valid_os=true IFS=" " read -r -a supportedOS < <(echo "${response}" | tr -d '"')
IFS="," read -r -a supportedVer <<<"${versions_part}" for distro_and_versions in "${supportedOS[@]}"
for version in "${supportedVer[@]}" do
do distro_part="${distro_and_versions%%=*}"
if [[ "${detected_version}" =~ $version ]]; then versions_part="${distro_and_versions##*=}"
valid_version=true
break if [[ "${detected_os^^}" =~ ${distro_part^^} ]]; then
fi valid_os=true
done IFS="," read -r -a supportedVer <<<"${versions_part}"
break for version in "${supportedVer[@]}"
fi do
done if [[ "${detected_version}" =~ $version ]]; then
valid_version=true
log_write "${INFO} dig return code: ${digReturnCode}" break
log_write "${INFO} dig response: ${response}" fi
done
break
fi
done
if [ "$valid_os" = true ]; then local finalmsg
log_write "${TICK} Distro: ${COL_GREEN}${detected_os^}${COL_NC}" if [ "$valid_os" = true ]; then
log_write "${TICK} Distro: ${COL_GREEN}${detected_os^}${COL_NC}"
if [ "$valid_version" = true ]; then if [ "$valid_version" = true ]; then
log_write "${TICK} Version: ${COL_GREEN}${detected_version}${COL_NC}" log_write "${TICK} Version: ${COL_GREEN}${detected_version}${COL_NC}"
finalmsg="${TICK} ${COL_GREEN}Distro and version supported${COL_NC}"
else
log_write "${CROSS} Version: ${COL_RED}${detected_version}${COL_NC}"
finalmsg="${CROSS} Error: ${COL_RED}${detected_os^} is supported but version ${detected_version} is currently unsupported ${COL_NC}(${FAQ_HARDWARE_REQUIREMENTS})${COL_NC}"
fi
else else
log_write "${CROSS} Version: ${COL_RED}${detected_version}${COL_NC}" log_write "${CROSS} Distro: ${COL_RED}${detected_os^}${COL_NC}"
log_write "${CROSS} Error: ${COL_RED}${detected_os^} is supported but version ${detected_version} is currently unsupported (${FAQ_HARDWARE_REQUIREMENTS})${COL_NC}" finalmsg="${CROSS} Error: ${COL_RED}${detected_os^} is not a supported distro ${COL_NC}(${FAQ_HARDWARE_REQUIREMENTS})${COL_NC}"
fi fi
else
log_write "${CROSS} Distro: ${COL_RED}${detected_os^}${COL_NC}" # Print dig response and the final check result
log_write "${CROSS} Error: ${COL_RED}${detected_os^} is not a supported distro (${FAQ_HARDWARE_REQUIREMENTS})${COL_NC}" log_write "${TICK} dig return code: ${COL_GREEN}${digReturnCode}${COL_NC}"
log_write "${INFO} dig response: ${response}"
log_write "${finalmsg}"
fi fi
} }

Loading…
Cancel
Save