From e09ee680abd286d25604c2242fa3e128fbdeed69 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Wed, 12 Aug 2026 07:06:09 +0000 Subject: Clean workspace after package installation failure --- src/build.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/build.rs') diff --git a/src/build.rs b/src/build.rs index fcacfc0..305c059 100644 --- a/src/build.rs +++ b/src/build.rs @@ -57,7 +57,11 @@ impl BuildExecutor { let request = plan.package_request(workspace, apt_config)?; std::fs::create_dir_all(workspace) .with_context(|| format!("create workspace {}", workspace.display()))?; - self.installer.install(&request)?; + if let Err(error) = self.installer.install(&request) { + std::fs::remove_dir_all(workspace) + .with_context(|| format!("remove failed workspace {}", workspace.display()))?; + return Err(error); + } let rootfs = workspace.join("chroot"); if !rootfs.is_dir() { -- cgit v1.2.3