summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/check-qemu-install22
1 files changed, 14 insertions, 8 deletions
diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install
index 507b1ea6..e2a27d69 100755
--- a/scripts/check-qemu-install
+++ b/scripts/check-qemu-install
@@ -1370,15 +1370,21 @@ try:
if args.sbom and transfer_disk_path and args.sbom_output_dir:
log.info('Extracting SBOM files from transfer disk to host.')
mount_point = f'{transfer_disk_path}.mnt'
+ mounted = False
os.makedirs(mount_point, exist_ok=True)
- subprocess.check_output(['mount', '-o', 'loop', transfer_disk_path, mount_point])
- for sbom_f in [sbom_file_cdx, sbom_file_spdx]:
- src = os.path.join(mount_point, sbom_f)
- if os.path.isfile(src):
- shutil.copy2(src, args.sbom_output_dir)
- log.info(f'SBOM file saved to: {args.sbom_output_dir}/{sbom_f}')
- subprocess.check_output(['umount', mount_point])
- os.rmdir(mount_point)
+ try:
+ subprocess.check_output(['mount', '-o', 'loop', transfer_disk_path, mount_point])
+ mounted = True
+ for sbom_f in [sbom_file_cdx, sbom_file_spdx]:
+ src = os.path.join(mount_point, sbom_f)
+ if os.path.isfile(src):
+ shutil.copy2(src, args.sbom_output_dir)
+ log.info(f'SBOM file saved to: {args.sbom_output_dir}/{sbom_f}')
+ finally:
+ if mounted:
+ subprocess.check_output(['umount', mount_point])
+ if os.path.isdir(mount_point):
+ os.rmdir(mount_point)
except EarlyExit:
pass