git: 5a9fe096f14c - stable/13 - tools/build: Improve host-symlinks failure mode

Jessica Clarke jrtc27 at FreeBSD.org
Sat Mar 27 02:10:55 UTC 2021


The branch stable/13 has been updated by jrtc27:

URL: https://cgit.FreeBSD.org/src/commit/?id=5a9fe096f14c8e7630961b0284c55a60491fd217

commit 5a9fe096f14c8e7630961b0284c55a60491fd217
Author:     Jessica Clarke <jrtc27 at FreeBSD.org>
AuthorDate: 2021-03-20 13:00:34 +0000
Commit:     Jessica Clarke <jrtc27 at FreeBSD.org>
CommitDate: 2021-03-27 02:10:29 +0000

    tools/build: Improve host-symlinks failure mode
    
    Since set -e is enabled by sys.mk, if the tool cannot be found in PATH
    then the entire shell command line fails, causing us to not print the
    error message below and instead silently (due to the @) fail, only
    getting the usual "Error code 1" print from bmake. Thus, provide a dummy
    default that will never exist (the same as is used by meta2deps.sh) if
    which fails so that we get the error message as intended.
    
    (cherry picked from commit 8c9e45503fe41732f72e1a4cc9a231e63b4289ba)
---
 tools/build/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/build/Makefile b/tools/build/Makefile
index effe8b9cb31d..31d027f75ce2 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -301,7 +301,8 @@ _host_tools_to_symlink:=${_host_tools_to_symlink:Nsh}
 host-symlinks:
 	@echo "Linking host tools into ${DESTDIR}/bin"
 .for _tool in ${_host_tools_to_symlink}
-	@export PATH=$${PATH}:/usr/local/bin; source_path=`which ${_tool}`; \
+	@export PATH=$${PATH}:/usr/local/bin; \
+	source_path=`which ${_tool} || echo /dev/null/no/such`; \
 	if [ ! -e "$${source_path}" ] ; then \
 		echo "Cannot find host tool '${_tool}' in PATH ($$PATH)." >&2; false; \
 	fi; \


More information about the dev-commits-src-all mailing list