On 2021-06-26, Andreas Metzler wrote: > On 2021-06-26 Vagrant Cascadian <vagr...@reproducible-builds.org> wrote: >> Depending on what /bin/sh symlinks to, either /bin/sh or /bin/bash is >> embedded in autoopts-config: > >> >> https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/diffoscope-results/autogen.html > >> ./usr/bin/autoopts-config > >> #!·/bin/bash >> vs. >> #!·/bin/sh > >> The attached patch fixes this by hard-coding CONFIG_SHELL=/bin/sh in >> configure.ac. > >> I tried passing to configure or setting it in the environment, but both >> approaches were ineffective. > >> Applying this patch *should* make autogen build reproducibly. > [...] >> -[CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} >> -f=`${CONFIG_SHELL} -c 'echo true | ( >> - exec 2>/dev/null ; read -u0 line ; echo $line ; )'` >> -test X$f = Xtrue || CONFIG_SHELL=`command -v bash`] >> +CONFIG_SHELL=/bin/sh >> AC_SUBST(CONFIG_SHELL) >> AC_DEFINE_UNQUOTED(CONFIG_SHELL,$CONFIG_SHELL, >> [Define this to a working Bourne shell]) > [...] > > Hello Vagrant, > > thanks for the report. The ./configure test checks whether $CONFIG_SHELL > supports (non-posix) read -u and uses bash otherwise. This test succeeds > if /bin/sh happens to point to bash. However autogen shell code seems to > actually makes use of the read -u option and therefore an autogen binary > with the patch or built on a system with /bin/sh=bash will likely be > broken, not properly working on system with /bin/sh=dash. > So I think the proper fix (for the very real bug) would be to pass > CONFIG_SHELL=/bin/bash to configure.
I believe I did at one point try that, but will test again to be sure. live well, vagrant
signature.asc
Description: PGP signature