vendor-install: wrap ldd-checking code in a function

and call it in `homebrew-vendor-install()` on Linux.
This commit is contained in:
Maxim Belkin 2020-12-15 06:43:11 -06:00
parent 40cd44a45f
commit e6c08bd9a5
No known key found for this signature in database
GPG Key ID: AC71560D4C5F2338

View File

@ -32,23 +32,24 @@ then
esac
fi
if [[ -n "$HOMEBREW_LINUX" ]]
then
LDD_VERSION_OUTPUT=$(/usr/bin/ldd --version)
if [[ $LDD_VERSION_OUTPUT =~ \ [0-9]\.[0-9]+ ]]
check_ldd_version() {
local ldd_version
local ldd_version_major
local ldd_version_minor
if [[ $(/usr/bin/ldd --version) =~ \ [0-9]\.[0-9]+ ]]
then
LDD_VERSION=${BASH_REMATCH[0]}
LDD_VERSION_MAJOR=${LDD_VERSION%.*}
LDD_VERSION_MINOR=${LDD_VERSION#*.}
if (( LDD_VERSION_MAJOR < 2 || LDD_VERSION_MINOR < 13 ))
ldd_version=${BASH_REMATCH[0]// /}
ldd_version_major=${ldd_version%.*}
ldd_version_minor=${ldd_version#*.}
if (( ldd_version_major < 2 || ldd_version_minor < 13 ))
then
odie "Vendored tools require system Glibc 2.13 or later"
odie "Vendored tools require system Glibc 2.13 or later."
fi
else
odie "Failed to detect system Glibc version"
odie "Failed to detect system Glibc version."
fi
unset LDD_VERSION_OUTPUT LDD_VERSION LDD_VERSION_MAJOR LDD_VERSION_MINOR
fi
}
# Execute the specified command, and suppress stderr unless HOMEBREW_STDERR is set.
quiet_stderr() {
@ -238,6 +239,7 @@ homebrew-vendor-install() {
[[ -z "$VENDOR_NAME" ]] && odie "This command requires a vendor target!"
[[ -n "$HOMEBREW_DEBUG" ]] && set -x
[[ -n "$HOMEBREW_LINUX" ]] && check_ldd_version
url_var="${VENDOR_NAME}_URL"
url2_var="${VENDOR_NAME}_URL2"