aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Percival <cperciva@FreeBSD.org>2025-11-14 19:04:51 -0800
committerColin Percival <cperciva@FreeBSD.org>2025-11-15 19:10:54 -0800
commitf8526558890c201f5a2c3959112db3f0036de385 (patch)
tree4a7b0556be07a50a1092189e48dea95e693a8490
parenta13564a16fada30137d62ad0d3c71ef651387ce8 (diff)
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. Approved by: re (cperciva) With hat: re MFC after: 8 hours (needed in 15.0-RC1) (cherry picked from commit 51184e38c932b7acedfc26fef3a0aad4c04f8959) (cherry picked from commit 2ce97e800393057e3b8f041993678cb8af2c7607)
-rw-r--r--usr.sbin/bsdinstall/FreeBSD-base.conf.in4
-rw-r--r--usr.sbin/bsdinstall/Makefile16
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>