Vendors support in workaround for ARM upgrades #13
@ -5626,3 +5626,81 @@ index 00000000..014b7afb
|
|||||||
+
|
+
|
||||||
+class VendorTopic(Topic):
|
+class VendorTopic(Topic):
|
||||||
+ name = 'vendor_topic'
|
+ name = 'vendor_topic'
|
||||||
|
diff --git a/repos/system_upgrade/el8toel9/actors/addarmbootloaderworkaround/libraries/addupgradebootloader.py b/repos/system_upgrade/el8toel9/actors/addarmbootloaderworkaround/libraries/addupgradebootloader.py
|
||||||
|
index 5e9bf5c6..eb5636c9 100644
|
||||||
|
--- a/repos/system_upgrade/el8toel9/actors/addarmbootloaderworkaround/libraries/addupgradebootloader.py
|
||||||
|
+++ b/repos/system_upgrade/el8toel9/actors/addarmbootloaderworkaround/libraries/addupgradebootloader.py
|
||||||
|
@@ -15,6 +15,23 @@ from leapp.libraries.common.grub import (
|
||||||
|
from leapp.libraries.stdlib import api, CalledProcessError, run
|
||||||
|
from leapp.models import ArmWorkaroundEFIBootloaderInfo, EFIBootEntry, TargetUserSpaceInfo
|
||||||
|
|
||||||
|
+dirname = {
|
||||||
|
+ 'AlmaLinux': 'almalinux',
|
||||||
|
+ 'CentOS Linux': 'centos',
|
||||||
|
+ 'CentOS Stream': 'centos',
|
||||||
|
+ 'Oracle Linux Server': 'redhat',
|
||||||
|
+ 'Red Hat Enterprise Linux': 'redhat',
|
||||||
|
+ 'Rocky Linux': 'rocky',
|
||||||
|
+ 'Scientific Linux': 'redhat',
|
||||||
|
+ 'EuroLinux': 'eurolinux',
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+with open('/etc/system-release', 'r') as sr:
|
||||||
|
+ release_line = next(line for line in sr if 'release' in line)
|
||||||
|
+ distro = release_line.split(' release ', 1)[0]
|
||||||
|
+
|
||||||
|
+distro_dir = dirname.get(distro, 'default')
|
||||||
|
+
|
||||||
|
UPGRADE_EFI_ENTRY_LABEL = 'Leapp Upgrade'
|
||||||
|
|
||||||
|
ARM_SHIM_PACKAGE_NAME = 'shim-aa64'
|
||||||
|
@@ -22,7 +39,7 @@ ARM_GRUB_PACKAGE_NAME = 'grub2-efi-aa64'
|
||||||
|
|
||||||
|
EFI_MOUNTPOINT = '/boot/efi/'
|
||||||
|
LEAPP_EFIDIR_CANONICAL_PATH = os.path.join(EFI_MOUNTPOINT, 'EFI/leapp/')
|
||||||
|
-RHEL_EFIDIR_CANONICAL_PATH = os.path.join(EFI_MOUNTPOINT, 'EFI/redhat/')
|
||||||
|
+RHEL_EFIDIR_CANONICAL_PATH = os.path.join(EFI_MOUNTPOINT, 'EFI/', distro_dir)
|
||||||
|
|
||||||
|
CONTAINER_DOWNLOAD_DIR = '/tmp_pkg_download_dir'
|
||||||
|
|
||||||
|
diff --git a/repos/system_upgrade/el8toel9/actors/removeupgradeefientry/libraries/removeupgradeefientry.py b/repos/system_upgrade/el8toel9/actors/removeupgradeefientry/libraries/removeupgradeefientry.py
|
||||||
|
index 3ff3ead9..3d93f6fd 100644
|
||||||
|
--- a/repos/system_upgrade/el8toel9/actors/removeupgradeefientry/libraries/removeupgradeefientry.py
|
||||||
|
+++ b/repos/system_upgrade/el8toel9/actors/removeupgradeefientry/libraries/removeupgradeefientry.py
|
||||||
|
@@ -6,9 +6,26 @@ from leapp.libraries.common.grub import GRUB2_BIOS_ENTRYPOINT, GRUB2_BIOS_ENV_FI
|
||||||
|
from leapp.libraries.stdlib import api, CalledProcessError, run
|
||||||
|
from leapp.models import ArmWorkaroundEFIBootloaderInfo
|
||||||
|
|
||||||
|
+dirname = {
|
||||||
|
+ 'AlmaLinux': 'almalinux',
|
||||||
|
+ 'CentOS Linux': 'centos',
|
||||||
|
+ 'CentOS Stream': 'centos',
|
||||||
|
+ 'Oracle Linux Server': 'redhat',
|
||||||
|
+ 'Red Hat Enterprise Linux': 'redhat',
|
||||||
|
+ 'Rocky Linux': 'rocky',
|
||||||
|
+ 'Scientific Linux': 'redhat',
|
||||||
|
+ 'EuroLinux': 'eurolinux',
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+with open('/etc/system-release', 'r') as sr:
|
||||||
|
+ release_line = next(line for line in sr if 'release' in line)
|
||||||
|
+ distro = release_line.split(' release ', 1)[0]
|
||||||
|
+
|
||||||
|
+distro_dir = dirname.get(distro, 'default')
|
||||||
|
+
|
||||||
|
EFI_MOUNTPOINT = '/boot/efi/'
|
||||||
|
LEAPP_EFIDIR_CANONICAL_PATH = os.path.join(EFI_MOUNTPOINT, 'EFI/leapp/')
|
||||||
|
-RHEL_EFIDIR_CANONICAL_PATH = os.path.join(EFI_MOUNTPOINT, 'EFI/redhat/')
|
||||||
|
+RHEL_EFIDIR_CANONICAL_PATH = os.path.join(EFI_MOUNTPOINT, 'EFI/', distro_dir)
|
||||||
|
|
||||||
|
|
||||||
|
def get_workaround_efi_info():
|
||||||
|
@@ -54,6 +71,8 @@ def remove_upgrade_efi_entry():
|
||||||
|
except CalledProcessError:
|
||||||
|
api.current_logger().warning('Unable to remove Leapp upgrade efi files.')
|
||||||
|
|
||||||
|
+ # Reload EFI info, boot order has changed as Leapp upgrade efi entry was removed
|
||||||
|
+ bootloader_info = get_workaround_efi_info()
|
||||||
|
original_boot_number = bootloader_info.original_entry.boot_number
|
||||||
|
run(['/usr/sbin/efibootmgr', '--bootnext', original_boot_number])
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ py2_byte_compile "%1" "%2"}
|
|||||||
Epoch: 1
|
Epoch: 1
|
||||||
Name: leapp-repository
|
Name: leapp-repository
|
||||||
Version: 0.21.0
|
Version: 0.21.0
|
||||||
Release: 4%{?dist}.elevate.1
|
Release: 4%{?dist}.elevate.2
|
||||||
Summary: Repositories for leapp
|
Summary: Repositories for leapp
|
||||||
|
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
@ -402,6 +402,11 @@ done;
|
|||||||
# no files here
|
# no files here
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Dec 03 2024 Yuriy Kohut <ykohut@almalinux.org> - 0.21.0-4.elevate.2
|
||||||
|
- Update ELevate patch:
|
||||||
|
- add_arm_bootloader_workaround, remove_upgrade_efi_entry: use specific to particular OS, EFI directory location path, like /boot/efi/EFI/$distro_dir
|
||||||
|
- remove_upgrade_efi_entry: reload EFI info, boot order has changed as Leapp upgrade efi entry was removed
|
||||||
|
|
||||||
* Tue Nov 26 2024 Yuriy Kohut <ykohut@almalinux.org> - 0.21.0-4.elevate.1
|
* Tue Nov 26 2024 Yuriy Kohut <ykohut@almalinux.org> - 0.21.0-4.elevate.1
|
||||||
- Update ELevate patch:
|
- Update ELevate patch:
|
||||||
- remove 0006-ReadOfKernelArgsError-fix-the-error.patch code as it is already on upstream
|
- remove 0006-ReadOfKernelArgsError-fix-the-error.patch code as it is already on upstream
|
||||||
|
Loading…
Reference in New Issue
Block a user