From 4a1e3e1f41e5ec83c5330f5e805d331bd4ab2919 Mon Sep 17 00:00:00 2001 From: mudler Date: Tue, 29 Mar 2016 12:07:37 +0200 Subject: [PATCH] [builder] use safe_call for system calls that are vital. If they don't succeds they will bail out the build --- builder | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/builder b/builder index b14e41a..47ebb79 100755 --- a/builder +++ b/builder @@ -42,6 +42,13 @@ $ENV{LC_ALL} = "en_US.UTF-8"; #here be dragons # A barely print replacement sub say { print join( "\n", @_ ) . "\n"; } +sub safe_call { + my $cmd = shift; + my $rt = system($cmd); + my $return = $rt >> 8; + exit($return) if ($rt); +} + # Input: package, depth, and atom. Package: sys-fs/foobarfs, Depth: 1 (depth of the package tree) , Atom: 1/0 (enable disable atom output) sub package_deps { my $package = shift; @@ -262,13 +269,13 @@ if ($use_equo) { @packages_deps = grep { defined() and length() } @packages_deps; #cleaning say "", "[install] Those dependencies will be installed with equo :", @packages_deps, ""; if ($equo_split_install) { - system("equo i --bdeps $_") for (@packages_deps,@equo_install); + safe_call("equo i --bdeps $_") for (@packages_deps,@equo_install); if (@equo_remove > 0){ system("equo rm --nodeps $_") for (@equo_remove); } } else { - system("equo i --bdeps @packages_deps @equo_install") if ( @packages_deps > 0 or @equo_install > 0); + safe_call("equo i --bdeps @packages_deps @equo_install") if ( @packages_deps > 0 or @equo_install > 0); system("equo rm --nodeps @equo_remove") if (@equo_remove > 0); } }