Backport patch to fix duplicate GRUB2 entries when using BLS
https://bugzilla.redhat.com/show_bug.cgi?id=1751272#c27
This commit is contained in:
parent
7b532a956a
commit
e23212d24d
@ -0,0 +1,56 @@
|
||||
From 985a14100295c99d0c6d712bfbee0ec52a3a1601 Mon Sep 17 00:00:00 2001
|
||||
From: Javier Martinez Canillas <javierm@redhat.com>
|
||||
Date: Thu, 26 Sep 2019 17:33:57 +0200
|
||||
Subject: [PATCH] grub2: Exit gracefully if the configuration has BLS enabled
|
||||
|
||||
Since Fedora 30 grub2 has support to populate its menu entries from the
|
||||
BootLoaderSpec fragments in /boot/loader/entries, so there's no need to
|
||||
generate menu entries anymore using the /etc/grub.d/15_ostree script.
|
||||
|
||||
But since ostree doesn't update the bootloader, it may be that the grub2
|
||||
installed is an old one that doesn't have BLS support.
|
||||
|
||||
For new installs, GRUB_ENABLE_BLSCFG=true is set in /etc/default/grub to
|
||||
tell the /etc/grub.d/10_linux script if a blscfg command has to be added
|
||||
to the generated grub2 config file.
|
||||
|
||||
So check if BLS is enabled in /etc/default/grub and only add the entries
|
||||
if that's not the case. Otherwise the menu entries will be duplicated.
|
||||
|
||||
The approach has the drawback that if a user sets GRUB_ENABLE_BLSCFG=true
|
||||
in /etc/default/grub without updating grub2, they will get an empty menu.
|
||||
Since there won't be any entries created by the 30_ostree script and the
|
||||
blscfg command won't work on the older grub2.
|
||||
|
||||
Unfortunately there is no way to know if the installed grub2 already has
|
||||
BLS support or not.
|
||||
|
||||
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1751272#c27
|
||||
|
||||
Closes: #1929
|
||||
Approved by: jlebon
|
||||
---
|
||||
src/boot/grub2/grub2-15_ostree | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/boot/grub2/grub2-15_ostree b/src/boot/grub2/grub2-15_ostree
|
||||
index 0b9bf930..160ac2ca 100644
|
||||
--- a/src/boot/grub2/grub2-15_ostree
|
||||
+++ b/src/boot/grub2/grub2-15_ostree
|
||||
@@ -26,6 +26,13 @@ if ! test -d /ostree/repo; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
+# Gracefully exit if the grub2 configuration has BLS enabled,
|
||||
+# since there is no need to create menu entries in that case.
|
||||
+. /etc/default/grub
|
||||
+if test ${GRUB_ENABLE_BLSCFG} = "true"; then
|
||||
+ exit 0
|
||||
+fi
|
||||
+
|
||||
# Make sure we're in the right environment
|
||||
if ! test -n "${GRUB_DEVICE}"; then
|
||||
echo "This script must be run as a child of grub2-mkconfig" 1>&2
|
||||
--
|
||||
2.21.0
|
||||
|
@ -8,11 +8,13 @@
|
||||
Summary: Tool for managing bootable, immutable filesystem trees
|
||||
Name: ostree
|
||||
Version: 2019.4
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Source0: https://github.com/ostreedev/%{name}/releases/download/v%{version}/libostree-%{version}.tar.xz
|
||||
License: LGPLv2+
|
||||
URL: https://ostree.readthedocs.io/en/latest/
|
||||
|
||||
Patch0: 0001-grub2-Exit-gracefully-if-the-configuration-has-BLS-e.patch
|
||||
|
||||
BuildRequires: git
|
||||
# We always run autogen.sh
|
||||
BuildRequires: autoconf automake libtool
|
||||
@ -162,6 +164,10 @@ find %{buildroot} -name '*.la' -delete
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Sep 26 2019 Jonathan Lebon <jonathan@jlebon.com> - 2019.4-2
|
||||
- Backport patch to fix duplicate GRUB2 entries when using BLS
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1751272#c27
|
||||
|
||||
* Wed Sep 25 2019 Jonathan Lebon <jonathan@jlebon.com> - 2019.4-1
|
||||
- https://github.com/ostreedev/ostree/releases/tag/v2019.4
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user