From b5069a7bea6d463d91c984a75c9bb1e7bf5fccf8 Mon Sep 17 00:00:00 2001 From: Glen Barber Date: Mon, 7 May 2018 16:22:17 +0000 Subject: [PATCH] MFC r333262, r333264: r333262: Ensure the ports and src trees are available on GCE images, satisfying a requirement to allow FreeBSD to be considered a top-tier supported OS in Google Compute Engine. r333264: Fix a typo. Sponsored by: The FreeBSD Foundation --- release/tools/gce.conf | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/release/tools/gce.conf b/release/tools/gce.conf index 848a004cbe92..1ae830ce7905 100644 --- a/release/tools/gce.conf +++ b/release/tools/gce.conf @@ -85,6 +85,29 @@ debug.trace_on_panic=1 debug.debugger_on_panic=0 EOF + # To meet GCE marketplace requirements, extract the src.txz and + # ports.txz distributions to the target virtual machine disk image + # and fetch the sources for the third-party software installed on + # the image. + if [ ! -c "${DESTDIR}/dev/null" ]; then + mkdir -p ${DESTDIR}/dev + mount -t devfs devfs ${DESTDIR}/dev + fi + if [ -e "${DESTDIR}/../ftp/src.txz" ]; then + tar fxJ ${DESTDIR}/../ftp/src.txz -C ${DESTDIR} + fi + if [ -e "${DESTDIR}/../ftp/ports.txz" ]; then + tar fxJ ${DESTDIR}/../ftp/ports.txz -C ${DESTDIR} + _INSTALLED_PACKAGES=$(chroot ${DESTDIR} pkg info -o -q -a) + for PACKAGE in ${_INSTALLED_PACKAGES}; do + chroot ${DESTDIR} \ + make -C /usr/ports/${PACKAGE} fetch + done + fi + if [ -c "${DESTDIR}/dev/null" ]; then + umount_loop ${DESTDIR}/dev + fi + ## XXX: Verify this is needed. I do not see this requirement ## in the docs, and it impairs the ability to boot-test a copy ## of the image prior to packaging for upload to GCE.