vendor-install.sh: Fix shellcheck
style errors
This commit is contained in:
parent
123d5c0dfa
commit
5183f9aeaf
@ -5,39 +5,45 @@
|
||||
|
||||
source "$HOMEBREW_LIBRARY/Homebrew/utils/lock.sh"
|
||||
|
||||
VENDOR_DIR="$HOMEBREW_LIBRARY/Homebrew/vendor"
|
||||
VENDOR_DIR="${HOMEBREW_LIBRARY}/Homebrew/vendor"
|
||||
|
||||
# Built from https://github.com/Homebrew/homebrew-portable-ruby.
|
||||
#
|
||||
# Dynamic variables can't be detected by shellcheck
|
||||
# shellcheck disable=SC2034
|
||||
if [[ -n "$HOMEBREW_MACOS" ]]
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2034,SC2154
|
||||
if [[ -n "${HOMEBREW_MACOS}" ]]
|
||||
then
|
||||
if [[ "$HOMEBREW_PROCESSOR" = "Intel" ]]
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2154
|
||||
if [[ "${HOMEBREW_PROCESSOR}" = "Intel" ]]
|
||||
then
|
||||
ruby_FILENAME="portable-ruby-2.6.3_2.yosemite.bottle.tar.gz"
|
||||
ruby_SHA="b065e5e3783954f3e65d8d3a6377ca51649bfcfa21b356b0dd70490f74c6bd86"
|
||||
fi
|
||||
elif [[ -n "$HOMEBREW_LINUX" ]]
|
||||
elif [[ -n "${HOMEBREW_LINUX}" ]]
|
||||
then
|
||||
case "$HOMEBREW_PROCESSOR" in
|
||||
case "${HOMEBREW_PROCESSOR}" in
|
||||
x86_64)
|
||||
ruby_FILENAME="portable-ruby-2.6.3_2.x86_64_linux.bottle.tar.gz"
|
||||
ruby_SHA="97e639a64dcec285392b53ad804b5334c324f1d2a8bdc2b5087b8bf8051e332f"
|
||||
;;
|
||||
*)
|
||||
esac
|
||||
fi
|
||||
|
||||
# Dynamic variables can't be detected by shellcheck
|
||||
# shellcheck disable=SC2034
|
||||
if [[ -n "$ruby_SHA" && -n "$ruby_FILENAME" ]]
|
||||
if [[ -n "${ruby_SHA}" && -n "${ruby_FILENAME}" ]]
|
||||
then
|
||||
ruby_URL="https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:$ruby_SHA"
|
||||
ruby_URL2="https://github.com/Homebrew/homebrew-portable-ruby/releases/download/2.6.3_2/$ruby_FILENAME"
|
||||
ruby_URL="https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:${ruby_SHA}"
|
||||
ruby_URL2="https://github.com/Homebrew/homebrew-portable-ruby/releases/download/2.6.3_2/${ruby_FILENAME}"
|
||||
fi
|
||||
|
||||
check_linux_glibc_version() {
|
||||
if [[ -z $HOMEBREW_LINUX || -z $HOMEBREW_LINUX_MINIMUM_GLIBC_VERSION ]]
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2154
|
||||
if [[ -z ${HOMEBREW_LINUX} || -z ${HOMEBREW_LINUX_MINIMUM_GLIBC_VERSION} ]]
|
||||
then
|
||||
return 0
|
||||
fi
|
||||
@ -56,7 +62,7 @@ check_linux_glibc_version() {
|
||||
glibc_version_minor=${glibc_version#*.}
|
||||
if (( glibc_version_major < minimum_required_major || glibc_version_minor < minimum_required_minor ))
|
||||
then
|
||||
odie "Vendored tools require system Glibc $HOMEBREW_LINUX_MINIMUM_GLIBC_VERSION or later (yours is $glibc_version)."
|
||||
odie "Vendored tools require system Glibc ${HOMEBREW_LINUX_MINIMUM_GLIBC_VERSION} or later (yours is ${glibc_version})."
|
||||
fi
|
||||
else
|
||||
odie "Failed to detect system Glibc version."
|
||||
@ -65,7 +71,9 @@ check_linux_glibc_version() {
|
||||
|
||||
# Execute the specified command, and suppress stderr unless HOMEBREW_STDERR is set.
|
||||
quiet_stderr() {
|
||||
if [[ -z "$HOMEBREW_STDERR" ]]; then
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2154
|
||||
if [[ -z "${HOMEBREW_STDERR}" ]]; then
|
||||
command "$@" 2>/dev/null
|
||||
else
|
||||
command "$@"
|
||||
@ -79,8 +87,10 @@ fetch() {
|
||||
|
||||
curl_args=()
|
||||
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2154
|
||||
# do not load .curlrc unless requested (must be the first argument)
|
||||
if [[ -z "$HOMEBREW_CURLRC" ]]
|
||||
if [[ -z "${HOMEBREW_CURLRC}" ]]
|
||||
then
|
||||
curl_args[${#curl_args[*]}]="-q"
|
||||
fi
|
||||
@ -90,56 +100,60 @@ fetch() {
|
||||
--fail
|
||||
--remote-time
|
||||
--location
|
||||
--user-agent "$HOMEBREW_USER_AGENT_CURL"
|
||||
--user-agent "${HOMEBREW_USER_AGENT_CURL}"
|
||||
--header "Authorization: Bearer QQ=="
|
||||
)
|
||||
|
||||
if [[ -n "$HOMEBREW_QUIET" ]]
|
||||
if [[ -n "${HOMEBREW_QUIET}" ]]
|
||||
then
|
||||
curl_args[${#curl_args[*]}]="--silent"
|
||||
elif [[ -z "$HOMEBREW_VERBOSE" ]]
|
||||
elif [[ -z "${HOMEBREW_VERBOSE}" ]]
|
||||
then
|
||||
curl_args[${#curl_args[*]}]="--progress-bar"
|
||||
fi
|
||||
|
||||
if [[ "$HOMEBREW_MACOS_VERSION_NUMERIC" -lt "100600" ]]
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2154
|
||||
if [[ "${HOMEBREW_MACOS_VERSION_NUMERIC}" -lt "100600" ]]
|
||||
then
|
||||
curl_args[${#curl_args[*]}]="--insecure"
|
||||
fi
|
||||
|
||||
temporary_path="$CACHED_LOCATION.incomplete"
|
||||
temporary_path="${CACHED_LOCATION}.incomplete"
|
||||
|
||||
mkdir -p "$HOMEBREW_CACHE"
|
||||
[[ -n "$HOMEBREW_QUIET" ]] || ohai "Downloading $VENDOR_URL" >&2
|
||||
if [[ -f "$CACHED_LOCATION" ]]
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2154
|
||||
mkdir -p "${HOMEBREW_CACHE}"
|
||||
[[ -n "${HOMEBREW_QUIET}" ]] || ohai "Downloading ${VENDOR_URL}" >&2
|
||||
if [[ -f "${CACHED_LOCATION}" ]]
|
||||
then
|
||||
[[ -n "$HOMEBREW_QUIET" ]] || echo "Already downloaded: $CACHED_LOCATION" >&2
|
||||
[[ -n "${HOMEBREW_QUIET}" ]] || echo "Already downloaded: ${CACHED_LOCATION}" >&2
|
||||
else
|
||||
if [[ -f "$temporary_path" ]]
|
||||
if [[ -f "${temporary_path}" ]]
|
||||
then
|
||||
# HOMEBREW_CURL is set by brew.sh (and isn't mispelt here)
|
||||
# shellcheck disable=SC2153
|
||||
"$HOMEBREW_CURL" "${curl_args[@]}" -C - "$VENDOR_URL" -o "$temporary_path"
|
||||
if [[ $? -eq 33 ]]
|
||||
then
|
||||
[[ -n "$HOMEBREW_QUIET" ]] || echo "Trying a full download" >&2
|
||||
rm -f "$temporary_path"
|
||||
"$HOMEBREW_CURL" "${curl_args[@]}" "$VENDOR_URL" -o "$temporary_path"
|
||||
[[ -n "${HOMEBREW_QUIET}" ]] || echo "Trying a full download" >&2
|
||||
rm -f "${temporary_path}"
|
||||
"${HOMEBREW_CURL}" "${curl_args[@]}" "${VENDOR_URL}" -o "${temporary_path}"
|
||||
fi
|
||||
else
|
||||
"$HOMEBREW_CURL" "${curl_args[@]}" "$VENDOR_URL" -o "$temporary_path"
|
||||
"${HOMEBREW_CURL}" "${curl_args[@]}" "${VENDOR_URL}" -o "${temporary_path}"
|
||||
fi
|
||||
|
||||
if [[ ! -f "$temporary_path" ]]
|
||||
if [[ ! -f "${temporary_path}" ]]
|
||||
then
|
||||
[[ -n "$HOMEBREW_QUIET" ]] || ohai "Downloading $VENDOR_URL2" >&2
|
||||
"$HOMEBREW_CURL" "${curl_args[@]}" "$VENDOR_URL2" -o "$temporary_path"
|
||||
[[ -n "${HOMEBREW_QUIET}" ]] || ohai "Downloading ${VENDOR_URL2}" >&2
|
||||
"${HOMEBREW_CURL}" "${curl_args[@]}" "${VENDOR_URL2}" -o "${temporary_path}"
|
||||
fi
|
||||
|
||||
if [[ ! -f "$temporary_path" ]]
|
||||
if [[ ! -f "${temporary_path}" ]]
|
||||
then
|
||||
odie <<EOS
|
||||
Failed to download $VENDOR_URL and $VENDOR_URL2!
|
||||
Failed to download ${VENDOR_URL} and ${VENDOR_URL2}!
|
||||
|
||||
Do not file an issue on GitHub about this; you will need to figure out for
|
||||
yourself what issue with your internet connection restricts your access to
|
||||
@ -149,22 +163,22 @@ EOS
|
||||
fi
|
||||
|
||||
trap '' SIGINT
|
||||
mv "$temporary_path" "$CACHED_LOCATION"
|
||||
mv "${temporary_path}" "${CACHED_LOCATION}"
|
||||
trap - SIGINT
|
||||
fi
|
||||
|
||||
if [[ -x "/usr/bin/shasum" ]]
|
||||
then
|
||||
sha="$(/usr/bin/shasum -a 256 "$CACHED_LOCATION" | cut -d' ' -f1)"
|
||||
sha="$(/usr/bin/shasum -a 256 "${CACHED_LOCATION}" | cut -d' ' -f1)"
|
||||
elif [[ -x "$(type -P sha256sum)" ]]
|
||||
then
|
||||
sha="$(sha256sum "$CACHED_LOCATION" | cut -d' ' -f1)"
|
||||
sha="$(sha256sum "${CACHED_LOCATION}" | cut -d' ' -f1)"
|
||||
elif [[ -x "$(type -P ruby)" ]]
|
||||
then
|
||||
sha="$(ruby <<EOSCRIPT
|
||||
require 'digest/sha2'
|
||||
digest = Digest::SHA256.new
|
||||
File.open('$CACHED_LOCATION', 'rb') { |f| digest.update(f.read) }
|
||||
File.open('${CACHED_LOCATION}', 'rb') { |f| digest.update(f.read) }
|
||||
puts digest.hexdigest
|
||||
EOSCRIPT
|
||||
)"
|
||||
@ -172,13 +186,13 @@ EOSCRIPT
|
||||
odie "Cannot verify checksum ('shasum' or 'sha256sum' not found)!"
|
||||
fi
|
||||
|
||||
if [[ "$sha" != "$VENDOR_SHA" ]]
|
||||
if [[ "${sha}" != "${VENDOR_SHA}" ]]
|
||||
then
|
||||
odie <<EOS
|
||||
Checksum mismatch.
|
||||
Expected: $VENDOR_SHA
|
||||
Actual: $sha
|
||||
Archive: $CACHED_LOCATION
|
||||
Expected: ${VENDOR_SHA}
|
||||
Actual: ${sha}
|
||||
Archive: ${CACHED_LOCATION}
|
||||
To retry an incomplete download, remove the file above.
|
||||
EOS
|
||||
fi
|
||||
@ -187,42 +201,42 @@ EOS
|
||||
install() {
|
||||
local tar_args
|
||||
|
||||
if [[ -n "$HOMEBREW_VERBOSE" ]]
|
||||
if [[ -n "${HOMEBREW_VERBOSE}" ]]
|
||||
then
|
||||
tar_args="xvzf"
|
||||
else
|
||||
tar_args="xzf"
|
||||
fi
|
||||
|
||||
mkdir -p "$VENDOR_DIR/portable-$VENDOR_NAME"
|
||||
safe_cd "$VENDOR_DIR/portable-$VENDOR_NAME"
|
||||
mkdir -p "${VENDOR_DIR}/portable-${VENDOR_NAME}"
|
||||
safe_cd "${VENDOR_DIR}/portable-${VENDOR_NAME}"
|
||||
|
||||
trap '' SIGINT
|
||||
|
||||
if [[ -d "$VENDOR_VERSION" ]]
|
||||
if [[ -d "${VENDOR_VERSION}" ]]
|
||||
then
|
||||
mv "$VENDOR_VERSION" "$VENDOR_VERSION.reinstall"
|
||||
mv "${VENDOR_VERSION}" "${VENDOR_VERSION}.reinstall"
|
||||
fi
|
||||
|
||||
safe_cd "$VENDOR_DIR"
|
||||
[[ -n "$HOMEBREW_QUIET" ]] || ohai "Pouring $VENDOR_FILENAME" >&2
|
||||
tar "$tar_args" "$CACHED_LOCATION"
|
||||
safe_cd "$VENDOR_DIR/portable-$VENDOR_NAME"
|
||||
safe_cd "${VENDOR_DIR}"
|
||||
[[ -n "${HOMEBREW_QUIET}" ]] || ohai "Pouring ${VENDOR_FILENAME}" >&2
|
||||
tar "${tar_args}" "${CACHED_LOCATION}"
|
||||
safe_cd "${VENDOR_DIR}/portable-${VENDOR_NAME}"
|
||||
|
||||
if quiet_stderr "./$VENDOR_VERSION/bin/$VENDOR_NAME" --version >/dev/null
|
||||
if quiet_stderr "./${VENDOR_VERSION}/bin/${VENDOR_NAME}" --version >/dev/null
|
||||
then
|
||||
ln -sfn "$VENDOR_VERSION" current
|
||||
if [[ -d "$VENDOR_VERSION.reinstall" ]]
|
||||
ln -sfn "${VENDOR_VERSION}" current
|
||||
if [[ -d "${VENDOR_VERSION}.reinstall" ]]
|
||||
then
|
||||
rm -rf "$VENDOR_VERSION.reinstall"
|
||||
rm -rf "${VENDOR_VERSION}.reinstall"
|
||||
fi
|
||||
else
|
||||
rm -rf "$VENDOR_VERSION"
|
||||
if [[ -d "$VENDOR_VERSION.reinstall" ]]
|
||||
rm -rf "${VENDOR_VERSION}"
|
||||
if [[ -d "${VENDOR_VERSION}.reinstall" ]]
|
||||
then
|
||||
mv "$VENDOR_VERSION.reinstall" "$VENDOR_VERSION"
|
||||
mv "${VENDOR_VERSION}.reinstall" "${VENDOR_VERSION}"
|
||||
fi
|
||||
odie "Failed to install $VENDOR_NAME $VENDOR_VERSION!"
|
||||
odie "Failed to install ${VENDOR_NAME} ${VENDOR_VERSION}!"
|
||||
fi
|
||||
|
||||
trap - SIGINT
|
||||
@ -235,26 +249,26 @@ homebrew-vendor-install() {
|
||||
|
||||
for option in "$@"
|
||||
do
|
||||
case "$option" in
|
||||
case "${option}" in
|
||||
-\?|-h|--help|--usage) brew help vendor-install; exit $? ;;
|
||||
--verbose) HOMEBREW_VERBOSE=1 ;;
|
||||
--quiet) HOMEBREW_QUIET=1 ;;
|
||||
--debug) HOMEBREW_DEBUG=1 ;;
|
||||
--*) ;;
|
||||
-*)
|
||||
[[ "$option" = *v* ]] && HOMEBREW_VERBOSE=1
|
||||
[[ "$option" = *q* ]] && HOMEBREW_QUIET=1
|
||||
[[ "$option" = *d* ]] && HOMEBREW_DEBUG=1
|
||||
[[ "${option}" = *v* ]] && HOMEBREW_VERBOSE=1
|
||||
[[ "${option}" = *q* ]] && HOMEBREW_QUIET=1
|
||||
[[ "${option}" = *d* ]] && HOMEBREW_DEBUG=1
|
||||
;;
|
||||
*)
|
||||
[[ -n "$VENDOR_NAME" ]] && odie "This command does not take multiple vendor targets!"
|
||||
VENDOR_NAME="$option"
|
||||
[[ -n "${VENDOR_NAME}" ]] && odie "This command does not take multiple vendor targets!"
|
||||
VENDOR_NAME="${option}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
[[ -z "$VENDOR_NAME" ]] && odie "This command requires a vendor target!"
|
||||
[[ -n "$HOMEBREW_DEBUG" ]] && set -x
|
||||
[[ -z "${VENDOR_NAME}" ]] && odie "This command requires a vendor target!"
|
||||
[[ -n "${HOMEBREW_DEBUG}" ]] && set -x
|
||||
check_linux_glibc_version
|
||||
|
||||
filename_var="${VENDOR_NAME}_FILENAME"
|
||||
@ -265,16 +279,16 @@ homebrew-vendor-install() {
|
||||
VENDOR_SHA="${!sha_var}"
|
||||
VENDOR_URL="${!url_var}"
|
||||
VENDOR_URL2="${!url2_var}"
|
||||
VENDOR_VERSION="$(<"$VENDOR_DIR/portable-$VENDOR_NAME-version")"
|
||||
VENDOR_VERSION="$(<"${VENDOR_DIR}/portable-${VENDOR_NAME}-version")"
|
||||
|
||||
if [[ -z "$VENDOR_URL" || -z "$VENDOR_SHA" ]]
|
||||
if [[ -z "${VENDOR_URL}" || -z "${VENDOR_SHA}" ]]
|
||||
then
|
||||
odie "No Homebrew $VENDOR_NAME $VENDOR_VERSION available for $HOMEBREW_PROCESSOR processors!"
|
||||
odie "No Homebrew ${VENDOR_NAME} ${VENDOR_VERSION} available for ${HOMEBREW_PROCESSOR} processors!"
|
||||
fi
|
||||
|
||||
CACHED_LOCATION="$HOMEBREW_CACHE/$VENDOR_FILENAME"
|
||||
CACHED_LOCATION="${HOMEBREW_CACHE}/${VENDOR_FILENAME}"
|
||||
|
||||
lock "vendor-install-$VENDOR_NAME"
|
||||
lock "vendor-install-${VENDOR_NAME}"
|
||||
fetch
|
||||
install
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user