[Reproducible-builds] Bug#806331: [xz-devel] Re: xz-utils: make the selected POSIX shell stable accross build environments
Paul Eggert
eggert at cs.ucla.edu
Wed Jun 15 21:02:58 UTC 2016
On 06/15/2016 01:44 PM, Ximin Luo wrote:
> 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".
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.
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.
More information about the Reproducible-builds
mailing list