The branch stable/15 has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=1deb72ac2db60c983310edae33f1d33eaf3ac8e9

commit 1deb72ac2db60c983310edae33f1d33eaf3ac8e9
Author:     Mark Johnston <[email protected]>
AuthorDate: 2025-09-16 16:54:11 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2025-09-30 09:43:08 +0000

    release: Prepare GCE cloudware images for building as non-root
    
    - Avoid mounting devfs just to list packages and fetch distfiles.
    - Add metalog entries.
    
    Reviewed by:    cperciva, emaste
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D52455
    
    (cherry picked from commit f1995d6fc13fa4a36f83cea3b90f27bce2aca4d9)
---
 release/tools/gce.conf | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/release/tools/gce.conf b/release/tools/gce.conf
index 382a839786f3..e1c208e69fe5 100644
--- a/release/tools/gce.conf
+++ b/release/tools/gce.conf
@@ -21,6 +21,7 @@ vm_extra_install_base() {
        echo 'search google.internal' > ${DESTDIR}/etc/resolv.conf
        echo 'nameserver 169.254.169.254' >> ${DESTDIR}/etc/resolv.conf
        echo 'nameserver 8.8.8.8' >> ${DESTDIR}/etc/resolv.conf
+       metalog_add ./etc/resolv.conf
 }
 
 vm_extra_pre_umount() {
@@ -94,25 +95,18 @@ EOF
        # 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
-               DEVFSISOURS=1
-               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)
+               _INSTALLED_PACKAGES=$(pkg -r ${DESTDIR} info -o -q -a)
                for PACKAGE in ${_INSTALLED_PACKAGES}; do
-                       chroot ${DESTDIR} \
-                               make -C /usr/ports/${PACKAGE} fetch
+                       make -C ${DESTDIR}/usr/ports/${PACKAGE} fetch \
+                           DISTDIR=${DESTDIR}/usr/ports/distfiles
+
                done
        fi
-       if [ "$DEVFSISOURS" = "1" ]; 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
@@ -130,6 +124,5 @@ vm_emulation_cleanup() {
        if [ -n "${QEMUSTATIC}" ]; then
                rm -f ${DESTDIR}/${EMULATOR}
        fi
-       umount_loop ${DESTDIR}/dev
        return 0
 }

Reply via email to