M4sh tests 77 and 78 vs /bin/sh -> dash

2020-03-12 Thread Zack Weinberg
In https://lists.gnu.org/archive/html/autoconf/2020-03/msg3.html I said that tests 77 and 78 fail when run from within `make distcheck` with /bin/sh being dash. I haven’t yet completely solved this bug but I now know why it wasn’t happening on a regular `make check` for me. To trigger the bug

Re: M4sh tests 77 and 78 vs /bin/sh -> dash

2020-03-12 Thread Bob Friesenhahn
On Thu, 12 Mar 2020, Zack Weinberg wrote: does not, assuming the stock `autoreconf` is from Autoconf 2.69. This is because `make check` in this sequence re-runs configure via `config.status --recheck`, which doesn’t recalculate *everything*. In particular, the value of @SHELL@ will remain at wha

Re: M4sh tests 77 and 78 vs /bin/sh -> dash

2020-03-12 Thread Zack Weinberg
On Thu, Mar 12, 2020 at 12:12 PM Bob Friesenhahn wrote: > On Thu, 12 Mar 2020, Zack Weinberg wrote: > > > > does not, assuming the stock `autoreconf` is from Autoconf 2.69. > > This is because `make check` in this sequence re-runs configure > > via `config.status --recheck`, which doesn’t recalcul

Re: M4sh tests 77 and 78 vs /bin/sh -> dash

2020-03-12 Thread Bob Friesenhahn
On Thu, 12 Mar 2020, Zack Weinberg wrote: I agree in principle. On further investigation, there is a concrete reason why autoconf 2.69 prefers SHELL=/bin/bash to SHELL=/bin/dash, namely that dash doesn't support $LINENO, necessitating a complicated and fragile workaround (see _AS_LINENO_PREPARE

Re: M4sh tests 77 and 78 vs /bin/sh -> dash

2020-03-12 Thread Andrew W. Nosenko
> One reason why some projects are discarding use of Autoconf (and moving to CMake and Meson/Ninja) is due to how long it takes to execute a configure script Slowest point, in my experience, is time for running testsuite anyway, then compile time. So, time to regenerate or rerun configure script

Re: M4sh tests 77 and 78 vs /bin/sh -> dash

2020-03-12 Thread Michael Orlitzky
On 3/12/20 4:53 PM, Zack Weinberg wrote: > > On further investigation, there is a concrete reason why autoconf 2.69 > prefers SHELL=/bin/bash to SHELL=/bin/dash, namely that dash doesn't > support $LINENO, necessitating a complicated and fragile workaround The $LINENO support in dash is configura

Re: M4sh tests 77 and 78 vs /bin/sh -> dash

2020-03-12 Thread Paul Eggert
On 3/12/20 1:53 PM, Zack Weinberg wrote: the changed behavior of autoconf trunk was not intentional; it's because commit 2b59b6f8a79b8bf77e178ff4e5aa0ede433d39cf missed a direct use of $as_echo in _AS_DETECT_BETTER_SHELL, causing _AS_DETECT_BETTER_SHELL *not to work at all*! Thanks for catching