On 11/13/25 07:23, Alyssa Ross wrote:
Demi Marie Obenour <demiobenour@gmail.com> writes:
No other functional change intended.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> --- scripts/run-qemu.sh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-)
This is a lot of changes all in one, without individual explanation. I'd appreciate it if they could be broken up and explained, because I'm going to have to ask what the purpose of each change is.
diff --git a/scripts/run-qemu.sh b/scripts/run-qemu.sh index 64fd29259ab108bc547cb7c74623ae9dc288b3b7..9c6c8193bbeba5916038c82d8f76992051719c19 100755 --- a/scripts/run-qemu.sh +++ b/scripts/run-qemu.sh @@ -1,11 +1,15 @@ -#!/bin/sh -ue +#!/bin/sh --
The idea here is to be robust against the script being invoked with argv[0] set to "-c" or something?
Correct.
# SPDX-FileCopyrightText: 2023-2025 Alyssa Ross <hi@alyssa.is> # SPDX-License-Identifier: EUPL-1.2+
# This script wraps around QEMU to paper over platform differences, # which can't be handled portably in Make language. +set -uef
Adding -f makes sense.
+if [ -n ${ARCH+test} ]; then + ARCH=$(uname -m) +fi
-case "${ARCH:="$(uname -m)"}" in +case $ARCH in aarch64) machine=virt,accel=kvm:tcg,gic-version=3,iommu=smmuv3 ;;
Why is this better?
If uname exits with a non-zero status, the script will exit rather than continuing.
@@ -17,13 +21,13 @@ case "${ARCH:="$(uname -m)"}" in esac
i=0 -while [ $i -lt $# ]; do - arg="$1" +while [ "$i" -lt "$#" ]; do + arg=$1 shift
- case "$arg" in + case $arg in -append)
Makes sense as long as we're consistent about it. I wonder if we could get the formatter to do this.
+1
- set -- "$@" -append "${append:+$append }$1" + set -- "$@" -append ${append:+"$append "}"$1" i=$((i + 2)) shift continue
Don't understand this one. We've gone from one set of quotes to two sequential ones.
I remember reading that the first version might not conform to POSIX. I'm not sure if it matters though. -- Sincerely, Demi Marie Obenour (she/her/hers)