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

(cherry picked from commit d0ff67db29)
This commit is contained in:
Colin Percival committed 2025-10-03 17:36:51 -07:00
1 parent 4b734c4774
commit afdc022deb
2 files changed
+57 -1

No files matched your search

+13 -1
View File
@@ -132,6 +132,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)
@@ -142,7 +145,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>
@@ -213,6 +216,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 }" \
@@ -457,6 +463,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"
+44
View File
@@ -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}