From f4f8b8afca599def15a09eef737f7dc41bc050a6 Mon Sep 17 00:00:00 2001 From: Weisson Date: Tue, 10 Jan 2023 11:15:31 +0800 Subject: [PATCH] GRUB2-EFI support. Signed-off-by: Weisson --- 0035-GRUB2-EFI-support.patch | 47 ++++++++++++++++++++++++++++++++++++ leapp-repository.spec | 6 ++++- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 0035-GRUB2-EFI-support.patch diff --git a/0035-GRUB2-EFI-support.patch b/0035-GRUB2-EFI-support.patch new file mode 100644 index 0000000..5c8789a --- /dev/null +++ b/0035-GRUB2-EFI-support.patch @@ -0,0 +1,47 @@ +From cbd47a0e35aaa7b31866f50465629b465f860964 Mon Sep 17 00:00:00 2001 +From: Weisson +Date: Sun, 8 Jan 2023 23:06:51 +0800 +Subject: [PATCH] GRUB2-EFI support. + +Signed-off-by: Weisson +--- + .../actors/dnfupgradetransaction/actor.py | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py b/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py +index 289fac2..64bd3a3 100644 +--- a/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py ++++ b/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py +@@ -57,9 +57,17 @@ class DnfUpgradeTransaction(Actor): + migrear_entries = [] + for entry in grub_entries: + if self.grub2_migrear_prefix in entry: +- items = re.findall(r"kernel=(.*)\nargs=(.*)\ninitrd=(.*)\ntitle=(.*)\n", entry) +- if len(items) == 1: +- migrear_entries += [dict(zip(("kernel", "args", "initrd", "title"), items[0]))] ++ kernel = re.findall(r"kernel=(/.*)\n", entry) ++ nargs = re.findall(r"args=(.*)\n", entry) ++ initrd = re.findall(r"initrd=(.*)\n", entry) ++ title = re.findall(r"title=(.*)\n", entry) ++ if len(kernel) == 1 and len(initrd) == 1 and len(title) == 1: ++ migrear_entries += [{ ++ "kernel": kernel[0], ++ "args": nargs[0] if len(nargs) == 1 else "", ++ "initrd": initrd[0], ++ "title": title[0], ++ }] + + dnfplugin.perform_transaction_install( + tasks=tasks, used_repos=used_repos, storage_info=storage_info, target_userspace_info=target_userspace_info, +@@ -68,7 +76,7 @@ class DnfUpgradeTransaction(Actor): + + for entry in migrear_entries: + try: +- subprocess.check_call("grubby --add-kernel %s --initrd %s --args=%s --title=%s" % (entry['kernel'], entry['initrd'], entry['args'], entry['title']), shell=True) ++ subprocess.check_call("grubby --copy-default --add-kernel %s --initrd %s --args=%s --title=%s" % (entry['kernel'], entry['initrd'], entry['args'], entry['title']), shell=True) + except Exception as e: + self.log.info(" ".join(["Failed restore migrear entry", str(entry), "Exception:", str(e)]), exc_info=True) + +-- +2.30.1 (Apple Git-130) + diff --git a/leapp-repository.spec b/leapp-repository.spec index 7b74666..5902fa9 100644 --- a/leapp-repository.spec +++ b/leapp-repository.spec @@ -11,7 +11,7 @@ }\ py2_byte_compile "%1" "%2"} -%define anolis_release 11 +%define anolis_release 12 Name: leapp-repository Version: 0.13.0 @@ -60,6 +60,7 @@ Patch31: 0031-Deal-with-EPEL-repositories-create-by-user-mannally.patch 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 BuildArch: noarch BuildRequires: python-devel @@ -182,6 +183,9 @@ done; # no files here %changelog +* Tue Jan 10 2023 - 0.13.0-2.12 +- GRUB2-EFI support. + * Mon Dec 12 2022 Weisson - 0.13.0-2.11 - Migrear grub2 entry recovery is supported. -- Gitee