From 596113c80fe38a487c0cac748f1e6a335bb1f84e Mon Sep 17 00:00:00 2001 From: dalto Date: Sat, 15 Oct 2022 07:06:26 -0500 Subject: [PATCH 1/3] [dracut] Change image name terminology to match dracut --- src/modules/dracut/dracut.conf | 4 ++-- src/modules/dracut/dracut.schema.yaml | 2 +- src/modules/dracut/main.py | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/modules/dracut/dracut.conf b/src/modules/dracut/dracut.conf index 98d847d9e..ae5d85022 100644 --- a/src/modules/dracut/dracut.conf +++ b/src/modules/dracut/dracut.conf @@ -5,6 +5,6 @@ --- # Dracut defaults to setting initramfs-.img # If you want to specify another filename for the resulting image, -# set a custom kernel name, including the path +# set a custom name, including the path # -# kernelName: /boot/initramfs-linux.img +# initramfsName: /boot/initramfs-linux.img diff --git a/src/modules/dracut/dracut.schema.yaml b/src/modules/dracut/dracut.schema.yaml index 503b1a4f0..d6008e1bf 100644 --- a/src/modules/dracut/dracut.schema.yaml +++ b/src/modules/dracut/dracut.schema.yaml @@ -6,4 +6,4 @@ $id: https://calamares.io/schemas/dracut additionalProperties: false type: object properties: - kernelName: { type: string } + initramfsName: { type: string } diff --git a/src/modules/dracut/main.py b/src/modules/dracut/main.py index 071406580..dd12b92dd 100644 --- a/src/modules/dracut/main.py +++ b/src/modules/dracut/main.py @@ -34,12 +34,12 @@ def run_dracut(): :return: """ - kernelName = libcalamares.job.configuration['kernelName'] + initramfs_name = libcalamares.job.configuration['initramfsName'] - if not kernelName: + if not initramfs_name: return check_target_env_call(['dracut', '-f']) else: - return check_target_env_call(['dracut', '-f', '{}'.format(kernelName)]) + return check_target_env_call(['dracut', '-f', initramfs_name]) def run(): @@ -53,4 +53,4 @@ def run(): if return_code != 0: return (_("Failed to run dracut on the target"), - _("The exit code was {}").format(return_code)) + _(f"The exit code was {return_code}")) From 336a57fdf49938b04363884f2a4c39bb73280f7f Mon Sep 17 00:00:00 2001 From: dalto Date: Sun, 16 Oct 2022 09:05:30 -0500 Subject: [PATCH 2/3] [dracut] Clean up error handling --- src/modules/dracut/main.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/modules/dracut/main.py b/src/modules/dracut/main.py index dd12b92dd..6af303d64 100644 --- a/src/modules/dracut/main.py +++ b/src/modules/dracut/main.py @@ -12,9 +12,10 @@ # # Calamares is Free Software: see the License-Identifier above. # +import subprocess import libcalamares -from libcalamares.utils import check_target_env_call +from libcalamares.utils import target_env_process_output import gettext @@ -34,12 +35,18 @@ def run_dracut(): :return: """ - initramfs_name = libcalamares.job.configuration['initramfsName'] + try: + initramfs_name = libcalamares.job.configuration['initramfsName'] + target_env_process_output(['dracut', '-f', initramfs_name]) + except KeyError: + try: + target_env_process_output(['dracut', '-f']) + except subprocess.CalledProcessError as cpe: + return cpe.returncode, cpe.output + except subprocess.CalledProcessError as cpe: + return cpe.returncode, cpe.output - if not initramfs_name: - return check_target_env_call(['dracut', '-f']) - else: - return check_target_env_call(['dracut', '-f', initramfs_name]) + return 0, None def run(): @@ -49,8 +56,8 @@ def run(): :return: """ - return_code = run_dracut() - + return_code, output = run_dracut() if return_code != 0: - return (_("Failed to run dracut on the target"), - _(f"The exit code was {return_code}")) + libcalamares.utils.warning(f"Dracut failed with output: {output}") + return (_("Failed to run dracut"), + _(f"Dracut failed with on the target with return code: {return_code}")) From d13561e1c7c9169ed6738a5541ef2aa98e20e3a2 Mon Sep 17 00:00:00 2001 From: dalto Date: Sun, 16 Oct 2022 09:08:42 -0500 Subject: [PATCH 3/3] [dracut] Clean up error handling more --- src/modules/dracut/main.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/modules/dracut/main.py b/src/modules/dracut/main.py index 6af303d64..85e6f3e7f 100644 --- a/src/modules/dracut/main.py +++ b/src/modules/dracut/main.py @@ -42,11 +42,13 @@ def run_dracut(): try: target_env_process_output(['dracut', '-f']) except subprocess.CalledProcessError as cpe: - return cpe.returncode, cpe.output + libcalamares.utils.warning(f"Dracut failed with output: {cpe.output}") + return cpe.returncode except subprocess.CalledProcessError as cpe: - return cpe.returncode, cpe.output + libcalamares.utils.warning(f"Dracut failed with output: {cpe.output}") + return cpe.returncode - return 0, None + return 0 def run(): @@ -56,8 +58,7 @@ def run(): :return: """ - return_code, output = run_dracut() + return_code = run_dracut() if return_code != 0: - libcalamares.utils.warning(f"Dracut failed with output: {output}") return (_("Failed to run dracut"), - _(f"Dracut failed with on the target with return code: {return_code}")) + _(f"Dracut failed to run on the target with return code: {return_code}"))