From e9ba25aabf6932646ddf0eb2144f40003349d921 Mon Sep 17 00:00:00 2001 From: Jessica Clarke Date: Tue, 9 Aug 2022 22:52:47 +0100 Subject: [PATCH] release: Use in-tree etcupdate for build This is in preparation for non-FreeBSD and -DNO_ROOT builds. On non-FreeBSD there is no host etcupdate to use, and -DNO_ROOT will require additional flags that may not be supported by the host's etcupdate when building on FreeBSD. Moreover, there's no guarantee anyway that the host's etcupdate is quite right for the current tree; upgrading from source only requires that the host's is good enough for -p which just manually copies master.passwd and group, the rest of the upgrade is done post-installworld. For example, should a new set of autogenerated files be added that etcupdate is taught about, the host won't know about them and so the bootstrapped current tree will incorrectly contain them, leading to spurious diffs on the installed system. Reviewed by: gjb, delphij Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D35853 --- release/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 6f250e0fc9c..c8639b43a3b 100644 --- a/release/Makefile +++ b/release/Makefile @@ -123,7 +123,8 @@ base.txz: sh ${.CURDIR}/scripts/mm-mtree.sh -m ${WORLDDIR} -F \ "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET} ${.MAKE.JOBS:D-j${.MAKE.JOBS}}" \ -D "${.OBJDIR}/${DISTDIR}/base" - etcupdate extract -B -M "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" \ + sh ${WORLDDIR}/usr.sbin/etcupdate/etcupdate.sh extract -B \ + -M "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" \ -s ${WORLDDIR} -d "${.OBJDIR}/${DISTDIR}/base/var/db/etcupdate" .endif # Package all components