supermin: Die with an error if no kernels found (RHBZ#539746).
authorRichard Jones <rjones@redhat.com>
Tue, 24 Nov 2009 18:17:07 +0000 (18:17 +0000)
committerRichard Jones <rjones@redhat.com>
Wed, 25 Nov 2009 10:22:30 +0000 (10:22 +0000)
Updated with a suggestion from Jim Meyering to use the '-d'
option to ls to avoid a future case of directories matching.

appliance/libguestfs-supermin-helper.in

index 69f22e4..4d8fd04 100755 (executable)
@@ -38,7 +38,13 @@ initrd="$3"
 # without arch second.
 
 arch=$(echo "@host_cpu@" | sed 's/^i.86$/i?86/')
-kernels=$(ls -1vr /boot/vmlinuz-*.$arch* 2>/dev/null | grep -v xen; ls -1vr /boot/vmlinuz-* 2>/dev/null | grep -v xen)
+kernels=$(ls -1dvr /boot/vmlinuz-*.$arch* 2>/dev/null | grep -v xen; ls -1dvr /boot/vmlinuz-* 2>/dev/null | grep -v xen)
+
+if [ -z "$kernels" ]; then
+    echo "$0: failed to find a suitable kernel in /boot directory" >&2
+    exit 1
+fi
+
 for f in $kernels; do
     b=$(basename "$f")
     b=$(echo "$b" | sed 's,vmlinuz-,,')