git: 6c87aed39c30 - main - release: Support r/o /usr/ports for cloudware

From: Colin Percival <cperciva_at_FreeBSD.org>
Date: Fri, 12 Apr 2024 17:58:15 UTC
The branch main has been updated by cperciva:

URL: https://cgit.FreeBSD.org/src/commit/?id=6c87aed39c3053cd338c1ec18fba5b1d773beca9

commit 6c87aed39c3053cd338c1ec18fba5b1d773beca9
Author:     Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2024-04-12 17:20:25 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2024-04-12 17:58:09 +0000

    release: Support r/o /usr/ports for cloudware
    
    Set WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles when building tools
    needed for uploading cloudware images.
    
    While I'm here, adjust the bsdec2-image-upload build target to match
    the style used by the Azure/GCE/Vagrant Makefiles.
    
    MFC after:      3 days
---
 release/Makefile.azure   |  4 +++-
 release/Makefile.ec2     | 16 ++++++++++------
 release/Makefile.gce     |  8 ++++++--
 release/Makefile.vagrant |  4 +++-
 4 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/release/Makefile.azure b/release/Makefile.azure
index a8f59282a09c..36f3f8715de1 100644
--- a/release/Makefile.azure
+++ b/release/Makefile.azure
@@ -37,7 +37,9 @@ azure-check-depends:
 .  endif
 	env ASSUME_ALWAYS_YES=yes pkg install -y sysutils/py-azure-cli
 . else
-	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/sysutils/py-azure-cli BATCH=1 all install clean
+	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/sysutils/py-azure-cli \
+	    BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \
+	    all install clean
 . endif
 .endif
 
diff --git a/release/Makefile.ec2 b/release/Makefile.ec2
index c674c967ff57..8f5f6f205779 100644
--- a/release/Makefile.ec2
+++ b/release/Makefile.ec2
@@ -40,13 +40,17 @@ CW_EC2_PORTINSTALL=
 .endif
 
 cw-ec2-portinstall:
-.if exists(${PORTSDIR}/net/bsdec2-image-upload/Makefile)
-	env - UNAME_r=${UNAME_r} PATH=$$PATH make -C ${PORTSDIR}/net/bsdec2-image-upload BATCH=1 all install clean
-.else
-. if !exists(/usr/local/sbin/pkg-static)
-	env ASSUME_ALWAYS_YES=yes pkg bootstrap -y
-. endif
+.if !exists(/usr/local/bin/bsdec2-image-upload)
+. if !exists(${PORTSDIR}/net/bsdec2-image-upload/Makefile)
+.  if !exists(/usr/local/sbin/pkg-static)
+	env ASSUME_ALWAYS_YES=yes pkg bootstrap -yf
+.  endif
 	env ASSUME_ALWAYS_YES=yes pkg install -y net/bsdec2-image-upload
+. else
+	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/net/bsdec2-image-upload \
+	    BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \
+	    all install clean
+. endif
 .endif
 	@touch ${.TARGET}
 
diff --git a/release/Makefile.gce b/release/Makefile.gce
index 2bfdf4edc246..51dc5e3436e2 100644
--- a/release/Makefile.gce
+++ b/release/Makefile.gce
@@ -43,8 +43,12 @@ gce-check-depends:
 	env ASSUME_ALWAYS_YES=yes pkg install -y net/google-cloud-sdk \
 		lang/python
 . else
-	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/net/google-cloud-sdk BATCH=1 all install clean
-	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/lang/python BATCH=1 all install clean
+	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/net/google-cloud-sdk \
+	    BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \
+	    all install clean
+	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/lang/python \
+	    BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \
+	    all install clean
 . endif
 .endif
 
diff --git a/release/Makefile.vagrant b/release/Makefile.vagrant
index bcfbf9a5a6f7..d8f3c14e9498 100644
--- a/release/Makefile.vagrant
+++ b/release/Makefile.vagrant
@@ -57,7 +57,9 @@ vagrant-check-depends:
 .  endif
 	env ASSUME_ALWAYS_YES=yes pkg install -y curl
 . else
-	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/ftp/curl BATCH=1 all install clean
+	env UNAME_r=${UNAME_r} make -C ${PORTSDIR}/ftp/curl \
+	    BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \
+	    all install clean
 . endif
 .endif