git: b8ae4def0fc0 - main - release: Refactor dist set logic
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 17 Jun 2025 17:23:16 UTC
The branch main has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=b8ae4def0fc088fa411e53083f10d69f2d368bac
commit b8ae4def0fc088fa411e53083f10d69f2d368bac
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-05-20 20:49:02 +0000
Commit: Ed Maste <emaste@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))