The branch main has been updated by cperciva:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=d0ff67db2908a56b2f146963bb79f1a8e6283131

commit d0ff67db2908a56b2f146963bb79f1a8e6283131
Author:     Colin Percival <[email protected]>
AuthorDate: 2025-10-03 23:57:33 +0000
Commit:     Colin Percival <[email protected]>
CommitDate: 2025-10-04 00:26:32 +0000

    release: Publish pkgbase-repo.tar
    
    This is a tarball containing the pkgbase repository for the release.
    
    Note: This is an uncompressed tarball, because all of its constituent
    .pkg files are already compressed; there's no point adding another
    layer of compression.
    
    Reviewed by:    ivy
    MFC after:      1 minute
    Sponsored by:   https://www.patreon.com/cperciva
    Differential Revision:  https://reviews.freebsd.org/D52899
---
 release/Makefile         | 14 +++++++++++++-
 release/Makefile.mirrors | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/release/Makefile b/release/Makefile
index dcff6855db50..12f5114f8b22 100644
--- a/release/Makefile
+++ b/release/Makefile
@@ -135,6 +135,9 @@ RELEASE_TARGETS+= mini-memstick.img
 IMAGES+=       memstick.img
 IMAGES+=       mini-memstick.img
 .endif
+.if !defined(NOPKGBASE) || empty(NOPKGBASE)
+RELEASE_TARGETS+= pkgbase-repo.tar
+.endif
 
 CLEANFILES=    packagesystem *.txz MANIFEST release ${IMAGES}
 .if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES)
@@ -145,7 +148,7 @@ CLEANFILES+=        ${I}.xz
 .if defined(WITH_DVD) && !empty(WITH_DVD)
 CLEANFILES+=   pkg-stage
 .endif
-CLEANDIRS=     dist pkgdb-dvd pkgdb-disc1 pkgbase-repo pkgbase-repo-dir ftp 
disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick 
dvd
+CLEANDIRS=     dist pkgdb-dvd pkgdb-disc1 pkgbase-repo pkgbase-repo-dir ftp 
disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick 
dvd pkgbase-repo.tar
 beforeclean:
        chflags -R noschg .
 .include <bsd.obj.mk>
@@ -216,6 +219,9 @@ pkgbase-repo:
        ( ${IMAKE} -C ${WORLDDIR} packages REPODIR=${.OBJDIR}/pkgbase-repo \
            INCLUDE_PKG_IN_PKGBASE_REPO=YES BOOTSTRAP_PKG_FROM_PORTS=YES )
 
+pkgbase-repo.tar: pkgbase-repo
+       tar -cf pkgbase-repo.tar -C pkgbase-repo .
+
 pkgbase-repo-dir: pkgbase-repo
        mkdir -p pkgbase-repo-dir
        printf "FreeBSD-base: { url: "file://%s", enabled: yes }" \
@@ -465,6 +471,12 @@ release-install:
        ( cd ${DESTDIR} && sha512 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA512 )
        ( cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 )
 .endif
+.if !defined (NOPKGBASE) || empty(NOPKGBASE)
+       mkdir -p ${DESTDIR}/pkgbase
+       cp -p pkgbase-repo.tar ${DESTDIR}/pkgbase/
+       ( cd ${DESTDIR}/pkgbase && sha256 pkgbase-repo.tar > CHECKSUM.SHA256 )
+       ( cd ${DESTDIR}/pkgbase && sha512 pkgbase-repo.tar > CHECKSUM.SHA512 )
+.endif
 
 .include "${.CURDIR}/Makefile.inc1"
 .include "${.CURDIR}/Makefile.vm"
diff --git a/release/Makefile.mirrors b/release/Makefile.mirrors
index 5e65bfbe8b3f..958ac7717616 100644
--- a/release/Makefile.mirrors
+++ b/release/Makefile.mirrors
@@ -63,6 +63,11 @@ STAGE_TARGETS+=              oci-images-stage
 OCI_DIR=               ${TLD}/OCI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH}
 .endif
 
+.if !defined(NOPKGBASE) || empty(NOPKGBASE)
+STAGE_TARGETS+=                pkgbase-repo-stage
+PKGBASE_DIR=           
${TLD}/PKGBASE-REPOS/${REVISION}-${BRANCH}/${TARGET_ARCH}
+.endif
+
 CLEANFILES+=           ${STAGE_TARGETS}
 CHECKSUM_FILES?=       SHA512 SHA256
 SNAP_SUFFIX!=          echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' '
@@ -366,5 +371,44 @@ oci-images-stage:
 . endfor
 .endif
 
+pkgbase-repo-stage:
+       mkdir -p ${PKGBASE_DIR}
+.if defined(SNAPSHOT) && !empty(SNAPSHOT)
+. if exists(${PKGBASE_DIR}/Latest)
+       rm -rf ${PKGBASE_DIR}/Latest
+. endif
+       mkdir -p ${PKGBASE_DIR}/Latest
+       mkdir -p ${PKGBASE_DIR}/${BUILDDATE}
+       cd ${RELEASEDIR}/pkgbase && \
+               mv pkgbase-repo.tar pkgbase-repo-${SNAP_SUFFIX}.tar
+       cp -p ${RELEASEDIR}/pkgbase/pkgbase-repo-${SNAP_SUFFIX}.tar \
+               ${PKGBASE_DIR}/${BUILDDATE}/pkgbase-repo-${SNAP_SUFFIX}.tar
+       cd ${PKGBASE_DIR}/Latest && \
+               ln -s ../${BUILDDATE}/pkgbase-repo-${SNAP_SUFFIX}.tar \
+               pkgbase-repo.tar
+       cd ${RELEASEDIR}/pkgbase && rm -f CHECKSUM.*
+. for CHECKSUM in ${CHECKSUM_FILES}
+       cd ${RELEASEDIR}/pkgbase && \
+               ${CHECKSUM:tl} pkgbase-repo-*.tar > 
CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
+       cp -p ${RELEASEDIR}/pkgbase/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
+               ${PKGBASE_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
+       cd ${PKGBASE_DIR}/Latest && \
+               ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
+               CHECKSUM.${CHECKSUM}
+. endfor
+.else # not snapshot
+. if exists(${PKGBASE_DIR}/Latest)
+       rm -rf ${PKGBASE_DIR}/Latest
+. endif
+       mkdir -p ${PKGBASE_DIR}/Latest
+       cp -p ${RELEASEDIR}/pkgbase/pkgbase-repo.tar \
+               ${PKGBASE_DIR}/Latest/pkgbase-repo.tar
+. endfor
+. for CHECKSUM in ${CHECKSUM_FILES}
+       cp -p ${RELEASEDIR}/pkgbase/CHECKSUM.${CHECKSUM} \
+               ${PKGBASE_DIR}/Latest/CHECKSUM.${CHECKSUM}
+. endfor
+.endif
+
 ftp-stage:     remove-old-bits ${STAGE_TARGETS}
 

Reply via email to