git: d500f1f015e3 - stable/15 - release: Install pkg from the pkgbase repo
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 25 Sep 2025 01:01:43 UTC
The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=d500f1f015e3157cd2fe501686fc4343df087613 commit d500f1f015e3157cd2fe501686fc4343df087613 Author: Lexi Winter <ivy@FreeBSD.org> AuthorDate: 2025-09-23 22:37:26 +0000 Commit: Lexi Winter <ivy@FreeBSD.org> CommitDate: 2025-09-25 01:00:41 +0000 release: Install pkg from the pkgbase repo If we're building pkgbase media, install the pkg package from the pkgbase repository we already created, not from pkg.freebsd.org. Aside from being more desirable, this also fixes make release for version/architecture combinations which are missing repository on pkg.f.o (which is nearly all of them at the time of writing). This doesn't yet work for bootonly, since we don't build the pkgbase repository there. For now, restore the old behaviour of attempting to install pkg from pkg.freebsd.org for bootonly. MFC after: 1 day Reviewed by: ifreund_freebsdfoundation.org, cperciva (previous version) Differential Revision: https://reviews.freebsd.org/D52637 (cherry picked from commit aba986215fc99d09655d4dcfc5e37f8b1ac83edf) --- release/Makefile | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/release/Makefile b/release/Makefile index 13aaefd4db8d..73ab2b7cb250 100644 --- a/release/Makefile +++ b/release/Makefile @@ -79,11 +79,16 @@ VOLUME_LABEL= ${REVISION:C/[.-]/_/g}_${BRANCH:C/[.-]/_/g}_${TARGET_ARCH} PKG_ENV+= INSTALL_AS_USER=yes PKG_ENV+= ASSUME_ALWAYS_YES=yes PKG_ARGS+= -o METALOG=METALOG -PKG_ARGS+= -r ${.TARGET} -o REPOS_DIR=${.CURDIR}/pkg_repos +PKG_ARGS+= -r ${.TARGET} +PKG_REPO_ARGS= -o REPOS_DIR=${.CURDIR}/pkg_repos +PKGBASE_REPO_ARGS=-o REPOS_DIR=${.OBJDIR}/pkgbase-repo-conf # Pass -f to make sure pkg writes to the METALOG even if the package # is already installed from a previous build -PKG_INSTALL= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} install -f -PKG_CLEAN= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} clean -a +PKG_INSTALL= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} ${PKG_REPO_ARGS} install -f +PKG_CLEAN= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} ${PKG_REPO_ARGS} clean -a +# This installs from the pkgbase repo we created during build. +PKGBASE_INSTALL=env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} ${PKGBASE_REPO_ARGS} install -f +PKGBASE_CLEAN= env ${PKG_ENV} ${PKG_CMD} ${PKG_ARGS} ${PKGBASE_REPO_ARGS} clean -a .endif .if !defined(VOLUME_LABEL) || empty(VOLUME_LABEL) @@ -238,7 +243,12 @@ disc1: ${PKGBASE_REPO} .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) # Install packages onto release media. +.if !defined(NOPKGBASE) || empty(NOPKGBASE) + ${PKGBASE_INSTALL} pkg + ${PKGBASE_CLEAN} +.else ${PKG_INSTALL} pkg +.endif ${PKG_INSTALL} wifi-firmware-kmod-release || true ${PKG_CLEAN} || true .endif @@ -277,8 +287,7 @@ bootonly: echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) -# Install packages onto release media. - ${PKG_INSTALL} pkg + ${PKG_INSTALL} pkg || true ${PKG_INSTALL} wifi-firmware-iwlwifi-kmod wifi-firmware-rtw88-kmod || true ${PKG_CLEAN} || true .endif @@ -331,7 +340,12 @@ dvd: ${PKGBASE_REPO} .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) # Install packages onto release media. +.if !defined(NOPKGBASE) || empty(NOPKGBASE) + ${PKGBASE_INSTALL} pkg + ${PKGBASE_CLEAN} +.else ${PKG_INSTALL} pkg +.endif ${PKG_INSTALL} wifi-firmware-kmod-release || true ${PKG_CLEAN} || true .endif