Bug#580710: linux-base: elilo needs simpler assignments
On Tue, May 11, 2010 at 04:12:54AM +0100, Ben Hutchings wrote:
> On Sat, 2010-05-08 at 21:56 +0100, Ben Hutchings wrote:
> > On Fri, 2010-05-07 at 16:42 -0600, dann frazier wrote:
> > > Source: linux-2.6
> > > Version: 2.6.32-12
> > > Severity: serious
> > > Tags: patch
> > >
> > > /usr/sbin/elilo didn't like the converted elilo.conf because it
> > > doesn't support quoted strings, or spaces around '='.
> >
> > Oops, when I read the code it looked like it was closely based on LILO
> > (like many other bootloaders). Apparently it's not so close.
> [...]
> > I'll re-read the ELILO code to check exactly how its parser differs.
>
> The versions in lenny (3.8-1) and sid (3.12-1) certainly look like they
> support quoted filenames. Which version are you using?
3.12-2. It may have some support for quoted file names but, if so, it
is buggy. The problem I hit is this bit of code:
checkconf()
{
if [ -L "$boot" ] ; then
oldboot=$boot
boot=$(readlink -f $oldboot)
echo 1>&2 "$PRG: $oldboot is a symbolic link, using $boot
instead"
fi
if [ ! -e "$boot" ] ; then
[...]
This will error out because $boot will still contain the quotes. So,
instead of looking for:
/dev/disk/by-uuid/9C73-E0C3
it will be looking for:
"/dev/disk/by-uuid/9C73-E0C3"
dannf@krebs:~$ sudo elilo
elilo: "/dev/disk/by-uuid/9C73-E0C3": No such file or directory
Loaded efivars kernel module to enable use of efibootmgr
I'd certainly argue that elilo *should* support quoted strings, but I
suspect we'll have to assume it doesn't at least for the
lenny->squeeze upgrade.
--
dann frazier
Reply to: