diff --git a/os-prober-05efi-udevinfo.patch b/os-prober-05efi-udevinfo.patch new file mode 100644 index 0000000..f9684f9 --- /dev/null +++ b/os-prober-05efi-udevinfo.patch @@ -0,0 +1,32 @@ +Index: os-prober/os-probes/mounted/x86/05efi +=================================================================== +--- os-prober.orig/os-probes/mounted/x86/05efi ++++ os-prober/os-probes/mounted/x86/05efi +@@ -28,7 +28,7 @@ if type udevadm > /dev/null 2>&1; then + fi + + if type udevinfo > /dev/null 2>&1; then +- eval "$(udevinfo -q property -n "$partition" | grep -E '^(MD_CONTAINER|ID_PART_ENTRY_(TYPE|SCHEME))=')" ++ eval "$(udevinfo -q property -n "$partition" | sed -n -e 's/\(.*\)=\(.*\)/\1="\2"/p' | grep -E '^(MD_CONTAINER|ID_PART_ENTRY_(TYPE|SCHEME)|PARTNAME)=')" + debug "$partition container is '$MD_CONTAINER'" + + # Skip virtual devices unless they are known SW-RAID +@@ -48,13 +48,16 @@ if type udevinfo > /dev/null 2>&1; then + + debug "$partition partition scheme is $ID_PART_ENTRY_SCHEME" + debug "$partition partition type is $ID_PART_ENTRY_TYPE" ++ debug "$partition partition name is $PARTNAME" + + if [ -z "$ID_PART_ENTRY_TYPE" -o -z "$ID_PART_ENTRY_SCHEME" -o \ + \( "$ID_PART_ENTRY_SCHEME" != gpt -a "$ID_PART_ENTRY_SCHEME" != dos \) -o \ + \( "$ID_PART_ENTRY_SCHEME" = gpt -a "$ID_PART_ENTRY_TYPE" != c12a7328-f81f-11d2-ba4b-00a0c93ec93b \) -o \ + \( "$ID_PART_ENTRY_SCHEME" = dos -a "$ID_PART_ENTRY_TYPE" != 0xef \) ]; then +- debug "$partition is not a ESP partition: exiting" +- exit 1 ++ if [ -z "$PARTNAME" -o "$PARTNAME" != "EFI system partition" ]; then ++ debug "$partition is not a ESP partition: exiting" ++ exit 1 ++ fi + fi + else + debug "udevinfo and udevadm missing - cannot check partition type" diff --git a/os-prober.changes b/os-prober.changes index 37b1c78..9aa6dd3 100644 --- a/os-prober.changes +++ b/os-prober.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jan 31 09:46:34 UTC 2018 - mchang@suse.com + +- Fix Windows not listed in grub menu after install or upgrade (bsc#1076779) + * os-prober-05efi-udevinfo.patch + ------------------------------------------------------------------- Wed Mar 1 04:58:40 UTC 2017 - mchang@suse.com diff --git a/os-prober.spec b/os-prober.spec index 44e2d96..1dd8409 100644 --- a/os-prober.spec +++ b/os-prober.spec @@ -1,7 +1,7 @@ # # spec file for package os-prober # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -64,6 +64,8 @@ Patch22: os-prober-btrfs-always-detect-default.patch Patch23: os-prober-linux-distro-avoid-expensive-ld-file-test.patch # PATCH-FIX-OPENSUSE: Leap does not recognize Tumbleweed any more (bsc#997465) Patch24: os-prober-linux-distro-parse-os-release.patch +# PATCH-FIX-OPENSUSE: Windows 10 is not listed in the grub menu (bsc#1076779) +Patch25: os-prober-05efi-udevinfo.patch Requires: /bin/grep Requires: /bin/sed Requires: /sbin/modprobe @@ -106,6 +108,7 @@ cp %{SOURCE1} . %patch22 -p1 %patch23 -p1 %patch24 -p1 +%patch25 -p1 find . -name \*.orig -delete %build