Disallow using a colon ':' in source checkout paths.

This leaks into the PATH handling for WORLDTMP and breaks
finding cross-tools.  The PATH handling could be fixed to
properly quote but is not worth the effort.

Also allow this sanity check to always run even with 'make -n'.

MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
This commit is contained in:
Bryan Drewery 2017-10-29 01:20:47 +00:00
parent 5e3b906168
commit 64ec67921d

View File

@ -752,14 +752,20 @@ KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME}
# Attempt to rebuild the entire system, with reasonable chance of # Attempt to rebuild the entire system, with reasonable chance of
# success, regardless of how old your existing system is. # success, regardless of how old your existing system is.
# #
_sanity_check: .PHONY _sanity_check: .PHONY .MAKE
.if ${.CURDIR:C/[^,]//g} != "" .if ${.CURDIR:C/[^,]//g} != ""
# The m4 build of sendmail files doesn't like it if ',' is used # The m4 build of sendmail files doesn't like it if ',' is used
# anywhere in the path of it's files. # anywhere in the path of it's files.
@echo @echo
@echo "*** Error: path to source tree contains a comma ','" @echo "*** Error: path to source tree contains a comma ','"
@echo @echo
false @false
.elif ${.CURDIR:M*\:*} != ""
# Using ':' leaks into PATH and breaks finding cross-tools.
@echo
@echo "*** Error: path to source tree contains a colon ':'"
@echo
@false
.endif .endif
_worldtmp: .PHONY _worldtmp: .PHONY