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)
This commit is contained 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
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user