diff --git a/CHANGELOG.md b/CHANGELOG.md index a61c6f3..203e489 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 2.0.0 (Unreleased) +## 2.0.0 (April 20, 2020) * New logging and debugging library * Massive testing, logging and loading refactoring diff --git a/libexec/tfenv---version b/libexec/tfenv---version index 6bc8e28..2e819ac 100755 --- a/libexec/tfenv---version +++ b/libexec/tfenv---version @@ -36,7 +36,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-exec b/libexec/tfenv-exec index 6ebcb04..975e5b2 100755 --- a/libexec/tfenv-exec +++ b/libexec/tfenv-exec @@ -40,7 +40,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-install b/libexec/tfenv-install index 781a92b..a91da3b 100755 --- a/libexec/tfenv-install +++ b/libexec/tfenv-install @@ -26,7 +26,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; @@ -95,6 +95,9 @@ case "$(uname -s)" in CYGWIN_NT*) os="windows_${TFENV_ARCH}"; ;; + FreeBSD*) + os="freebsd_${TFENV_ARCH}" + ;; *) os="linux_${TFENV_ARCH}"; ;; @@ -102,6 +105,7 @@ esac; keybase_bin="$(command -v keybase 2>/dev/null)"; shasum_bin="$(command -v shasum 2>/dev/null)"; +sha256sum_bin="$(command -v sha256sum 2>/dev/null)"; TFENV_REMOTE="${TFENV_REMOTE:-https://releases.hashicorp.com}"; version_url="${TFENV_REMOTE}/terraform/${version}"; @@ -226,6 +230,13 @@ if [[ -n "${shasum_bin}" && -x "${shasum_bin}" ]]; then -c <(grep -F "${tarball_name}" "${shasums_name}") \ || log 'error' 'SHA256 hash does not match!'; ); +elif [[ -n "${sha256sum_bin}" && -x "${sha256sum_bin}" ]]; then + ( + cd "${download_tmp}"; + "${sha256sum_bin}" \ + -c <(grep -F "${tarball_name}" "${shasums_name}") \ + || log 'error' 'SHA256 hash does not match!'; + ); else # Lack of shasum deserves a proper warning log 'warn' 'No shasum tool available. Skipping SHA256 hash validation'; diff --git a/libexec/tfenv-list b/libexec/tfenv-list index b8e232a..c3897a8 100755 --- a/libexec/tfenv-list +++ b/libexec/tfenv-list @@ -27,7 +27,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; @@ -73,7 +73,7 @@ version_name="$(tfenv-version-name)" \ || log 'error' "tfenv-version-name failed"; export version_name; -export version_file="$(tfenv-version-file)" \ +version_file="$(tfenv-version-file)" \ && log 'debug' "tfenv-version-file reported: ${version_file}" \ || log 'error' "tfenv-version-file failed"; export version_file; diff --git a/libexec/tfenv-list-remote b/libexec/tfenv-list-remote index 8b04997..ff99959 100755 --- a/libexec/tfenv-list-remote +++ b/libexec/tfenv-list-remote @@ -27,7 +27,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-min-required b/libexec/tfenv-min-required index b886e93..1399856 100755 --- a/libexec/tfenv-min-required +++ b/libexec/tfenv-min-required @@ -29,7 +29,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-resolve-version b/libexec/tfenv-resolve-version index d488e52..e6c54e5 100755 --- a/libexec/tfenv-resolve-version +++ b/libexec/tfenv-resolve-version @@ -29,7 +29,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-uninstall b/libexec/tfenv-uninstall index 6cb8df8..715d4f2 100755 --- a/libexec/tfenv-uninstall +++ b/libexec/tfenv-uninstall @@ -27,7 +27,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-use b/libexec/tfenv-use index 2a96a2d..33817d3 100755 --- a/libexec/tfenv-use +++ b/libexec/tfenv-use @@ -26,7 +26,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-version-file b/libexec/tfenv-version-file index e4f0ce7..6b9697a 100755 --- a/libexec/tfenv-version-file +++ b/libexec/tfenv-version-file @@ -29,7 +29,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi; diff --git a/libexec/tfenv-version-name b/libexec/tfenv-version-name index d9bbe5d..b8923c4 100755 --- a/libexec/tfenv-version-name +++ b/libexec/tfenv-version-name @@ -28,7 +28,7 @@ if [ -z "${TFENV_ROOT:-""}" ]; then }; TFENV_ROOT="$(cd "$(dirname "$(readlink_f "${0}")")/.." && pwd)"; - [ -n ${TFENV_ROOT} ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; + [ -n "${TFENV_ROOT}" ] || early_death "Failed to 'cd \"\$(dirname \"\$(readlink_f \"${0}\")\")/..\" && pwd' while trying to determine TFENV_ROOT"; else TFENV_ROOT="${TFENV_ROOT%/}"; fi;