From: Darren Tucker Date: Thu, 23 Sep 2021 22:04:14 +0000 (+1000) Subject: Replacement function for buggy fgrep. X-Git-Tag: V_8_8_P1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7039541570d4b66d76e6f574544db176d8d5c02;p=thirdparty%2Fopenssh-portable.git Replacement function for buggy fgrep. GNU (f)grep <=2.18, as shipped by FreeBSD<=12 and NetBSD<=9 will occasionally fail to find ssh host keys in the hostkey-rotate test. If we have those versions, use awk instead. --- diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 415422ef5..5fcc3fcfc 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh @@ -79,6 +79,25 @@ if test "x${EGREP}" != "x"; then } fi +# +# GNU (f)grep <=2.18, as shipped by FreeBSD<=12 and NetBSD<=9 will occasionally +# fail to find ssh host keys in the hostkey-rotate test. If we have those +# versions, use awk instead. +# See # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258616 +# +case `grep --version 2>&1 | awk '/GNU grep/{print $4}'` in +2.19) fgrep=good ;; +1.*|2.?|2.?.?|2.1?) fgrep=bad ;; # stock GNU grep +2.5.1*) fgrep=bad ;; # FreeBSD and NetBSD +*) fgrep=good ;; +esac +if test "x$fgrep" = "xbad"; then + fgrep() +{ + awk 'BEGIN{e=1} {if (index($0,"'$1'")>0){e=0;print}} END{exit e}' $2 +} +fi + SRC=`dirname ${SCRIPT}` # defaults