Fix -DBUILD_WITH_STRICT_TMPPATH dtrace builds

Some of the scripts used for libdtrace invoke nawk instead of awk
(for example cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh).
When bootstrapping all tools, we get the nawk -> awk link while building
usr.bin/awk, but when linking/copying the dependencies from the host we
were only adding awk but not nawk.

This was silently generating invalid files when building libdtrace with
BUILD_WITH_STRICT_TMPPATH=1 since those scripts invoke nawk instead of
awk. In addition to adding the missing link this commit also adds
set -e to those scripts to catch errors like this in the future.

Reviewed By:	markj, emaste
Differential Revision: https://reviews.freebsd.org/D26025
This commit is contained in:
Alex Richardson 2020-08-11 16:46:48 +00:00
parent 14267d398f
commit f57b27e3f8
5 changed files with 9 additions and 1 deletions

View File

@ -2240,9 +2240,13 @@ ${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd
_basic_bootstrap_tools_multilink=usr.bin/grep grep,egrep,fgrep _basic_bootstrap_tools_multilink=usr.bin/grep grep,egrep,fgrep
_basic_bootstrap_tools_multilink+=bin/test test,[ _basic_bootstrap_tools_multilink+=bin/test test,[
# bootstrap tools needed by buildworld: # bootstrap tools needed by buildworld:
_basic_bootstrap_tools=usr.bin/awk usr.bin/cut bin/expr usr.bin/gencat \ _basic_bootstrap_tools=usr.bin/cut bin/expr usr.bin/gencat \
usr.bin/join usr.bin/mktemp bin/rmdir usr.bin/sed usr.bin/sort \ usr.bin/join usr.bin/mktemp bin/rmdir usr.bin/sed usr.bin/sort \
usr.bin/truncate usr.bin/tsort usr.bin/truncate usr.bin/tsort
# Some build scripts use nawk instead of awk (this happens at least in
# cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh) so we need both awk
# and nawk in ${WORLDTMP}/legacy/bin.
_basic_bootstrap_tools_multilink+=usr.bin/awk awk,nawk
# file2c is required for building usr.sbin/config: # file2c is required for building usr.sbin/config:
_basic_bootstrap_tools+=usr.bin/file2c _basic_bootstrap_tools+=usr.bin/file2c
# uuencode/uudecode required for share/tabset # uuencode/uudecode required for share/tabset

View File

@ -25,6 +25,7 @@
# Use is subject to license terms. # Use is subject to license terms.
# #
#ident "%Z%%M% %I% %E% SMI" #ident "%Z%%M% %I% %E% SMI"
set -e
echo "\ echo "\
/*\n\ /*\n\

View File

@ -25,6 +25,7 @@
# Use is subject to license terms. # Use is subject to license terms.
# #
#ident "%Z%%M% %I% %E% SMI" #ident "%Z%%M% %I% %E% SMI"
set -e
BSDECHO=-e BSDECHO=-e

View File

@ -25,6 +25,7 @@
# Use is subject to license terms. # Use is subject to license terms.
# #
#ident "%Z%%M% %I% %E% SMI" #ident "%Z%%M% %I% %E% SMI"
set -e
BSDECHO=-e BSDECHO=-e

View File

@ -25,6 +25,7 @@
# Use is subject to license terms. # Use is subject to license terms.
# #
#ident "%Z%%M% %I% %E% SMI" #ident "%Z%%M% %I% %E% SMI"
set -e
echo "\ echo "\
/*\n\ /*\n\