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
This commit is contained in:
Glen Barber 2018-05-04 20:38:26 +00:00
parent df66feb8da
commit d55f0e89c8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=333262

View File

@ -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.