git: 2ce97e800393 - stable/15 - bsdinstall: Use pkgbase.f.o for BETA/RC/RELEASE

From: Colin Percival <cperciva_at_FreeBSD.org>
Date: Sun, 16 Nov 2025 02:04:28 UTC
The branch stable/15 has been updated by cperciva:

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

commit 2ce97e800393057e3b8f041993678cb8af2c7607
Author:     Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2025-11-15 03:04:51 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2025-11-16 02:04:14 +0000

    bsdinstall: Use pkgbase.f.o for BETA/RC/RELEASE
    
    For BETA/RC/RELEASE builds, fetch files from the appropriate repository
    on pkgbase.freebsd.org, using the appropriate signing keys.  Note that
    there is a separate repository for each BETA and RC; this ensures that
    someone installing from e.g. a 15.0-RC1 ISO will get 15.0-RC1 bits and
    not whatever happens to be the most recent build from releng/15.0.
    
    With hat:       re
    MFC after:      8 hours (needed in 15.0-RC1)
    
    (cherry picked from commit 51184e38c932b7acedfc26fef3a0aad4c04f8959)
---
 usr.sbin/bsdinstall/FreeBSD-base.conf.in |  4 ++--
 usr.sbin/bsdinstall/Makefile             | 16 +++++++++++++---
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/usr.sbin/bsdinstall/FreeBSD-base.conf.in b/usr.sbin/bsdinstall/FreeBSD-base.conf.in
index 792c290facdf..86ec8fabe253 100644
--- a/usr.sbin/bsdinstall/FreeBSD-base.conf.in
+++ b/usr.sbin/bsdinstall/FreeBSD-base.conf.in
@@ -1,7 +1,7 @@
 FreeBSD-base: {
-  url: "pkg+https://pkg.FreeBSD.org/${ABI}/%%SUBURL%%",
+  url: "pkg+https://%%PKGHOST%%.FreeBSD.org/${ABI}/%%SUBURL%%",
   mirror_type: "srv",
   signature_type: "fingerprints",
-  fingerprints: "/usr/share/keys/pkg",
+  fingerprints: "/usr/share/keys/%%KEYSDIR%%",
   enabled: yes
 }
diff --git a/usr.sbin/bsdinstall/Makefile b/usr.sbin/bsdinstall/Makefile
index 5d7be97ed7cf..9a6b25fc5c7a 100644
--- a/usr.sbin/bsdinstall/Makefile
+++ b/usr.sbin/bsdinstall/Makefile
@@ -21,16 +21,26 @@ _REVISION!=	${MAKE} -C ${SRCTOP}/release -V REVISION
 REVISION?=	${_REVISION}
 
 .if ${BRANCH} == CURRENT || ${BRANCH} == STABLE
+PKGHOST=	pkg
+KEYSDIR=	pkg
 SUBURL=		base_latest
-.elif ${BRANCH} == RELEASE || ${BRANCH:C/[0-9]+$//} == BETA || \
-    ${BRANCH:C/[0-9]+$//} == RC
+.elif ${BRANCH} == RELEASE
+PKGHOST=	pkgbase
+KEYSDIR=	pkgbase-${REVISION:C/\.[0-9]+//}
 SUBURL=		base_release_${REVISION:C/[0-9]+\.//}
+.elif ${BRANCH:C/[0-9]+$//} == BETA || \
+    ${BRANCH:C/[0-9]+$//} == RC
+PKGHOST=	pkgbase
+KEYSDIR=	pkgbase-${REVISION:C/\.[0-9]+//}
+SUBURL= 	base_release_${REVISION:C/[0-9]+\.//}_${BRANCH:tl}
 .else
 .warning Invalid branch "${BRANCH}"
+PKGHOST=	pkg
+KEYSDIR=	pkg
 SUBURL=		base_latest
 .endif
 
 FreeBSD-base.conf: FreeBSD-base.conf.in
-	sed "s|%%SUBURL%%|${SUBURL}|" < ${.ALLSRC} > ${.TARGET}
+	sed "s|%%PKGHOST%%|${PKGHOST}|;s|%%SUBURL%%|${SUBURL}|;s|%%KEYSDIR%%|${KEYSDIR}|" < ${.ALLSRC} > ${.TARGET}
 
 .include <bsd.prog.mk>