From 283f8a5c33c5faf460eac8c69acf0957b5ec484f Mon Sep 17 00:00:00 2001 From: "Jason A. Harmening" Date: Sat, 27 Jan 2018 20:13:36 +0000 Subject: [PATCH] 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 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 Reviewed by: bdrewery MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D13053 --- sys/conf/kern.post.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk index dc97a19e191..b4d59e47fd3 100644 --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -69,6 +69,9 @@ PORTSMODULESENV=\ -u CC \ -u CXX \ -u CPP \ + -u MAKESYSPATH \ + MAKEFLAGS="${MAKEFLAGS:M*:tW:S/^-m /-m_/g:S/ -m / -m_/g:tw:N-m_*}" \ + SYSDIR=${SYSDIR} \ PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \ SRC_BASE=${SRC_BASE} \ OSVERSION=${OSRELDATE} \