git: cef8f3aca925 - stable/15 - release: Fix NO_ROOT cross-building VM images
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Oct 2025 16:53:46 UTC
The branch stable/15 has been updated by cperciva:
URL: https://cgit.FreeBSD.org/src/commit/?id=cef8f3aca9255a1193e4ba2578a01bb11c399a62
commit cef8f3aca9255a1193e4ba2578a01bb11c399a62
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-10-02 22:07:04 +0000
Commit: Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2025-10-03 16:50:20 +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
(cherry picked from commit 5c5c0571c2984669024dca5356f973ffc18a3e02)
---
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 169dc947c692..04fbeff091e7 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 \