fix: support older shells in parallels smoke

(cherry picked from commit 8ce7c4f08b)
This commit is contained in:
Peter Steinberger
2026-04-21 11:03:34 +01:00
parent d2185bd45b
commit 66a5864c2a
3 changed files with 9 additions and 6 deletions

View File

@@ -230,6 +230,7 @@ import json
import os
import re
import sys
from typing import Optional
payload = json.loads(os.environ["PRL_VM_JSON"])
requested = os.environ["REQUESTED_VM_NAME"].strip()
@@ -237,7 +238,7 @@ requested_lower = requested.lower()
explicit = os.environ["VM_NAME_EXPLICIT"] == "1"
names = [str(item.get("name", "")).strip() for item in payload if str(item.get("name", "")).strip()]
def parse_ubuntu_version(name: str) -> tuple[int, ...] | None:
def parse_ubuntu_version(name: str) -> Optional[tuple[int, ...]]:
match = re.search(r"ubuntu\s+(\d+(?:\.\d+)*)", name, re.IGNORECASE)
if not match:
return None

View File

@@ -196,13 +196,14 @@ import json
import os
import re
import sys
from typing import Optional
payload = json.loads(os.environ["PRL_VM_JSON"])
requested = os.environ["REQUESTED_VM_NAME"].strip()
requested_lower = requested.lower()
names = [str(item.get("name", "")).strip() for item in payload if str(item.get("name", "")).strip()]
def parse_ubuntu_version(name: str) -> tuple[int, ...] | None:
def parse_ubuntu_version(name: str) -> Optional[tuple[int, ...]]:
match = re.search(r"ubuntu\s+(\d+(?:\.\d+)*)", name, re.IGNORECASE)
if not match:
return None

View File

@@ -937,10 +937,11 @@ EOF
}
ensure_mingit_zip() {
local mingit_name mingit_url
mapfile -t mingit_meta < <(resolve_mingit_download)
mingit_name="${mingit_meta[0]}"
mingit_url="${mingit_meta[1]}"
local mingit_name mingit_url mingit_meta
mingit_meta="$(resolve_mingit_download)"
mingit_name="${mingit_meta%%$'\n'*}"
mingit_url="${mingit_meta#*$'\n'}"
[[ "$mingit_name" != "$mingit_url" ]] || die "failed to resolve MinGit download metadata"
MINGIT_ZIP_NAME="$mingit_name"
MINGIT_ZIP_PATH="$MAIN_TGZ_DIR/$mingit_name"
if [[ ! -f "$MINGIT_ZIP_PATH" ]]; then