The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=b8ae4def0fc088fa411e53083f10d69f2d368bac
commit b8ae4def0fc088fa411e53083f10d69f2d368bac Author: Ed Maste <ema...@freebsd.org> AuthorDate: 2025-05-20 20:49:02 +0000 Commit: Ed Maste <ema...@freebsd.org> CommitDate: 2025-06-17 17:15:52 +0000 release: Refactor dist set logic Add to the METALOG immediately following the operation itself to make the logic easier to follow. Fuse adjacent identical loops. Both of these are now possible as we no longer have separate paths for NO_ROOT builds. Move MANIFEST out of the loops for disc1 and dvd1 and copy it explicitly, so that all three MANIFEST operations are identical, and shared by pkgbase and legacy code paths for disc1 and dvd1. Reviewed by: jrm Event: Kitchener-Waterloo Hackathon 202506 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50383 --- release/Makefile | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/release/Makefile b/release/Makefile index a7549284ac35..4de2fe5264a6 100644 --- a/release/Makefile +++ b/release/Makefile @@ -210,20 +210,17 @@ disc1: packagesystem ${PKGBASE_REPO} mtree -c -p ${.TARGET}/usr/freebsd-packages | \ mtree -C -k type,mode,link,size | \ sed 's|^\.|./usr/freebsd-packages|g' >> ${.TARGET}/METALOG -# Copy manifest only (no distfiles) to get checksums +.endif + # Copy MANIFEST to provide legacy dist checksums in both modes mkdir -p ${.TARGET}/usr/freebsd-dist - cp MANIFEST ${.TARGET}/usr/freebsd-dist echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG + cp MANIFEST ${.TARGET}/usr/freebsd-dist echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -.else +.if !defined(PKGBASE) # Copy distfiles - mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ - do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ - done - echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); \ - do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ + for dist in $$(ls *.txz | grep -v container | grep -vE -- '(${base ${_ALL_libcompats}:L:ts|})-dbg'); do \ + cp $${dist} ${.TARGET}/usr/freebsd-dist; \ + echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ done .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) @@ -302,20 +299,18 @@ dvd: packagesystem ${PKGBASE_REPO} mtree -c -p ${.TARGET}/usr/freebsd-packages | \ mtree -C -k type,mode,link,size | \ sed 's|^\.|./usr/freebsd-packages|g' >> ${.TARGET}/METALOG -# Copy manifest only (no distfiles) to get checksums +.endif + # Copy MANIFEST to provide legacy dist checksums in both modes mkdir -p ${.TARGET}/usr/freebsd-dist - cp MANIFEST ${.TARGET}/usr/freebsd-dist echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG + cp MANIFEST ${.TARGET}/usr/freebsd-dist echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -.else +.if !defined(PKGBASE) # Copy distfiles mkdir -p ${.TARGET}/usr/freebsd-dist - for dist in MANIFEST $$(ls *.txz | grep -v container); \ - do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ - done - echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG - for dist in MANIFEST $$(ls *.txz | grep -v container); \ - do echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ + for dist in $$(ls *.txz | grep -v container); do \ + cp $${dist} ${.TARGET}/usr/freebsd-dist; \ + echo "./usr/freebsd-dist/$${dist} type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG; \ done .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG))