use std::error::Error; use std::path::Path; use std::process::Command; pub fn build_source_package(cwd: Option<&Path>) -> Result<(), Box> { let cwd = cwd.unwrap_or_else(|| Path::new(".")); let status = Command::new("dpkg-buildpackage") .current_dir(cwd) .args(["-S", "-I", "-i", "-nc", "-d"]) .status()?; if !status.success() { return Err(format!("dpkg-buildpackage failed with status: {}", status).into()); } Ok(()) } #[cfg(test)] mod tests { use super::*; // We are not testing the build part, as for now this is just a wrapper // around dpkg-buildpackage. }