diff --git a/0035-exit-code-formatted.patch b/0035-exit-code-formatted.patch new file mode 100644 index 0000000000000000000000000000000000000000..f47776746860c8de156c9b9cb1193aa28cc798da --- /dev/null +++ b/0035-exit-code-formatted.patch @@ -0,0 +1,110 @@ +From fbdfd4ded2e9b6756d4c25ff57a23fa6c64f433f Mon Sep 17 00:00:00 2001 +From: Weisson +Date: Mon, 26 Dec 2022 17:48:50 +0800 +Subject: [PATCH] exit code formatted. + +Signed-off-by: Weisson +--- + .../el7toel8/actors/dnfpackagedownload/actor.py | 15 +++++++++++---- + .../actors/dnfupgradetransaction/actor.py | 15 +++++++++++---- + .../actors/targetuserspacecreator/actor.py | 14 +++++++++++--- + 3 files changed, 33 insertions(+), 11 deletions(-) + +diff --git a/repos/system_upgrade/el7toel8/actors/dnfpackagedownload/actor.py b/repos/system_upgrade/el7toel8/actors/dnfpackagedownload/actor.py +index 8e29faa..c5542a6 100644 +--- a/repos/system_upgrade/el7toel8/actors/dnfpackagedownload/actor.py ++++ b/repos/system_upgrade/el7toel8/actors/dnfpackagedownload/actor.py +@@ -10,6 +10,10 @@ from leapp.models import ( + XFSPresence, + ) + from leapp.tags import DownloadPhaseTag, IPUWorkflowTag ++from leapp.exceptions import ActorFailureException ++ ++import sys ++import traceback + + + class DnfPackageDownload(Actor): +@@ -43,7 +47,10 @@ class DnfPackageDownload(Actor): + rhui_info = next(self.consume(RHUIInfo), None) + on_aws = bool(rhui_info and rhui_info.provider == 'aws') + +- dnfplugin.perform_rpm_download( +- tasks=tasks, used_repos=used_repos, target_userspace_info=target_userspace_info, +- xfs_info=xfs_info, storage_info=storage_info, plugin_info=plugin_info, on_aws=on_aws +- ) ++ try: ++ dnfplugin.perform_rpm_download( ++ tasks=tasks, used_repos=used_repos, target_userspace_info=target_userspace_info, ++ xfs_info=xfs_info, storage_info=storage_info, plugin_info=plugin_info, on_aws=on_aws ++ ) ++ except Exception as e: ++ raise ActorFailureException(exit_code=202, exception=e, exec_information=traceback.format_exception(*sys.exc_info()), message="fail to download dnf packages.") +diff --git a/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py b/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py +index 289fac2..8eee7de 100644 +--- a/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py ++++ b/repos/system_upgrade/el7toel8/actors/dnfupgradetransaction/actor.py +@@ -13,9 +13,13 @@ from leapp.models import ( + UsedTargetRepositories, + ) + from leapp.tags import IPUWorkflowTag, RPMUpgradePhaseTag ++from leapp.exceptions import ActorFailureException + import subprocess + import re + ++import sys ++import traceback ++ + + class DnfUpgradeTransaction(Actor): + """ +@@ -61,10 +65,13 @@ class DnfUpgradeTransaction(Actor): + if len(items) == 1: + migrear_entries += [dict(zip(("kernel", "args", "initrd", "title"), items[0]))] + +- dnfplugin.perform_transaction_install( +- tasks=tasks, used_repos=used_repos, storage_info=storage_info, target_userspace_info=target_userspace_info, +- plugin_info=plugin_info +- ) ++ try: ++ dnfplugin.perform_transaction_install( ++ tasks=tasks, used_repos=used_repos, storage_info=storage_info, target_userspace_info=target_userspace_info, ++ plugin_info=plugin_info ++ ) ++ except Exception as e: ++ raise ActorFailureException(exit_code=202, exception=e, exec_information=traceback.format_exception(*sys.exc_info()), message="fail to install dnf packages.") + + for entry in migrear_entries: + try: +diff --git a/repos/system_upgrade/el7toel8/actors/targetuserspacecreator/actor.py b/repos/system_upgrade/el7toel8/actors/targetuserspacecreator/actor.py +index 7575019..84f2a44 100644 +--- a/repos/system_upgrade/el7toel8/actors/targetuserspacecreator/actor.py ++++ b/repos/system_upgrade/el7toel8/actors/targetuserspacecreator/actor.py +@@ -18,6 +18,11 @@ from leapp.models import ( + from leapp.tags import IPUWorkflowTag, TargetTransactionFactsPhaseTag + from leapp.utils.deprecation import suppress_deprecation + ++from leapp.exceptions import ActorFailureException ++ ++import sys ++import traceback ++ + + @suppress_deprecation(TMPTargetRepositoriesFacts) + class TargetUserspaceCreator(Actor): +@@ -38,6 +43,9 @@ class TargetUserspaceCreator(Actor): + tags = (IPUWorkflowTag, TargetTransactionFactsPhaseTag) + + def process(self): +- skip_check = get_env('LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE', False) +- if (skip_check or version.is_supported_version()) and next(self.consume(RepositoriesMap), None): +- userspacegen.perform() ++ try: ++ skip_check = get_env('LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE', False) ++ if (skip_check or version.is_supported_version()) and next(self.consume(RepositoriesMap), None): ++ userspacegen.perform() ++ except Exception as e: ++ raise ActorFailureException(exit_code=101, exception=e, exec_information=traceback.format_exception(*sys.exc_info()), message="fail to create userspace.") +-- +2.30.1 (Apple Git-130) + diff --git a/leapp-repository.spec b/leapp-repository.spec index 7b746664d57425162278473d7c683cbaf0101620..4ff9a8f3a4f72e0907f712fc32c8593e07aa500a 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-exit-code-formatted.patch BuildArch: noarch BuildRequires: python-devel @@ -182,6 +183,9 @@ done; # no files here %changelog +* Tue Dec 27 2022 Weisson - 0.13.0-2.12 +- exit code formatted. + * Mon Dec 12 2022 Weisson - 0.13.0-2.11 - Migrear grub2 entry recovery is supported.