aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGalen Guyer <galen@galenguyer.com>2023-01-14 11:27:47 -0500
committerGalen Guyer <galen@galenguyer.com>2023-01-14 11:27:47 -0500
commit1e738ce7a2a9011edb02a37ca339740f14d62530 (patch)
treef1337d35a90b43fa4951ccd84dbb5c71647c9c66
parent1c1c6f8609aa3af9c7dbd7486360c4187e7f5300 (diff)
fail early if repo-add is unsuccesful
-rw-r--r--src/main.rs21
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,