The branch stable/14 has been updated by cperciva:

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

commit 434dc04e34c04a7a1c081902ab569051458d473f
Author:     Colin Percival <[email protected]>
AuthorDate: 2024-04-12 17:42:05 +0000
Commit:     Colin Percival <[email protected]>
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}

Reply via email to