diff --git a/0036-add-grub2-efi-version-check-and-regen-grub2-efi.cfg.patch b/0036-add-grub2-efi-version-check-and-regen-grub2-efi.cfg.patch new file mode 100644 index 0000000000000000000000000000000000000000..b18aff49725f1ace8c0219b4971d453235a18c42 --- /dev/null +++ b/0036-add-grub2-efi-version-check-and-regen-grub2-efi.cfg.patch @@ -0,0 +1,61 @@ +From 1593ac4eb22ce8620afe2b3dd5792545e0e04dd7 Mon Sep 17 00:00:00 2001 +From: wangcichen +Date: Mon, 16 Jan 2023 23:35:30 +0800 +Subject: [PATCH] add grub2-efi version check and regen grub2-efi.cfg + +Signed-off-by: wangcichen +--- + .../actors/checkpkgforupgrade/actor.py | 19 ++++++++++++++++++- + .../el7toel8/libraries/efi_reboot_fix.py | 5 +++-- + 2 files changed, 21 insertions(+), 3 deletions(-) + +diff --git a/repos/system_upgrade/el7toel8/actors/checkpkgforupgrade/actor.py b/repos/system_upgrade/el7toel8/actors/checkpkgforupgrade/actor.py +index 9e42030..ee40cc2 100644 +--- a/repos/system_upgrade/el7toel8/actors/checkpkgforupgrade/actor.py ++++ b/repos/system_upgrade/el7toel8/actors/checkpkgforupgrade/actor.py +@@ -62,4 +62,21 @@ class CheckPackagesForUpgrade(Actor): + reporting.Flags([reporting.Flags.INHIBITOR]), + reporting.Remediation(commands=commands), + reporting.RelatedResource('package', 'grub2'), +- ]) ++ ]) ++ elif has_package(InstalledRedHatSignedRPM, 'grub2-efi'): ++ grub2_version = self.get_releasever_of_rpm('grub2-efi') ++ if self.compare_version(grub2_version, '0.64') < 0: ++ commands = [['yum', '-y', 'update', 'grub2-efi', 'shim', '&&', 'grub2-mkconfig', '-o', '/etc/grub2-efi.cfg']] ++ create_report([ ++ reporting.Title('grub2-efi version is too low for system upgrade'), ++ reporting.Summary( ++ 'grub2-efi version must be upgrade to version >= 2.02-0.64, ' ++ 'otherwise system upgrade will get failed after reboot.' ++ ), ++ reporting.Severity(reporting.Severity.HIGH), ++ reporting.Flags([reporting.Flags.INHIBITOR]), ++ reporting.Remediation(commands=commands), ++ reporting.RelatedResource('package', 'grub2-efi'), ++ ]) ++ else: ++ pass +diff --git a/repos/system_upgrade/el7toel8/libraries/efi_reboot_fix.py b/repos/system_upgrade/el7toel8/libraries/efi_reboot_fix.py +index 4dc5495..d8410dd 100644 +--- a/repos/system_upgrade/el7toel8/libraries/efi_reboot_fix.py ++++ b/repos/system_upgrade/el7toel8/libraries/efi_reboot_fix.py +@@ -2,7 +2,7 @@ from re import compile as regexp + import os + + from leapp.libraries.stdlib import run +- ++from leapp.libraries.stdlib import api + + _current_boot_matcher = regexp(r'BootCurrent: (?P([0-9A-F]*))') + _next_boot_matcher = regexp(r'BootNext: (?P([0-9A-F]*))') +@@ -48,4 +48,5 @@ def maybe_emit_updated_boot_entry(is_final): + run(['/sbin/efibootmgr', '-n', current_boot]) + + if is_final is True: +- run(['cp', '/boot/efi/EFI/centos/grub.cfg', '/boot/efi/EFI/anolis/grub.cfg']) ++ api.current_logger().info('Now grub2-mkconfig to /etc/grub2-efi.cfg.') ++ run(['grub2-mkconfig', '-o', '/etc/grub2-efi.cfg']) +-- +2.22.0 + diff --git a/leapp-repository.spec b/leapp-repository.spec index 5902fa9079bb9e0bf7e4584df6c4b872ad268cab..076d814af3b8887b6aec99a7eb41a044995e3764 100644 --- a/leapp-repository.spec +++ b/leapp-repository.spec @@ -11,7 +11,7 @@ }\ py2_byte_compile "%1" "%2"} -%define anolis_release 12 +%define anolis_release 13 Name: leapp-repository Version: 0.13.0 @@ -61,6 +61,7 @@ Patch32: 0032-Keep-PermitRootLogin-authentication-behavior-after-m.patch Patch33: 0033-Read-the-driver-list-supported-by-ANCK.patch Patch34: 0034-migrear-grub2-entry-recovery.patch Patch35: 0035-GRUB2-EFI-support.patch +Patch36: 0036-add-grub2-efi-version-check-and-regen-grub2-efi.cfg.patch BuildArch: noarch BuildRequires: python-devel @@ -183,6 +184,9 @@ done; # no files here %changelog +* Tue Jan 17 2023 - 0.13.0-2.13 +- add-grub2-efi-version-check-and-regen-grub2-efi.cfg. + * Tue Jan 10 2023 - 0.13.0-2.12 - GRUB2-EFI support.