build: fix ordering of pkgbase targets to get a dtb package reliably

dtb.plist is generated by mtree-to-plist when it processes the kernel
metalog, so we shouldn't try to create dtb packages until that's been
done.  Add another level of indirection to the create-kernel-packages
target to organize all of the kernel flavors under a single target that
is ordered before the create-dtb-packages target.

Note that we may later refine these targets after further pkgbase
review; this is simply a maybe-final stop-gap that's been tested to
fix a known problem.

MFC after:	37 seconds (pkgbase fix for 15.0 builds)
Reviewed and tested by:	cperciva
Differential Revision:	https://reviews.freebsd.org/D53017
This commit is contained in:
Kyle Evans
2025-10-10 12:37:51 -05:00
parent c363dcbe75
commit a29cf898b0
+6 -3
View File
@@ -2240,7 +2240,7 @@ _default_flavor= -default
_debug=-dbg
. endif
create-dtb-package:
create-dtb-package: .PHONY
@if [ -f ${KSTAGEDIR}/${DISTDIR}/dtb.plist ]; then \
${SRCDIR}/release/packages/generate-ucl.lua \
PKGNAME "dtb" \
@@ -2265,9 +2265,12 @@ create-dtb-package:
-o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR} ; \
fi
create-kernel-packages: .PHONY
create-kernel-packages: .PHONY create-kernel-flavored-packages create-dtb-package
create-kernel-flavored-packages: .PHONY
.ORDER: create-kernel-flavored-packages create-dtb-package
. for flavor in "" ${_debug}
create-kernel-packages: create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},} create-dtb-package
create-kernel-flavored-packages: create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}
create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap .PHONY
@cd ${KSTAGEDIR}/${DISTDIR} ; \
${METALOG_SORT_CMD} ${KSTAGEDIR}/kernel.meta | \