The branch main has been updated by emaste:

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

commit 5c5c0571c2984669024dca5356f973ffc18a3e02
Author:     Ed Maste <[email protected]>
AuthorDate: 2025-10-02 22:07:04 +0000
Commit:     Ed Maste <[email protected]>
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 \

Reply via email to