On 06/15/2016 01:44 PM, Ximin Luo wrote:
Gnulib can't test for all POSIX violations, only for the ones it knows
about. CONFIG_SHELL lets the user override Gnulib's guess in
environments where the guess is wrong. This sort of thing has been in
Gnulib (and Autoconf) for ages, I expect many people have grown used to
it, and I'm leery of changing this just for the purpose of reproducible
builds. For reproducible builds, I suggest configuring with
CONFIG_SHELL=/bin/sh as that should make the build reproducible without
having to change Autoconf or Gnulib.
In such a case, it is a bug to be using $POSIX_SHELL - which only tests for conformance
with POSIX and not these "other bugs that make it unusable".
More generally, 'configure' and reproducible builds are competing
objectives. 'configure' aims to guess characteristics of the target
environment by depending on details of the build environment; in
contrast, reproducible builds want to suppress details of the build
environment whenever possible. Probably the best way to marry these two
is for the reproducible build to start with a reproducible environment,
and setting CONFIG_SHELL to a known value is one step in that direction.
Reproducible-builds mailing list