Skip site navigation (1)Skip section navigation (2)
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>