git: 4f00e2f96546 - stable/15 - release: Fix dependency ordering
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 10 Oct 2025 04:46:54 UTC
The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=4f00e2f965464eb4eb0814f6a64d21b9baf12745 commit 4f00e2f965464eb4eb0814f6a64d21b9baf12745 Author: Colin Percival <cperciva@FreeBSD.org> AuthorDate: 2025-10-07 20:48:06 +0000 Commit: Colin Percival <cperciva@FreeBSD.org> CommitDate: 2025-10-10 04:46:43 +0000 release: Fix dependency ordering The 'make release' command triggers some sub-builds, in particular 'real-release' (which builds install images) and 'vm-release' (which builds VM images). These both now depend on pkgbase-repo. Unfortunately for historical reasons 'make real-release' has used a recursive make instead of proper make dependencies; this results in the pkgbase-repo target being invoked twice since the recursive make does not have any awareness of the targets being run by the parent make command. Since the pkgbase-repo target starts by creating the pkgbase-repo directory, the second make command incorrectly assumes that target has already been built; this showed up in 15.0-ALPHA5 builds with pkgbase-repo.tar being empty as it was created after the pkgbase-repo directory was created by before that directory had been populated. Change real-release: make obj make ${RELEASE_TARGETS} to a single line real-release: obj .WAIT ${RELEASE_TARGETS} in order to handle dependency deduplication properly while keeping the intended behaviour that "obj" completes before ${RELEASE_TARGETS}. Diagnosed by: jrtc27, emaste Reviewed by: emaste MFC after: 1 day Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D52972 (cherry picked from commit b6f69c39999bfb85af262363b4fe22edc80027d7) --- release/Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/release/Makefile b/release/Makefile index 6bcb651d8dba..6b5b0c1b975c 100644 --- a/release/Makefile +++ b/release/Makefile @@ -445,9 +445,7 @@ release: real-release vm-release cloudware-release oci-release release-done: touch release -real-release: - ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj - ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} +real-release: obj .WAIT ${RELEASE_TARGETS} install: release-install vm-install oci-install .WAIT cloud-install