xtables-addons: build: fix configure compatiblity with POSIX shells

Fixes build with /bin/sh pointing to certain versions of dash (for example
on Void Linux).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 49218
This commit is contained in:
John Crispin 2016-04-21 19:47:26 +00:00
parent 5099a0d386
commit 79c67071c6
2 changed files with 57 additions and 6 deletions

View file

@ -0,0 +1,51 @@
From f07a0a5cb8b3c5e1aee8b30c7fa21ccfbf24a95a Mon Sep 17 00:00:00 2001
Message-Id: <f07a0a5cb8b3c5e1aee8b30c7fa21ccfbf24a95a.1459880505.git.mschiffer@universe-factory.net>
From: Matthias Schiffer <mschiffer@universe-factory.net>
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

View file

@ -1,11 +1,11 @@
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -44,7 +44,7 @@ regular_CFLAGS="-Wall -Waggregate-return @@ -44,7 +44,7 @@ regular_CFLAGS="-Wall -Waggregate-return -Wmissing-declarations \
if test -n "$kbuilddir"; then if test -n "$kbuilddir"; then
AC_MSG_CHECKING([kernel version that we will build against]) AC_MSG_CHECKING([kernel version that we will build against])
- krel="$(make -sC "$kbuilddir" M=$PWD kernelrelease)"; - krel="$(make -sC "$kbuilddir" M=$PWD kernelrelease | $AWK -v 'FS=[[^0-9.]]' '{print $1; exit}')";
+ krel="$(make -sC "$kbuilddir" M=$PWD kernelversion)"; + krel="$(make -sC "$kbuilddir" M=$PWD kernelversion | $AWK -v 'FS=[[^0-9.]]' '{print $1; exit}')";
kmajor="${krel%%[[^0-9]]*}"; save_IFS=$IFS;
kmajor="$(($kmajor+0))"; IFS='.';
krel="${krel:${#kmajor}}"; set x $krel;