Subject: Reduce dependence on host /bin/sh
To: None <tech-toolchain@netbsd.org>
From: Alan Barrett <apb@cequrux.com>
List: tech-toolchain
Date: 09/25/2006 18:17:15
ftp://ftp.netbsd.org/pub/NetBSD/misc/apb/HOST_SH.20060925.diff contains
a set of patches to reduce the dependence on /bin/sh during a build.
All the explicit uses that I could find of /bin/sh or just sh have been
changed to use ${HOST_SH} or equivalent (which often means ${CONFIG_SHELL}).

I have tested with "build.sh release" in a chroot environment in
which /bin/sh was replaced by a script that logged every time it
was invoked.  The only remaining invocations of /bin/sh are now
traceable to the use of the host system's awk during the postfix build:
gnu/dist/postfix/src/postconf/extract.awk asks awk to invoke sed, and
awk does that via the host system's /bin/sh.

The changes that I expect might be controversial are:

* Changing the order of entries in the jobs[] array in
  usr.bin/make/jobs.c, and changing DEFSHELL to 0.  Does any external
  code rely on building custom versions of make with a DEFSHELL set to a
  non-default value?

* All the changes in gnu/dist.  I'll try to push corresponding changes
  upstream, but supposing that fails, does it create a maintenance
  problem for us to have these local changes?

--apb (Alan Barrett)