Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Oct 2025 00:30:41 GMT
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 5c5c0571c298 - main - release: Fix NO_ROOT cross-building VM images
Message-ID:  <202510030030.5930UfVr007057@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=5c5c0571c2984669024dca5356f973ffc18a3e02

commit 5c5c0571c2984669024dca5356f973ffc18a3e02
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-10-02 22:07:04 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2025-10-03 00:30:07 +0000

    release: Fix NO_ROOT cross-building VM images
    
    Pass PKG_ABI to virtual machine image builds.
    
    Reviewed by:    cperciva
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D52874
---
 release/Makefile           | 15 ++++++++-------
 release/Makefile.vm        |  2 ++
 release/tools/vmimage.subr |  3 ++-
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/release/Makefile b/release/Makefile
index f907bf985893..70e5795bae0f 100644
--- a/release/Makefile
+++ b/release/Makefile
@@ -75,11 +75,19 @@ VOLUME_LABEL=	${REVISION:C/[.-]/_/g}_${BRANCH:C/[.-]/_/g}_${TARGET_ARCH}
 .endfor
 .endif
 
+.if !defined(NOPKGBASE) || empty(NOPKGBASE)
+PKGBASE_REPO_DIR= pkgbase-repo-dir
+WSTAGEDIR!=	${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR
+PKG_ABI_FILE=	${WSTAGEDIR}/usr/bin/uname
+PKG_ABI=	$$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI)
+.endif
+
 .if ${.MAKE.OS} == "FreeBSD"
 # For installing packages into the release media.
 PKG_ENV+=	INSTALL_AS_USER=yes
 PKG_ENV+=	ASSUME_ALWAYS_YES=yes
 PKG_ARGS+=	-o METALOG=METALOG
+PKG_ARGS+=	-o ABI=${PKG_ABI}
 PKG_ARGS+=	-r ${.TARGET}
 PKG_REPO_ARGS=	-o REPOS_DIR=${.CURDIR}/pkg_repos
 PKGBASE_REPO_ARGS=-o REPOS_DIR=${.OBJDIR}/pkgbase-repo-dir
@@ -194,13 +202,6 @@ bootonly: packagesystem
 dvd: packagesystem
 .endif
 
-.if !defined(NOPKGBASE) || empty(NOPKGBASE)
-PKGBASE_REPO_DIR= pkgbase-repo-dir
-WSTAGEDIR!=	${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR
-PKG_ABI_FILE=	${WSTAGEDIR}/usr/bin/uname
-PKG_ABI=	$$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI)
-.endif
-
 pkgbase-repo:
 	mkdir -p pkgbase-repo
 	mkdir -p /tmp/ports /tmp/distfiles
diff --git a/release/Makefile.vm b/release/Makefile.vm
index eafd1d6abf71..336e8fc82299 100644
--- a/release/Makefile.vm
+++ b/release/Makefile.vm
@@ -134,6 +134,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} ${PKGBASE_REPO_DIR}
 		${WITHOUT_QEMU:DWITHOUT_QEMU=true} \
 		${NO_ROOT:DNO_ROOT=true} \
 		PKG_CMD=${PKG_CMD:Upkg} \
+		PKG_ABI=${PKG_ABI} \
 		PKG_REPOS_DIR=${PKG_REPOS_DIR:U${.OBJDIR}/${.TARGET}/etc/pkg} \
 		PKG_REPO_NAME=${PKG_REPO_NAME:UFreeBSD-ports} \
 		PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \
@@ -192,6 +193,7 @@ vm-image:	${QEMUTGT} ${PKGBASE_REPO_DIR}
 		${WITHOUT_QEMU:DWITHOUT_QEMU=true} \
 		${NO_ROOT:DNO_ROOT=true} \
 		PKG_CMD=${PKG_CMD:Upkg} \
+		PKG_ABI=${PKG_ABI} \
 		PKG_REPOS_DIR=${PKG_REPOS_DIR:U${.OBJDIR}/${.TARGET}-${FORMAT}-${FS}/etc/pkg} \
 		PKG_REPO_NAME=${PKG_REPO_NAME:UFreeBSD-ports} \
 		PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \
diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr
index 577abaac73cf..f307e7888e93 100644
--- a/release/tools/vmimage.subr
+++ b/release/tools/vmimage.subr
@@ -94,7 +94,7 @@ vm_install_base() {
 		local pkg_cmd
 		pkg_cmd="pkg --rootdir ${DESTDIR} --repo-conf-dir ${PKGBASE_REPO_DIR}
 			-o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes
-			-o INSTALL_AS_USER=yes "
+			-o ABI=${PKG_ABI} -o INSTALL_AS_USER=yes "
 		$pkg_cmd update
 		selected=$($pkg_cmd rquery -U -r FreeBSD-base %n | \
 			vm_filter_base_packages | vm_extra_filter_base_packages)
@@ -198,6 +198,7 @@ vm_extra_install_packages() {
 		for pkg in ${VM_EXTRA_PACKAGES}; do
 			INSTALL_AS_USER=yes \
 			${PKG_CMD} \
+			    -o ABI=${PKG_ABI} \
 			    -o METALOG=${DESTDIR}/METALOG.pkg \
 			    -o REPOS_DIR=${PKG_REPOS_DIR} \
 			    -o PKG_DBDIR=${DESTDIR}/var/db/pkg \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510030030.5930UfVr007057>