Bug#493139: iso-scan: Allow using shell patterns to select ISO images
Package: iso-scan
Severity: wishlist
Tags: patch
The following patch allows one to select ISO images in iso-scan. With this
patch grub configurations as exampled below can be used to perform an i386
or amd64 hd-media installation:
title New Debian Installation - i386
root (hd0,0)
kernel (hd0,0)/images/i386/hd-media/vmlinuz iso-scan/files=*i386*.iso
initrd (hd0,0)/images/i386/hd-media/initrd.gz
title New Debian Installation - amd64
root (hd0,0)
kernel (hd0,0)/images/amd64/hd-media/vmlinuz iso-scan/files=*amd64*.iso
initrd (hd0,0)/images/amd64/hd-media/initrd.gz
Note that, the patch preserves the current behaviour.
--
roktas
diff --git a/packages/iso-scan/debian/iso-scan.postinst b/packages/iso-scan/debian/iso-scan.postinst
index da354cc..80b4a3f 100755
--- a/packages/iso-scan/debian/iso-scan.postinst
+++ b/packages/iso-scan/debian/iso-scan.postinst
@@ -112,6 +112,10 @@ modprobe loop >/dev/null || true
mkdir /cdrom 2>/dev/null || true
mkdir /hd-media 2>/dev/null || true
+db_get iso-scan/files || RET=''
+ISO_FILES="${RET:-'*.[iI][sS][oO]'}"
+log "Using '$ISO_FILES' pattern for ISO files."
+
log "First pass: Look for ISOs near top-level of each filesystem."
DEVS="$(list-devices partition; list-devices disk; list-devices maybe-usb-floppy)"
# Repeat twice if necessary, to accomodate devices that need some
@@ -145,12 +149,14 @@ for i in 1 2; do
fi
db_subst iso-scan/progress_scan DIRECTORY "$dir/"
db_progress INFO iso-scan/progress_scan
- for iso in $dir/*.iso $dir/*.ISO; do
- if [ -e $iso ]; then
- log "Found ISO $iso on $dev"
- ISO_COUNT=$(expr $ISO_COUNT + 1)
- try_iso $iso $dev
- fi
+ for pattern in $ISO_FILES; do
+ for iso in $dir/$pattern; do
+ if [ -e $iso ]; then
+ log "Found ISO $iso on $dev"
+ ISO_COUNT=$(expr $ISO_COUNT + 1)
+ try_iso $iso $dev
+ fi
+ done
done
fi
done
Reply to: