[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] configure: Escape non-numbers in version_ge()
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH] configure: Escape non-numbers in version_ge() |
Date: |
Tue, 2 Feb 2021 11:49:11 +0100 |
On Red Hat based distributions, the configure script emits various
warnings:
# ./configure
Using './build' as the directory for build output
./configure: line 212: test: 2-15: integer expression expected
./configure: line 213: test: 2-15: integer expression expected
./configure: line 212: test: el8: integer expression expected
./configure: line 213: test: el8: integer expression expected
This is produced by the gdb version check introduced in commit
b1863ccc957 ("configure: gate our use of GDB to 8.3.1 or above"):
gdb_version=$($gdb_bin --version | head -n 1)
if version_ge ${gdb_version##* } 8.3.1; then
echo "HAVE_GDB_BIN=$gdb_bin" >> $config_host_mak
fi
Because on RHEL/Fedora the minor version is not a plain number:
$ gdb --version | head -n 1
GNU gdb (GDB) Fedora 9.1-7.fc32
$ gdb --version | head -n 1
GNU gdb (GDB) Red Hat Enterprise Linux 8.2-15.el8
Fix by only using the leading numbers, stripping the rest.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index e85d6baf8f8..21f6530a812 100755
--- a/configure
+++ b/configure
@@ -205,7 +205,7 @@ version_ge () {
local_first=${2-0}
# 'shift 2' if $2 is set, or 'shift' if $2 is not set
shift ${2:+2}
- local_ver1=$*
+ local_ver1=$(echo $* | sed -E 's/(^[0-9]+).*/\1/')
set x $local_ver2
# the second argument finished, the first must be greater or equal
test $# = 1 && return 0
--
2.26.2
- [PATCH] configure: Escape non-numbers in version_ge(),
Philippe Mathieu-Daudé <=