git: 434dc04e34c0 - stable/14 - release: Randomize powerpc boot block file name

From: Colin Percival <cperciva_at_FreeBSD.org>
Date: Wed, 17 Apr 2024 05:43:59 UTC
The branch stable/14 has been updated by cperciva:

URL: https://cgit.FreeBSD.org/src/commit/?id=434dc04e34c04a7a1c081902ab569051458d473f

commit 434dc04e34c04a7a1c081902ab569051458d473f
Author:     Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2024-04-12 17:42:05 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2024-04-17 05:43:27 +0000

    release: Randomize powerpc boot block file name
    
    With parallel builds enabled, we can end up building multiple ISOs at
    once, which causes problems if mkisoimages.sh uses a consistent file
    name "/tmp/hfs-boot-block".
    
    MFC after:      3 days
    
    (cherry picked from commit 6c3e01bf8578de54abc019832d799de80da7378c)
---
 release/powerpc/mkisoimages.sh | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/release/powerpc/mkisoimages.sh b/release/powerpc/mkisoimages.sh
index 8a802e6c62ae..e030ee41691c 100644
--- a/release/powerpc/mkisoimages.sh
+++ b/release/powerpc/mkisoimages.sh
@@ -67,14 +67,15 @@ fi
 if [ -n "$bootable" ]; then
 	echo "Building bootable disc"
 
+	BOOTBLOCK=$(mktemp /tmp/hfs-boot-block.XXXXXX)
+
 	# Apple boot code
-	uudecode -o /tmp/hfs-boot-block.bz2 "`dirname "$0"`/hfs-boot.bz2.uu"
-	bzip2 -d /tmp/hfs-boot-block.bz2
-	OFFSET=$(hd /tmp/hfs-boot-block | grep 'Loader START' | cut -f 1 -d ' ')
+	uudecode "`dirname "$0"`/hfs-boot.bz2.uu" | bunzip2 > $BOOTBLOCK
+	OFFSET=$(hd $BOOTBLOCK | grep 'Loader START' | cut -f 1 -d ' ')
 	OFFSET=0x$(echo 0x$OFFSET | awk '{printf("%x\n",$1/512);}')
-	dd if="$BASEBITSDIR/boot/loader" of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc
+	dd if="$BASEBITSDIR/boot/loader" of=$BOOTBLOCK seek=$OFFSET conv=notrunc
 
-	bootable="-o bootimage=macppc;/tmp/hfs-boot-block -o no-emul-boot"
+	bootable="-o bootimage=macppc;$BOOTBLOCK -o no-emul-boot"
 
 	# pSeries/PAPR boot code
 	mkdir -p "$BASEBITSDIR/ppc/chrp"
@@ -108,7 +109,9 @@ if [ -n "${METALOG}" ]; then
 fi
 makefs -D -N ${BASEBITSDIR}/etc -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$MAKEFSARG" "$@"
 rm -f "$BASEBITSDIR/etc/fstab"
-rm -f /tmp/hfs-boot-block
+if [ n "$bootable" ]; then
+	rm $BOOTBLOCK
+fi
 rm -rf "$BASEBITSDIR/ppc"
 if [ -n "${METALOG}" ]; then
 	rm ${metalogfilename}