On 2023-12-02 19:29, Zack Weinberg wrote:
`grep -q` *is* in POSIX, but I seem to recall tripping over a system that didn't have it (probably either a Solaris successor, or AIX) during the run-up to Autoconf 2.71.
Solaris 10 /usr/bin/grep does not support -e, -E, -f, -F, -q, or -x.Solaris 10 is supported by its supplier through January 2025; that's the usual guideline we use for how long to support a sorta-POSIX OS.
However, the script shouldn't use 'grep'. Instead, it should just use the shell's builtin pattern matching. That's faster and more portable. I installed the attached into Automake.
The original bug was fixed before I got to this, so I'm boldly closing the bug report.
From 668e8a20e3561063ee7478e91c9f81bb40cfed7a Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Sat, 2 Dec 2023 21:50:45 -0800 Subject: [PATCH] Simplify recent $PERL check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * configure.ac: Don’t spin off subprocesses to check $PERL. --- configure.ac | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 946fecb67..5cda80a18 100644 --- a/configure.ac +++ b/configure.ac @@ -68,13 +68,16 @@ AUTOMAKE="\"`pwd`/pre-inst-env\" automake-$APIVERSION" AC_PROG_LN_S AC_PATH_PROG([PERL], [perl]) -if test -z "$PERL"; then +case $PERL in + '') AC_MSG_ERROR([perl not found]) -elif echo "$PERL" | grep '[ ]' >/dev/null; then + ;; + *' '* | *' '*) AC_MSG_ERROR([The path to your Perl contains spaces or tabs. This would cause build failures later or unusable programs. Please use a path without spaces and try again.]) -fi + ;; +esac # Save details about the selected perl interpreter in config.log. AM_RUN_LOG([$PERL --version]) -- 2.40.1