Date: Tue, 10 Jul 2018 01:06:43 +0000 (UTC) From: "Jason A. Harmening" <jah@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r336155 - stable/11/sys/conf Message-ID: <201807100106.w6A16hp2084280@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jah Date: Tue Jul 10 01:06:43 2018 New Revision: 336155 URL: https://svnweb.freebsd.org/changeset/base/336155 Log: MFC r328489, r329232, r331836 r328489: Remove system makefile path directives from env passed to PORTS_MODULES step Previously, MAKESYSPATH as well as '-m' directives in MAKEFLAGS would cause any port rebuilt during the PORTS_MODULES stage to consume system makefiles from $(SRCROOT)/share/mk instead of those installed under /usr/share/mk. For kernel modules that need to build against an updated src tree this makes sense; less so for <bsd.port.mk> or any userspace library or utility the port may also happen to install. Before 11.0, this probably didn't matter much in practice. But the addition of src.libnames.mk under $(SRCROOT)/share/mk in 11.0 breaks any consumer of bsd.prog.mk and DPADD/LDADD during PORTS_MODULES. Address the build breakage by removing MAKESYSPATH and any occurrence of '-m' from MAKEFLAGS in the environment created for the port build. Instead set SYSDIR so that any kmod built by the port will still consume conf/kmod.mk from the updated src tree, assuming it uses <bsd.kmod.mk> r329232 (by bdrewery): ports modules: Don't leak AUTO_OBJ changes into the port builds. This came about when r328489 made ports modules builds no longer use the in-tree share/mk files, but didn't cleanup MAKEOBJDIR from the environment. This fixes "Variable OBJTOP is recursive". r331836: Remove MK_AUTO_OBJ from env passed to PORTS_MODULES This fixes a failure to resolve object file paths seen when buildkernel (which sets MK_AUTO_OBJ=yes) and installkernel (which sets MK_AUTO_OBJ=no) are run as separate steps. r329232 partially fixed this scenario by removing MAKEOBJDIR, but it seems the AUTO_OBJ setting also needs to be on the same page for the build and install steps. Modified: stable/11/sys/conf/kern.post.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/kern.post.mk ============================================================================== --- stable/11/sys/conf/kern.post.mk Tue Jul 10 00:36:37 2018 (r336154) +++ stable/11/sys/conf/kern.post.mk Tue Jul 10 01:06:43 2018 (r336155) @@ -69,6 +69,11 @@ PORTSMODULESENV=\ -u CC \ -u CXX \ -u CPP \ + -u MAKESYSPATH \ + -u MK_AUTO_OBJ \ + -u MAKEOBJDIR \ + MAKEFLAGS="${MAKEFLAGS:M*:tW:S/^-m /-m_/g:S/ -m / -m_/g:tw:N-m_*:NMK_AUTO_OBJ=*}" \ + SYSDIR=${SYSDIR} \ PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \ SRC_BASE=${SRC_BASE} \ OSVERSION=${OSRELDATE} \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807100106.w6A16hp2084280>