URL: <https://savannah.gnu.org/bugs/?63481>
Summary: 30_os-prober test GRUB_OS_PROBER_SKIP_LIST wrong Project: GNU GRUB Submitter: divad27182 Submitted: Wed 07 Dec 2022 11:04:02 AM UTC Category: Configuration Severity: Major Priority: 5 - Normal Item Group: Software Error Status: None Privacy: Public Assigned to: None Originator Name: David Garfield Originator Email: da...@barlinq.com Open/Closed: Open Release: other Release: Discussion Lock: Any Reproducibility: Every Time Planned Release: None _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Wed 07 Dec 2022 11:04:02 AM UTC By: David Garfield <divad27182> According to the documentation, the @name clause is added to the test string for EFI chainloaders. This is based on os-prober outputting the same clause. os-prober output data seems to make the first field be either a device name, or a device name "@" chainloader path. Unfortunately, the test for the presence of the @ reads: if [ x"${DEVICE#*@}" != x ] ; then This tests for the presence of something after the "@", but is always true if there is no "@". I think the test should read: if [ x"${DEVICE#*@}" != x"${DEVICE}" ] ; then It may be that a combined test (differentiating "A", "A@", and "A@B") may be needed, if os-prober has changed its output format. This is line 124 of util/grub.d/30_os-prober.in in grub-2.06 _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?63481> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/