bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: Bug#147109: grub: improved error handling for errone


From: Michael Weber
Subject: Re: address@hidden: Bug#147109: grub: improved error handling for erroneous device.map]
Date: Thu, 16 May 2002 11:25:19 +0200
User-agent: Mutt/1.3.27i

* "Yoshinori K. Okuji" <address@hidden> [2002-05-16T11:06+0900]:
> Ah, I forgot that case. Thanks for the report.
> 
> But I don't think Michael's fix is right, since the grub shell uses
> the last entry instead of the first entry. So I'll do a better
> fix. Jason, give me some time.

Ah ok, didn't know that.  This one takes the last occurence:

Index: grub-install.in
===================================================================
RCS file: /home/michaelw/data/cvs/debian/grub/util/grub-install.in,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 grub-install.in
--- grub-install.in     6 Apr 2002 22:30:18 -0000       1.1.1.2
+++ grub-install.in     16 May 2002 09:17:49 -0000
@@ -121,8 +121,7 @@
     esac
 
     # Get the drive name.
-    tmp_drive=`grep -v '^#' $device_map | grep "$tmp_disk *$" \
-       | sed 's%.*\(([hf]d[0-9][a-g0-9,]*)\).*%\1%'`
+    tmp_drive="$(sed -n -e 
"\%^[[:space:]]*\(([hf]d[0-9][a-g0-9,]*)\)[[:space:]]\+${tmp_disk}\b.*%{s//\1/;h;};\${x;/^\$/!p;}"
 "$device_map")"
 
     # If not found, print an error message and exit.
     if test "x$tmp_drive" = x; then
===================================================================

Basically, it copies the matching part to the hold space (overwriting
any previous match), and after the last line prints the hold space unless
it's empty.


Cheers,
M/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]