420527a50b
- add 10_linux_bls grub.d snippet to generate menu entries from BLS files Resolves: rhbz#1636013 - Only set kernelopts in grubenv if it wasn't set before Resolves: rhbz#1636466 - kernel-install: Remove existing initramfs if it's older than the kernel (pjones) Resolves: rhbz#1638405 - Update the saved entry correctly after a kernel install (pjones) Resolves: rhbz#1638117 - blscfg: sort everything with rpm *package* comparison (pjones) Related: rhbz#1638103 - blscfg: Make 10_linux_bls sort the same way as well Related: rhbz#1638103 - don't set saved_entry on grub2-mkconfig Resolves: rhbz#1636466 - Fix menu entry selection based on ID and title (pjones) Resolves: rhbz#1640979 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Javier Martinez Canillas <javierm@redhat.com>
|
|
Date: Tue, 16 Oct 2018 15:48:15 +0200
|
|
Subject: [PATCH] 10_linux_bls: use grub2-rpm-sort instead of ls -vr to sort
|
|
entries
|
|
|
|
Using ls -vr is wrong since it's not the same than the RPM sort algorithm.
|
|
|
|
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
|
|
---
|
|
util/grub.d/10_linux_bls.in | 18 +++++++++++++++---
|
|
1 file changed, 15 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/util/grub.d/10_linux_bls.in b/util/grub.d/10_linux_bls.in
|
|
index 8a3379578bd..1bc97f29898 100644
|
|
--- a/util/grub.d/10_linux_bls.in
|
|
+++ b/util/grub.d/10_linux_bls.in
|
|
@@ -151,10 +151,22 @@ read_config()
|
|
|
|
populate_menu()
|
|
{
|
|
- entries_path="/boot/loader/entries"
|
|
+ blsdir="/boot/loader/entries"
|
|
+ local -a files
|
|
+ local IFS=$'\n'
|
|
gettext_printf "Generating boot entries from BLS files...\n" >&2
|
|
- for config in $(ls -v -r $entries_path/*.conf); do
|
|
- read_config ${config}
|
|
+
|
|
+ files=($(for bls in ${blsdir}/*.conf ; do
|
|
+ if ! [[ -e "${bls}" ]] ; then
|
|
+ continue
|
|
+ fi
|
|
+ bls="${bls%.conf}"
|
|
+ bls="${bls##*/}"
|
|
+ echo "${bls}"
|
|
+ done | ${kernel_sort} | tac)) || :
|
|
+
|
|
+ for bls in "${files[@]}" ; do
|
|
+ read_config "${blsdir}/${bls}.conf"
|
|
menu="${menu}menuentry '${title}' {\n"
|
|
menu="${menu}\t linux ${linux} ${options}\n"
|
|
if [ -n "${initrd}" ] ; then
|