04.12.2009 в 22:07:56 +0100 Iustin Pop написал(а):
> On Fri, Dec 04, 2009 at 10:09:02PM +0400, Stepan Golosunov wrote:
> > 04.12.2009 в 16:27:03 +0100 Iustin Pop написал(а):
> > > On Wed, Oct 07, 2009 at 08:44:39PM +0500, Stepan Golosunov wrote:
> > > > Package: memtest86+
> > > > Version: 4.00-2
> > > > Severity: serious
> > > > 
> > > > Upgrade to memtest86+ 4.00-2 fails:
> > > > 
> > > > .: 4: Can't open /usr/lib/grub/grub-mkconfig_lib
> > > 
> > > This is because you memtest86+ doesn't declare conflicts as it should,
> > > and you have an older grub-pc:
> > > 
> > > > ii  grub-pc [grub]          1.96+20080724-16 GRand Unified Bootloader, 
> > > > version 
> > > 
> > > Basically the new file has been introduced into a newer version of
> > > grub-pc. Patch adding conflicts attached.
> > 
> > > +Conflicts: grub-pc (<< 1.96+20090523-1), grub-common (<< 1.96+20090523-1)
> > 
> > Won't it lead to accidental removal of bootloader?
> > That would be a critical bug.
> 
> This is the only possibilty that I see if we want to just modify package
> relationships; the other option would be to modify the grub script
> provided by memtest86+ to not do anything if we don't find the required
> files (which works for /usr/lib/grub/grub-mkconfig_lib, but it's harder
> to do for the linux16 support).
> 
> So, I don't see a clear way to make this all work nicely. Any
> suggestions?

Something like

#!/bin/sh
set -e
if test -e /boot/memtest86+.bin ; then
  if test -r /usr/lib/grub/grub-mkconfig_lib ; then
    . /usr/lib/grub/grub-mkconfig_lib
    MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" 
)
    echo "Found memtest86+ image: $MEMTESTPATH" >&2
    cat << EOF
menuentry "Memory test (memtest86+)" {
EOF
    prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
    cat << EOF
        linux16 $MEMTESTPATH
}
menuentry "Memory test (memtest86+, serial console 115200)" {
EOF
    prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/"
    cat << EOF
        linux16 $MEMTESTPATH console=ttyS0,115200n8
}
EOF
  else
    . /usr/lib/grub/update-grub_lib
    MEMTESTPATH=$( make_system_path_relative_to_its_root "/boot/memtest86+.bin" 
)
    echo "Found memtest86+ image: $MEMTESTPATH" >&2
    cat << EOF
menuentry "Memory test (memtest86+)" {
        linux   $MEMTESTPATH
}
menuentry "Memory test (memtest86+, serial console 115200)" {
        linux   $MEMTESTPATH console=ttyS0,115200n8
}
EOF
  fi
fi


?
(Totally untested.) At least, the second part works in memtest86+
2.11-3 with grub-pc 1.96+20080724-16.



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to