aboutsummaryrefslogtreecommitdiff
path: root/release
diff options
context:
space:
mode:
Diffstat (limited to 'release')
-rw-r--r--release/Makefile.vm7
-rw-r--r--release/packages/sets/base-dbg.ucl3
-rw-r--r--release/packages/ucl/googletest-all.ucl33
-rw-r--r--release/packages/ucl/tests-all.ucl18
-rw-r--r--release/packages/ucl/tests.ucl21
-rw-r--r--release/tools/gce.conf7
-rw-r--r--release/tools/vmimage.subr9
7 files changed, 76 insertions, 22 deletions
diff --git a/release/Makefile.vm b/release/Makefile.vm
index a04f779ebebb..142fd6e7bdf5 100644
--- a/release/Makefile.vm
+++ b/release/Makefile.vm
@@ -129,6 +129,13 @@ ${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE= ${_CW:tl}.${_FS}.${_FMT}
cw-${_CW:tl}-${_FS}-${_FMT}: cw-ec2-base-${_FS}-${_FMT}
.endif
+# Special handling: GCE images ingest src.txz and ports.txz and expect them
+# to be in the /ftp/ directory. Note: This will need to be reworked before
+# distribution sets go away!
+.if ${_CW} == GCE
+cw-${_CW:tl}-${_FS}-${_FMT}: ftp
+.endif
+
cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} ${PKGBASE_REPO_DIR}
mkdir -p ${.OBJDIR}/${.TARGET}
env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \
diff --git a/release/packages/sets/base-dbg.ucl b/release/packages/sets/base-dbg.ucl
index 79e5de22522e..c96b10416dcb 100644
--- a/release/packages/sets/base-dbg.ucl
+++ b/release/packages/sets/base-dbg.ucl
@@ -28,5 +28,8 @@ deps {
},
"set-devel-dbg" {
version = "${VERSION}"
+ },
+ "set-optional-dbg" {
+ version = "${VERSION}"
}
}
diff --git a/release/packages/ucl/googletest-all.ucl b/release/packages/ucl/googletest-all.ucl
new file mode 100644
index 000000000000..889e8a65f314
--- /dev/null
+++ b/release/packages/ucl/googletest-all.ucl
@@ -0,0 +1,33 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+comment = "Unit testing framework"
+
+desc = <<EOD
+Google Test (gtest) is an xUnit-based unit testing framework for C++,
+developed by Google LLC.
+
+This version of Google Test is provided for use by unit tests in the
+base system, and is not intended for third-party users. A supported
+version of Google Test may be found in the FreeBSD Ports Collection
+as devel/googletest.
+EOD
+
+annotations {
+ set = "optional,optional-jail"
+}
diff --git a/release/packages/ucl/tests-all.ucl b/release/packages/ucl/tests-all.ucl
index 3ad2d0f50e6b..315ac2e8cce0 100644
--- a/release/packages/ucl/tests-all.ucl
+++ b/release/packages/ucl/tests-all.ucl
@@ -23,24 +23,6 @@ The test suite, installed in /usr/tests, allows the functionality of the
installed system to be verified.
EOD
-deps {
- # Nearly all the tests require atf to run.
- "atf": {
- version = "${VERSION}"
- },
-
- # The test framework requires Kyua.
- "kyua": {
- version = "${VERSION}"
- },
-
- # Since the purpose of the tests is to test the base system, the base
- # system must be installed.
- "set-base": {
- version = "${VERSION}"
- }
-}
-
annotations {
set = tests
}
diff --git a/release/packages/ucl/tests.ucl b/release/packages/ucl/tests.ucl
index bac72f1534d3..da9eb59295bc 100644
--- a/release/packages/ucl/tests.ucl
+++ b/release/packages/ucl/tests.ucl
@@ -18,10 +18,29 @@
deps {
+ # Nearly all the tests require atf to run.
+ "atf": {
+ version = "${VERSION}"
+ },
+
# Quite a few tests require flua.
"flua" {
version = "${VERSION}"
},
-}
+ # Some tests need GoogleTest
+ "googletest": {
+ version = "${VERSION}"
+ },
+ # The test framework requires Kyua.
+ "kyua": {
+ version = "${VERSION}"
+ },
+
+ # Since the purpose of the tests is to test the base system, the base
+ # system must be installed.
+ "set-base": {
+ version = "${VERSION}"
+ }
+}
diff --git a/release/tools/gce.conf b/release/tools/gce.conf
index b0a65c2981e1..2fa23f6e54f4 100644
--- a/release/tools/gce.conf
+++ b/release/tools/gce.conf
@@ -100,11 +100,12 @@ EOF
fi
if [ -e "${DESTDIR}/../ftp/ports.txz" ]; then
tar fxJ ${DESTDIR}/../ftp/ports.txz -C ${DESTDIR}
- _INSTALLED_PACKAGES=$(pkg -r ${DESTDIR} info -o -q -a)
+ _INSTALLED_PACKAGES=$(pkg -r ${DESTDIR} info -o -q -a | grep -v ^base/)
for PACKAGE in ${_INSTALLED_PACKAGES}; do
make -C ${DESTDIR}/usr/ports/${PACKAGE} fetch \
- DISTDIR=${DESTDIR}/usr/ports/distfiles
-
+ DISTDIR=${DESTDIR}/usr/ports/distfiles \
+ DISABLE_VULNERABILITIES=YES \
+ I_DONT_CARE_IF_MY_BUILDS_TARGET_THE_WRONG_RELEASE=YES
done
fi
diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr
index 3bfef585f613..8531e9b8f2d6 100644
--- a/release/tools/vmimage.subr
+++ b/release/tools/vmimage.subr
@@ -212,6 +212,13 @@ vm_extra_install_packages() {
-r ${DESTDIR} \
install -y -r ${PKG_REPO_NAME} $pkg
done
+ INSTALL_AS_USER=yes \
+ ${PKG_CMD} \
+ -o ABI=${PKG_ABI} \
+ -o REPOS_DIR=${PKG_REPOS_DIR} \
+ -o PKG_DBDIR=${DESTDIR}/var/db/pkg \
+ -r ${DESTDIR} \
+ autoremove
metalog_add_data ./var/db/pkg/local.sqlite
else
if [ -n "${WITHOUT_QEMU}" ]; then
@@ -224,6 +231,8 @@ vm_extra_install_packages() {
chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \
/usr/sbin/pkg install -y ${p}
done
+ chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \
+ /usr/sbin/pkg autoremove
fi
return 0