fix: Skip ISO inspection for non-ISO downloads (#2119)

This commit is contained in:
Kroese
2026-08-08 17:53:15 +02:00
committed by GitHub
parent 133c3d3bc3
commit 33ae12677e
+32 -30
View File
@@ -71,7 +71,7 @@ selectWindowsImage() {
fi fi
# Inspect unknown bootable media directly before falling back to extraction. # Inspect unknown bootable media directly before falling back to extraction.
if [[ "${iso,,}" != *.esd ]]; then if isDirectImage "$iso"; then
detectIsoImage "$iso" && return 0 detectIsoImage "$iso" && return 0
@@ -331,7 +331,7 @@ skipUnattended() {
# Standalone ESD files and nested archives are not directly bootable media, # Standalone ESD files and nested archives are not directly bootable media,
# so they cannot use the manual-install fallback. # so they cannot use the manual-install fallback.
if enabled "${UNPACK:-}" || [[ "${iso,,}" == *".esd" ]]; then if ! isDirectImage "$iso"; then
error "Failed to boot \"$iso\" because it is not a directly bootable ISO image!" error "Failed to boot \"$iso\" because it is not a directly bootable ISO image!"
exit 60 exit 60
fi fi
@@ -361,25 +361,6 @@ skipUnattended() {
return 1 return 1
} }
useOriginalImage() {
local iso="$1"
if [ -n "$CUSTOM" ]; then
BOOT="$iso"
return 0
fi
if [[ "$iso" != "$BOOT" ]]; then
if ! mv -f -- "$iso" "$BOOT"; then
error "Failed to move ISO file: $iso"
return 1
fi
fi
return 0
}
skipInstall() { skipInstall() {
local iso="$1" local iso="$1"
@@ -619,9 +600,35 @@ detectCustom() {
hasImage() { hasImage() {
local file="$1" local iso="$1"
[ -f "$file" ] && [ -s "$file" ] [ -f "$iso" ] && [ -s "$iso" ]
}
isDirectImage() {
local iso="$1"
! enabled "${UNPACK:-}" && [[ "${iso,,}" != *.esd ]]
}
useOriginalImage() {
local iso="$1"
if [ -n "$CUSTOM" ]; then
BOOT="$iso"
return 0
fi
if [[ "$iso" != "$BOOT" ]]; then
if ! mv -f -- "$iso" "$BOOT"; then
error "Failed to move ISO file: $iso"
return 1
fi
fi
return 0
} }
removeImage() { removeImage() {
@@ -669,8 +676,8 @@ needsExtraction() {
local id="$1" local id="$1"
local iso="$2" local iso="$2"
# Nested archives must be extracted to expose their contained ISO. # Nested archives must be extracted before they can be prepared.
if enabled "${UNPACK:-}"; then if ! isDirectImage "$iso"; then
return 0 return 0
fi fi
@@ -684,11 +691,6 @@ needsExtraction() {
return 0 return 0
fi fi
# Standalone ESD downloads must be extracted before they can be prepared.
if [[ "${iso,,}" == *".esd" ]]; then
return 0
fi
# Modern bootable ISOs can use the original media with a setup overlay. # Modern bootable ISOs can use the original media with a setup overlay.
return 1 return 1
} }