Skip to content

Commit 5c5c057

Browse files
committed
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
1 parent da25573 commit 5c5c057

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

release/Makefile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,19 @@ VOLUME_LABEL= ${REVISION:C/[.-]/_/g}_${BRANCH:C/[.-]/_/g}_${TARGET_ARCH}
7575
.endfor
7676
.endif
7777

78+
.if !defined(NOPKGBASE) || empty(NOPKGBASE)
79+
PKGBASE_REPO_DIR= pkgbase-repo-dir
80+
WSTAGEDIR!= ${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR
81+
PKG_ABI_FILE= ${WSTAGEDIR}/usr/bin/uname
82+
PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI)
83+
.endif
84+
7885
.if ${.MAKE.OS} == "FreeBSD"
7986
# For installing packages into the release media.
8087
PKG_ENV+= INSTALL_AS_USER=yes
8188
PKG_ENV+= ASSUME_ALWAYS_YES=yes
8289
PKG_ARGS+= -o METALOG=METALOG
90+
PKG_ARGS+= -o ABI=${PKG_ABI}
8391
PKG_ARGS+= -r ${.TARGET}
8492
PKG_REPO_ARGS= -o REPOS_DIR=${.CURDIR}/pkg_repos
8593
PKGBASE_REPO_ARGS=-o REPOS_DIR=${.OBJDIR}/pkgbase-repo-dir
@@ -194,13 +202,6 @@ bootonly: packagesystem
194202
dvd: packagesystem
195203
.endif
196204

197-
.if !defined(NOPKGBASE) || empty(NOPKGBASE)
198-
PKGBASE_REPO_DIR= pkgbase-repo-dir
199-
WSTAGEDIR!= ${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR
200-
PKG_ABI_FILE= ${WSTAGEDIR}/usr/bin/uname
201-
PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI)
202-
.endif
203-
204205
pkgbase-repo:
205206
mkdir -p pkgbase-repo
206207
mkdir -p /tmp/ports /tmp/distfiles

release/Makefile.vm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} ${PKGBASE_REPO_DIR}
134134
${WITHOUT_QEMU:DWITHOUT_QEMU=true} \
135135
${NO_ROOT:DNO_ROOT=true} \
136136
PKG_CMD=${PKG_CMD:Upkg} \
137+
PKG_ABI=${PKG_ABI} \
137138
PKG_REPOS_DIR=${PKG_REPOS_DIR:U${.OBJDIR}/${.TARGET}/etc/pkg} \
138139
PKG_REPO_NAME=${PKG_REPO_NAME:UFreeBSD-ports} \
139140
PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \
@@ -192,6 +193,7 @@ vm-image: ${QEMUTGT} ${PKGBASE_REPO_DIR}
192193
${WITHOUT_QEMU:DWITHOUT_QEMU=true} \
193194
${NO_ROOT:DNO_ROOT=true} \
194195
PKG_CMD=${PKG_CMD:Upkg} \
196+
PKG_ABI=${PKG_ABI} \
195197
PKG_REPOS_DIR=${PKG_REPOS_DIR:U${.OBJDIR}/${.TARGET}-${FORMAT}-${FS}/etc/pkg} \
196198
PKG_REPO_NAME=${PKG_REPO_NAME:UFreeBSD-ports} \
197199
PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \

release/tools/vmimage.subr

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ vm_install_base() {
9494
local pkg_cmd
9595
pkg_cmd="pkg --rootdir ${DESTDIR} --repo-conf-dir ${PKGBASE_REPO_DIR}
9696
-o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes
97-
-o INSTALL_AS_USER=yes "
97+
-o ABI=${PKG_ABI} -o INSTALL_AS_USER=yes "
9898
$pkg_cmd update
9999
selected=$($pkg_cmd rquery -U -r FreeBSD-base %n | \
100100
vm_filter_base_packages | vm_extra_filter_base_packages)
@@ -198,6 +198,7 @@ vm_extra_install_packages() {
198198
for pkg in ${VM_EXTRA_PACKAGES}; do
199199
INSTALL_AS_USER=yes \
200200
${PKG_CMD} \
201+
-o ABI=${PKG_ABI} \
201202
-o METALOG=${DESTDIR}/METALOG.pkg \
202203
-o REPOS_DIR=${PKG_REPOS_DIR} \
203204
-o PKG_DBDIR=${DESTDIR}/var/db/pkg \

0 commit comments

Comments
 (0)