diff options
| author | Hermes Agent <hermes@localhost> | 2026-08-12 07:40:00 +0000 |
|---|---|---|
| committer | Hermes Agent <hermes@localhost> | 2026-08-12 07:40:00 +0000 |
| commit | 5e6cae20331f8e7cfd551b4656f0de852a4ad44c (patch) | |
| tree | 4f34ca14c7818bfa4c262c43836ab3c3bab65689 /src | |
| parent | 1c88ac5cba34058fc172001325dd2703d6fb3b92 (diff) | |
Clean workspace after rootfs finalization failure
Diffstat (limited to 'src')
| -rw-r--r-- | src/build.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/build.rs b/src/build.rs index 994b793..1fd7720 100644 --- a/src/build.rs +++ b/src/build.rs @@ -70,7 +70,7 @@ impl<I: PackageInstaller, B: InitramfsBuilder> BuildExecutor<I, B> { anyhow::anyhow!("package installer did not create rootfs: {}", rootfs.display()), ); } - RootfsFinalization::new( + if let Err(error) = RootfsFinalization::new( Vec::new(), InitrdOem::new( plan.spec().boot.initrd_features.iter().cloned(), @@ -78,7 +78,10 @@ impl<I: PackageInstaller, B: InitramfsBuilder> BuildExecutor<I, B> { ), Vec::new(), ) - .apply(&rootfs)?; + .apply(&rootfs) + { + return Self::fail_and_remove_workspace(workspace, error); + } let initramfs_request = match InitramfsRequest::discover(&rootfs) { Ok(request) => request, |