[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