git: f83ec40fca52 - main - Makefile.inc1: Let the buildetc target run outside of etc
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 24 Apr 2025 14:35:07 UTC
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=f83ec40fca52e1e2319b5d4f770f8263378265d6
commit f83ec40fca52e1e2319b5d4f770f8263378265d6
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-04-24 14:32:41 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-04-24 14:32:41 +0000
Makefile.inc1: Let the buildetc target run outside of etc
Commit 49bc071f4088 ("nsswitch.conf: Avoid modification after
installation") changes handling of nsswitch.conf such that we make a
copy in the objdir during a build. Historically, the in-tree
nsswitch.conf lived under etc.
The buildetc target and its copy set SUBDIR_OVERRIDE=etc when building
the object tree, but I think this isn't right when conf files are
scattered around the src tree. If any of them require non-trivial
processing, they'll get skipped during buildetc, and then some
build-time commands may run during installetc. In the linked PR, this
fails because the src tree is mounted read-only and no objdir was
created during buildetc.
Remove the SUBDIR_OVERRIDE for the _obj target, and build the
buildconfig target across the tree.
PR: 286072
Fixes: 49bc071f4088 ("nsswitch.conf: Avoid modification after installation")
Reviewed by: brooks, dim
Tested by: dim, Alastair Hogge <agh@riseup.net>
Differential Revision: https://reviews.freebsd.org/D49960
---
Makefile.inc1 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.inc1 b/Makefile.inc1
index 4a0e4a884532..ebba0ccd9f5e 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1674,8 +1674,8 @@ buildetc: .MAKE .PHONY
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _legacy
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _bootstrap-tools \
MK_CROSS_COMPILER=no MK_TOOLCHAIN=no
- ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _obj \
- SUBDIR_OVERRIDE=etc
+ ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _obj
+ ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 buildconfig
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 everything \
SUBDIR_OVERRIDE=etc