John Cotton Ericson wrote:

On 9/25/23 10:24, Zack Weinberg wrote:

It is ultimately ldv's call, but Jacob's experiment is not good enough
for me to approve.

So I saw Jacob's research as not demonstrating using functions is *definitely* OK, but that has indicating it *might* be OK. Does that sound better?


I might need to also point out that I only did a quick interactive test at the shell prompt; I did not actually try the patches.

The thing is that config.sub and config.guess need to work *even when
nothing else works*, because if they don't work on some ancient system
that gets in the way of submitting an actionable bug report.
Agreed. My change is does mean dropping support for borne shell without functions. The question (not something I know yet!) is whether anyone is still using such a system.

The other question is whether any such systems still exist, or were all Bourne shells quickly enhanced to support shell functions? (These are events from "before my time".)

[...]
I strongly recommend you pursue the possibility of generating config.*
from a more flexible source language
Rest assured, I certainly with that as "Plan B" if we cannot include shell functions.

Using m4 could be a fairly simple solution here, (I have a vague outline already) but we will still need to carry the generated scripts in the repository, because that is the widely-published distribution point.

and continuing the policy that
the code actually *in* these scripts is supposed to work with /bin/sh
as old as the introduction of `#` comments, instead.

It is unclear to me whether bourne-ish shells that were new in March 13 1992 that still didn't support shell functions, or whether there were simply older shells still floating around in widespread use.

I think at some point it is fine to drop support for older things: Autotools should transition from "we support everything since 1984" to "we support the last <N> decades of computers", but I make no claims as to what N should be :).


We also need to have definite checkpoints, in the sense of "these are the last versions that support FOOBOXIX; you can use them to bootstrap a more-modern environment". Example: what is the last release of GNU Bash that does not require a POSIX shell to build? Autoconf-generated configure scripts need to suggest installing that when the search for a POSIX shell fails.

But all this means we still need to be able to /identify/ very old systems, in order to report /when/ support for them was dropped...


-- Jacob


Reply via email to