aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Percival <cperciva@FreeBSD.org>2025-11-15 21:29:25 +0000
committerColin Percival <cperciva@FreeBSD.org>2025-11-15 21:40:57 +0000
commit10a4f2d016dccb5cfa03800bebc09a9b421c4df7 (patch)
tree9a5f35cee2811ab78f120b43fbf62524785ca480
parent66f2f1c83247f05a3a599d7e88c7e7efbedd16b5 (diff)
vmimage.subr: Log pkg/local.sqlite if pkgbase
We were doing this in vm_extra_install_packages but VM images without any extra packages installed would not get this installed. This results in a pkgbase system which thinks it doesn't have any packages installed (even though all the files are right there). Add a "metalog_add_data ./var/db/pkg/local.sqlite" call to the pkgbase install code path, and make the call from vm_extra_install_packages conditional on !PKGBASE. Reported by: Michael Dexter MFC after: immediately (needed for 15.0-RC1)
-rw-r--r--release/tools/vmimage.subr5
1 files changed, 4 insertions, 1 deletions
diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr
index 92f00f9cf7c3..482d279e5987 100644
--- a/release/tools/vmimage.subr
+++ b/release/tools/vmimage.subr
@@ -106,6 +106,7 @@ vm_install_base() {
$pkg_cmd update
selected=$(vm_base_packages_list | vm_extra_filter_base_packages)
$pkg_cmd install -U -r FreeBSD-base $selected
+ metalog_add_data ./var/db/pkg/local.sqlite
else
cd ${WORLDDIR} && \
make DESTDIR=${DESTDIR} ${INSTALLOPTS} \
@@ -219,7 +220,9 @@ vm_extra_install_packages() {
-o PKG_DBDIR=${DESTDIR}/var/db/pkg \
-r ${DESTDIR} \
autoremove
- metalog_add_data ./var/db/pkg/local.sqlite
+ if [ -n "${NOPKGBASE}" ]; then
+ metalog_add_data ./var/db/pkg/local.sqlite
+ fi
else
if [ -n "${WITHOUT_QEMU}" ]; then
return 0