27 lines
642 B
Rust
27 lines
642 B
Rust
use std::error::Error;
|
|
use std::path::Path;
|
|
use std::process::Command;
|
|
|
|
pub fn build_source_package(cwd: Option<&Path>) -> Result<(), Box<dyn Error>> {
|
|
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.
|
|
}
|