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:58 UTC
- Message-ID
- <CAPig+cT3TNFBMesYvYoncawfBdLqKL971SoP_J7F9FgnL10Eqw@mail.gmail.com>
- In-Reply-To
- <CAPig+cSNgQ7SEYk9M=L7z0G=hteTdupKS6sHJL8T7zEp=zkLEA@mail.gmail.com>
On Tue, Mar 8, 2022 at 6:55 PM Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 22 quoted lines
> On Tue, Mar 8, 2022 at 6:44 PM Carlo Marcelo Arenas Belón
> <carenas@gmail.com> wrote:
> > 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.Nevermind, I forgot you want to better support "2.34.9000" matches. Though, awk should still be able to do so on its own, one would expect, but not too important.