This commit is contained in:
@@ -38,19 +38,6 @@ impl EphemeralContextGuard {
|
||||
return Err(format!("mmdebstrap failed for series {}", series).into());
|
||||
}
|
||||
|
||||
// Mount '/dev' inside the chroot
|
||||
let status = context::current()
|
||||
.command("sudo")
|
||||
.arg("mount")
|
||||
.arg("--bind")
|
||||
.arg("/dev")
|
||||
.arg(format!("{}/dev", chroot_path.display()))
|
||||
.status()?;
|
||||
if !status.success() {
|
||||
// Clean up on failure
|
||||
let _ = std::fs::remove_dir_all(&chroot_path);
|
||||
return Err("Failed to mount /dev inside chroot".into());
|
||||
}
|
||||
|
||||
// Switch to an ephemeral context to build the package in the chroot
|
||||
context::manager().set_current_ephemeral(Context::new(ContextConfig::Unshare {
|
||||
@@ -73,17 +60,6 @@ impl Drop for EphemeralContextGuard {
|
||||
log::error!("Failed to restore context {}: {}", self.previous_context, e);
|
||||
}
|
||||
|
||||
// Unmount '/dev' inside the chroot
|
||||
let status = context::current()
|
||||
.command("sudo")
|
||||
.arg("umount")
|
||||
.arg(format!("{}/dev", &self.chroot_path.display()))
|
||||
.status();
|
||||
if status.is_err() || !status.unwrap().success() {
|
||||
// If we fail to umount, then we can't remove (would remove /dev/xx on host)
|
||||
log::error!("Failed to umount /dev inside chroot. Not cleaning up.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove chroot directory
|
||||
// We use the restored context to execute the cleanup command
|
||||
|
||||
Reference in New Issue
Block a user