From 6e3702e627b04b5a9c7fe2167b6d1fe1a57f0920 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 2 May 2016 11:18:11 -0400 Subject: [PATCH] Fix configure's incorrect version tests for flex and perl. awk's equality-comparison operator is "==" not "=". We got this right in many places, but not in configure's checks for supported version numbers of flex and perl. It hadn't been noticed because unsupported versions are so old as to be basically extinct in the wild, and because the only consequence is whether or not a WARNING flies by during configure. Daniel Gustafsson noted the problem with respect to the test for flex, I found the other by reviewing other awk calls. --- config/perl.m4 | 2 +- config/programs.m4 | 2 +- configure | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/perl.m4 b/config/perl.m4 index d602a5bb1b0..48ae2703b48 100644 --- a/config/perl.m4 +++ b/config/perl.m4 @@ -13,7 +13,7 @@ if test "$PERL"; then pgac_perl_version=`$PERL -v 2>/dev/null | sed -n ['s/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p']` AC_MSG_NOTICE([using perl $pgac_perl_version]) if echo "$pgac_perl_version" | sed ['s/[.a-z_]/ /g'] | \ - $AWK '{ if ([$]1 = 5 && [$]2 >= 8) exit 1; else exit 0;}' + $AWK '{ if ([$]1 == 5 && [$]2 >= 8) exit 1; else exit 0;}' then AC_MSG_WARN([ *** The installed version of Perl, $PERL, is too old to use with PostgreSQL. diff --git a/config/programs.m4 b/config/programs.m4 index 57bbe962c39..c9f0740800a 100644 --- a/config/programs.m4 +++ b/config/programs.m4 @@ -69,7 +69,7 @@ else echo '%%' > conftest.l if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then pgac_flex_version=`$pgac_candidate --version 2>/dev/null` - if echo "$pgac_flex_version" | sed ['s/[.a-z]/ /g'] | $AWK '{ if ([$]1 = 2 && ([$]2 > 5 || ([$]2 = 5 && [$]3 >= 31))) exit 0; else exit 1;}' + if echo "$pgac_flex_version" | sed ['s/[.a-z]/ /g'] | $AWK '{ if ([$]1 == 2 && ([$]2 > 5 || ([$]2 == 5 && [$]3 >= 31))) exit 0; else exit 1;}' then pgac_cv_path_flex=$pgac_candidate break 2 diff --git a/configure b/configure index 7aeac2ce139..f83e492b0d8 100755 --- a/configure +++ b/configure @@ -7193,7 +7193,7 @@ else echo '%%' > conftest.l if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then pgac_flex_version=`$pgac_candidate --version 2>/dev/null` - if echo "$pgac_flex_version" | sed 's/[.a-z]/ /g' | $AWK '{ if ($1 = 2 && ($2 > 5 || ($2 = 5 && $3 >= 31))) exit 0; else exit 1;}' + if echo "$pgac_flex_version" | sed 's/[.a-z]/ /g' | $AWK '{ if ($1 == 2 && ($2 > 5 || ($2 == 5 && $3 >= 31))) exit 0; else exit 1;}' then pgac_cv_path_flex=$pgac_candidate break 2 @@ -7291,7 +7291,7 @@ if test "$PERL"; then { $as_echo "$as_me:$LINENO: using perl $pgac_perl_version" >&5 $as_echo "$as_me: using perl $pgac_perl_version" >&6;} if echo "$pgac_perl_version" | sed 's/[.a-z_]/ /g' | \ - $AWK '{ if ($1 = 5 && $2 >= 8) exit 1; else exit 0;}' + $AWK '{ if ($1 == 5 && $2 >= 8) exit 1; else exit 0;}' then { $as_echo "$as_me:$LINENO: WARNING: *** The installed version of Perl, $PERL, is too old to use with PostgreSQL. -- 2.39.5