This commit makes it possible to build ModSecurity on systems where
/bin/sh is a POSIX-compliant shell that is not Bash. Debian, Alpine
Linux, and Gentoo Linux with the system shell set to not Bash, are
examples of such systems.
Previously, the helper macros contained two types of Bashisms:
* The '==' comparison operator. Very easy to change, as the proper
POSIX-compliant form is '='. For example:
if test "${var}" == "myvalue" -> if test "${var}" = "myvalue"
* The '-a' (and) operator in the 'test' builtin. The '-a' and '-o'
operators were removed in POSIX 2024 (Issue 8). The correct form
is to use the '&&' and '||' operators respectively. For instance:
if test -d "${var}" -a -r "${var}/file" ->
if test -d "${var}" && test -r "${var}/file"
Bug: https://bugs.gentoo.org/887135
Signed-off-by: Zurab Kvachadze <zurabid2016@gmail.com>
In particular, on CentOS 7.3.1611 building libmodsecurity with
default configure options ends up with failure while compiling
src/engine/lua.cc, while config.log states that Lua was disabled.