[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#62896: [Configure] Bug with check for PERL when path has spaces (i.e
From: |
Karl Berry |
Subject: |
bug#62896: [Configure] Bug with check for PERL when path has spaces (i.e. Windows) |
Date: |
Sat, 2 Dec 2023 15:53:28 -0700 |
echo "$PERL" | grep '[ \t]'
I don't think there's any portable way to use \t to insert a tab in a
shell string, besides literally. There's something like
tab=`printf '\t'`
.. "$tab" ...
but I don't see a need to go that far here. I just used a literal tab char.
also, can we really not trust the exit status of grep ?
if echo "$PERL" | grep -q '[\t ]'; then
Exit status yes, but at least historically, grep -q has been considered
non-portable, in favor of grep ... >/dev/null.
I committed the change as below. --thanks, karl.
--
configure: better check for the perl patch containing whitespace.
More for https://bugs.gnu.org/62896.
* configure.ac: quote "$PERL" and check directly with grep.
diff --git a/configure.ac b/configure.ac
index 23a9f97f5..946fecb67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -70,8 +70,8 @@ AC_PROG_LN_S
AC_PATH_PROG([PERL], [perl])
if test -z "$PERL"; then
AC_MSG_ERROR([perl not found])
-elif test x"`echo $PERL | grep ' '`" != "x"; then
- AC_MSG_ERROR([The path to your Perl contains spaces.
+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
compile finished at Sat Dec 2 14:52:38 2023