Open eli-schwartz opened 6 months ago
Hi, I've rebased against git master so the changes still apply.
@dragorn is there anything outstanding I need to do to get this merged? The current state of affairs makes it quite challenging to build kismet on my system...
Remove the consistent use of bashisms. An autoconf generated script is designed to work with POSIX sh, and contains a /bin/sh shebang. As a result, it cannot assume it will be run with bash, as it won't be.
The bashism in question is the double equals (
==
) operator for the test command. It is actually a bash-specific alias for the single equals operator. It behaves exactly the same, except more confusing. It contains no added functionality and no behavior changes, it is merely an additional alternate spelling. In exchange for doing nothing whatsoever, even in bash, it breaks muscle memory when writing POSIX sh scripts and tricks developers into writing the wrong thing.It is terrible and should never be used under any circumstances. Ideally it would be removed altogether from GNU bash.
Fixes the following warnings when running configure:
And the following fatal errors when trying to compile, since the resulting conditionals failed to define $(PROTOCBIN):
For extra interest, the failing command begins with
--flag
i.e. a flag passed to protoc, which Make then interprets as "ignore errors for this command", which means output files are not created but the build then continues and produces significantly more confusing errors such as: