From f07a0a5cb8b3c5e1aee8b30c7fa21ccfbf24a95a Mon Sep 17 00:00:00 2001 Message-Id: From: Matthias Schiffer Date: Fri, 1 Apr 2016 22:24:00 +0200 Subject: [PATCH] build: fix configure compatiblity with POSIX shells The kernel version detection code uses some bashisms, which makes the build fail on Debian systems where /bin/sh links to dash. Replace with POSIX- conforming commands at the cost of requiring awk. --- configure.ac | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/configure.ac b/configure.ac index 82a1355..5a5ea57 100644 --- a/configure.ac +++ b/configure.ac @@ -44,21 +44,15 @@ regular_CFLAGS="-Wall -Waggregate-return -Wmissing-declarations \ if test -n "$kbuilddir"; then AC_MSG_CHECKING([kernel version that we will build against]) - krel="$(make -sC "$kbuilddir" M=$PWD kernelrelease)"; - kmajor="${krel%%[[^0-9]]*}"; - kmajor="$(($kmajor+0))"; - krel="${krel:${#kmajor}}"; - krel="${krel#.}"; - kminor="${krel%%[[^0-9]]*}"; - kminor="$(($kminor+0))"; - krel="${krel:${#kminor}}"; - krel="${krel#.}"; - kmicro="${krel%%[[^0-9]]*}"; - kmicro="$(($kmicro+0))"; - krel="${krel:${#kmicro}}"; - krel="${krel#.}"; - kstable="${krel%%[[^0-9]]*}"; - kstable="$(($kstable+0))"; + krel="$(make -sC "$kbuilddir" M=$PWD kernelrelease | $AWK -v 'FS=[[^0-9.]]' '{print $1; exit}')"; + save_IFS=$IFS; + IFS='.'; + set x $krel; + IFS=$save_IFS; + kmajor="$(($2+0))"; + kminor="$(($3+0))"; + kmicro="$(($4+0))"; + kstable="$(($5+0))"; if test -z "$kmajor" -o -z "$kminor" -o -z "$kmicro"; then echo "WARNING: Version detection did not succeed. Continue at own luck."; else -- 2.8.0