From 693ac2964d0183f711dbf01d3fd7a7f696698aad Mon Sep 17 00:00:00 2001 From: Marta Lewandowska Date: Thu, 11 Jan 2024 10:07:32 +0100 Subject: [PATCH] Don't overwrite vars that start with GRUB_CMDLINE_LINUX When updating args for ALL kernels, grubby clobbers all variables in /etc/default/grub that start with GRUB_CMDLINE_LINUX and renders that line multiple times, for each variable that exists. This breaks using recovery mode. Fix so this doesn't happen anymore. Resolves: #RHEL-12853 Signed-off-by: Marta Lewandowska Signed-off-by: Nicolas Frayer --- grubby-bls | 2 +- grubby.spec | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/grubby-bls b/grubby-bls index f5b9735..07df5c8 100755 --- a/grubby-bls +++ b/grubby-bls @@ -500,7 +500,7 @@ update_bls_fragment() { if [[ -n $old_args ]]; then opts="$(update_args "${old_args}" "${remove_args}" "${add_args}")" opts="$(echo "$opts" | sed -e 's/\//\\\//g')" - sed -i -e "s/^GRUB_CMDLINE_LINUX.*/GRUB_CMDLINE_LINUX=\\\"${opts}\\\"/" "${grub_etc_default}" + sed -i -e "s/^GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX=\\\"${opts}\\\"/" "${grub_etc_default}" fi fi diff --git a/grubby.spec b/grubby.spec index 1e9ae63..878b99d 100644 --- a/grubby.spec +++ b/grubby.spec @@ -1,6 +1,6 @@ Name: grubby Version: 8.40 -Release: 48%{?dist} +Release: 49%{?dist} Summary: Command line tool for updating BootLoaderSpec files License: GPLv2+ URL: https://github.com/rhinstaller/grubby @@ -169,6 +169,10 @@ current boot environment. %{_mandir}/man8/*.8* %changelog +* Wed Jan 10 2024 Marta Lewandowska - 8.40-49 +- Do not overwrite all vars that start with GRUB_CMDLINE_LINUX +- Resolves: #RHEL-12853 + * Tue Feb 21 2023 Marta Lewandowska - 8.40-48 - Apply Marta's default args fix - Resolves: #1900829