svn commit: r333262 - head/release/tools

Glen Barber gjb at FreeBSD.org
Fri May 4 20:38:27 UTC 2018


Author: gjb
Date: Fri May  4 20:38:26 2018
New Revision: 333262
URL: https://svnweb.freebsd.org/changeset/base/333262

Log:
  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.
  
  MFC after:	3 days
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/release/tools/gce.conf

Modified: head/release/tools/gce.conf
==============================================================================
--- head/release/tools/gce.conf	Fri May  4 19:31:28 2018	(r333261)
+++ head/release/tools/gce.conf	Fri May  4 20:38:26 2018	(r333262)
@@ -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-part 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.


More information about the svn-src-head mailing list