diff options
author | Galen Guyer <galen@galenguyer.com> | 2023-01-14 11:27:47 -0500 |
---|---|---|
committer | Galen Guyer <galen@galenguyer.com> | 2023-01-14 11:27:47 -0500 |
commit | 1e738ce7a2a9011edb02a37ca339740f14d62530 (patch) | |
tree | f1337d35a90b43fa4951ccd84dbb5c71647c9c66 | |
parent | 1c1c6f8609aa3af9c7dbd7486360c4187e7f5300 (diff) |
fail early if repo-add is unsuccesful
-rw-r--r-- | src/main.rs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index 305fc48..f91a3d7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -84,6 +84,7 @@ pub fn build_pkg(package_name: &str, package_list: &[PackageMeta], handle: &Alpm .all(|p| dbg!(std::path::Path::new(dbg!(&p)).exists())) { println!("{package_name} already built, skipping fresh build"); + return; } else { let chroot_dir = std::env::var("PKGBUILD_CHROOT_DIR") .unwrap_or_else(|_| String::from("/var/lib/pkgbuild")) @@ -179,7 +180,25 @@ pub fn build_pkg(package_name: &str, package_list: &[PackageMeta], handle: &Alpm command.arg(package); } dbg!(&command); - print_status(command.spawn()); + match command.spawn(){ + Ok(mut child) => match child.wait() { + Ok(status) => { + println!("STATUS: {}", status.code().unwrap_or(-1)); + if !status.success() { + return; + } + } + Err(e) => { + println!("ERROR: {e}"); + return; + } + }, + Err(e) => { + println!("ERROR: {e}"); + return; + } + } + for package in &package_list { std::fs::copy( package, |