Tags: patch
From 0243b5265325ba141e35da0717c7d604dce99c96 Mon Sep 17 00:00:00 2001
From: Carlos Maddela <[email protected]>
Date: Sun, 8 Jul 2018 21:49:39 +1000
Subject: Fix broken GRUB_OS_PROBER_SKIP_LIST functionality.
Description: Fix broken GRUB_OS_PROBER_SKIP_LIST functionality.
According to the documentation:
.
'GRUB_OS_PROBER_SKIP_LIST'
List of space-separated FS UUIDs of filesystems to be ignored from
os-prober output. For efi chainloaders it's <UUID>@<EFI FILE>
.
However, any UUIDs listed here will still get probed, since
/etc/grub.d/30_os-prober incorrectly appends the device to the UUID,
when generating the list of partitions to consider. For example,
.
9a03aa0b-8f97-4ad2-9ae5-d7264c44ad5a@/dev/sda2
.
as if it were an EFI chainloader, therefore it will never match.
.
Make sure that the trailing information after the '@' is only appended
for EFI chainloaders, to correct the behaviour.
Author: Carlos Maddela <[email protected]>
Bug-Debian: https://bugs.debian.org/903266
Last-Update: 2018-07-08
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Patch-Name: grub_os_prober_skip_list.patch
---
util/grub.d/30_os-prober.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in
index da5f28876..b21ff9d24 100644
--- a/util/grub.d/30_os-prober.in
+++ b/util/grub.d/30_os-prober.in
@@ -135,7 +135,7 @@ for OS in ${OSPROBED} ; do
if UUID="`${grub_probe} --target=fs_uuid --device ${DEVICE%@*}`"; then
EXPUUID="$UUID"
- if [ x"${DEVICE#*@}" != x ] ; then
+ if [ x"${DEVICE#${DEVICE%@*}}" != x ] ; then
EXPUUID="${EXPUUID}@${DEVICE#*@}"
fi