Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Jan 2020 04:18:36 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r356650 - in head: . tools/build
Message-ID:  <202001120418.00C4Iapw084109@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Sun Jan 12 04:18:36 2020
New Revision: 356650
URL: https://svnweb.freebsd.org/changeset/base/356650

Log:
  Makefile.inc1: push /usr/libexec into the BPATH/TMPPATH
  
  ${WORLDTMP}/legacy/usr/libexec will only have libexec/ bits that we've
  pushed as bootstrap tools, so this is generally safe to include prior to
  PATH. The following are the ramifications of this change:
  
  - BPATH addition gets us at least bootstrap flua in WMAKEENV path for
    buildenv, for those earlier systems where it's bootstrapped still
  
  - Reworked the sysent target to just set PATH and let it get worked out in
    src.lua.mk or individual sysent makefiles -- this gives us back the
    ability to overwrite LUA_CMD and use a different/external lua for these
    targets.  sysent can also now work cleanly in buildenv.
  
  - tools/build/Makefile will now symlink the host flua into build's host
    tools so that the above can work without needing to add the host's
    /usr/libexec explicitly into TMPPATH.
  
  Reviewed by:	arichardson, brooks, imp (all slightly earlier version)
  Differential Revision:	https://reviews.freebsd.org/D22464

Modified:
  head/Makefile.inc1
  head/tools/build/Makefile

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Sun Jan 12 04:07:03 2020	(r356649)
+++ head/Makefile.inc1	Sun Jan 12 04:18:36 2020	(r356650)
@@ -590,7 +590,7 @@ BUILD_ARCH!=	uname -p
 .endif
 .endif
 WORLDTMP?=	${OBJTOP}/tmp
-BPATH=		${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin
+BPATH=		${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin:${WORLDTMP}/legacy/usr/libexec
 XPATH=		${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin
 
 # When building we want to find the cross tools before the host tools in ${BPATH}.
@@ -1500,11 +1500,11 @@ makeman: .PHONY
 	${_+_}cd ${.CURDIR}/tools/build/options; sh makeman > \
 	    ${.CURDIR}/share/man/man5/src.conf.5
 
-.if make(sysent)
-.include <src.lua.mk>
-.endif
-
-_sysent_PATH=	${WORLDTMP}/legacy/usr/libexec:/usr/libexec:${PATH}
+# We can't assume here that ${TMPPATH} will include ${PATH} or /usr/libexec
+# because we may be building with a STRICTTMPPATH, so we explicitly include
+# /usr/libexec here for flua.  ${TMPPATH} still usefully includes anything else
+# we may need to function.
+_sysent_PATH=	${TMPPATH}:/usr/libexec
 _sysent_dirs=	sys/kern
 _sysent_dirs+=	sys/compat/freebsd32
 _sysent_dirs+=	sys/compat/cloudabi32	\
@@ -1517,8 +1517,7 @@ _sysent_dirs+=	sys/amd64/linux		\
 sysent: .PHONY
 .for _dir in ${_sysent_dirs}
 	@echo "${MAKE} -C ${.CURDIR}/${_dir} sysent"
-	${_+_}@env PATH=${_sysent_PATH} LUA=${LUA_CMD} \
-	    ${MAKE} -C ${.CURDIR}/${_dir} sysent
+	${_+_}@env PATH=${_sysent_PATH} ${MAKE} -C ${.CURDIR}/${_dir} sysent
 .endfor
 
 #

Modified: head/tools/build/Makefile
==============================================================================
--- head/tools/build/Makefile	Sun Jan 12 04:07:03 2020	(r356649)
+++ head/tools/build/Makefile	Sun Jan 12 04:18:36 2020	(r356650)
@@ -116,6 +116,9 @@ host-symlinks:
 		ln -sfnv "$${source_path}" "$${target_path}"; \
 	fi
 .endfor
+.if exists(/usr/libexec/flua)
+	ln -sf /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
+.endif
 
 # Create all the directories that are needed during the legacy, bootstrap-tools
 # and cross-tools stages. We do this here using mkdir since mtree may not exist



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001120418.00C4Iapw084109>