Re: [PATCH] test-lib.sh: use awk instead of expr for a POSIX non integer check
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Mar 8, 2022, 23:55 UTC
- Message-ID
- <CAPig+cSNgQ7SEYk9M=L7z0G=hteTdupKS6sHJL8T7zEp=zkLEA@mail.gmail.com>
- In-Reply-To
- <20220308113305.39395-1-carenas@gmail.com>
On Tue, Mar 8, 2022 at 6:44 PM Carlo Marcelo Arenas Belón <carenas@gmail.com> wrote:
Show 14 quoted lines
> Restrict the glibc version to a single version number and compare it
> arithmetically against the base glibc version to avoid accidentally
> matching against "2.3" and better supporting versions like "2.34.9000"
>
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> @@ -518,9 +518,9 @@ else
> - if _GLIBC_VERSION=$(getconf GNU_LIBC_VERSION 2>/dev/null) &&
> - _GLIBC_VERSION=${_GLIBC_VERSION#"glibc "} &&
> - expr 2.34 \<= "$_GLIBC_VERSION" >/dev/null
> + local _GLIBC_VERSION=$(getconf GNU_LIBC_VERSION 2>/dev/null)
> + if echo "$_GLIBC_VERSION" | cut -d. -f1-2 |
> + awk '{ if ($2 - 2.34 < 0) exit 1 }'No need for `cut` since `awk` can accomplish the same by itself.
if echo "$_GLIBC_VERSION" | awk '/^glibc / { if ($2 - 2.34 < 0) exit 1 }'should work, I would think.