qemu-trivial
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]