to be a null-terminated string. Otherwise, if the user is not a member
of any secondary groups, buf is completely uninitialized and userinfo
adds garbage to the list of groups printed.
kfilter slots are used: no guarantee previously that last
slot had a NULL name.
- Reuse previously deregistered user kfilter slots in
kfilter_register().
* Don't use GROFF_CSH_HACK. It would change the "#! /bin/sh" to just
":", and this causes trouble for some shells. For example, if
CONFIG_SHELL=/bin/ksh, when the groff build uses ${CONFIG_SHELL} to
run a script that has been modified in this way, ksh sees the ":" and
decided to run the script under /bin/sh instead.
* Use SH_SCRIPT_SED_CMD="1s,/bin/sh,${CONFIG_SHELL},"
to edit the "#! /bin/sh" line, to ensure that scripts
are always run under the correct shell.
* Add CONFIG_SHELL=$(SHELL) to the environment when invoking genmultilib.
Due to substitutions made by associated configure scripts, the make
variable $(SHELL) will actually refer to the environment variable
${CONFIG_SHELL}.
* Explicitly use $(SHELL) to run shell scripts.
* Use SHELL = @SHELL@, not SHELL = /bin/sh. @SHELL@ will be substituted
by associated configure scripts, and will actually refer to the
environment variable ${CONFIG_SHELL}.
* Describe the HOST_SH variable, and the way build.sh attempts to set it.
* Suggest passing HOST_SH in the environment if /bin/sh is not a working
shell.
* Try to guess a suitable value for HOST_SH, if it was not set in
the environment. First try host-specific heuristics (Solaris has
/usr/xpg4/bin/sh); then try to find the name of the shell that was used
to run build.sh itself (by parsing the output from ps -p $$ -o comm);
then fall back to "sh".
* Having found a value for HOST_SH, copy it to BSHELL and CONFIG_SHELL.
* Use ${HOST_SH} instead of /bin/sh when creating the make wrapper.
* Use ${HOST_SH} instead of unqualified sh when running shell scripts.
If there are any undead ones set a flag so we don't report the 'Child (pid)
not in table' message when they die - it is impossible to (portably) find
the childrens pids.
This happens when make is run as 'make -f- ... <<EOF' and the shell uses
a child of (what will be) make to write the data into a pipe.