my $dryrun = 0; # just show build order and don't build actually
my $help = 0; # show help information
my $keepgoing = 0; # TODO: clean up
+my $fail_fast = 0; # stop build immediately if one of packages fails
my $clean_repos = 0; # clean corresponding local rpm repos
my $create_baselibs = 0; # create baselibs packages if baselibs.conf exists
my $skip_srcrpm = 0; # don't generate source rpm package if $skip_srcrpm == 1
"dryrun" => \$dryrun,
"help|?" => \$help,
"keepgoing" => \$keepgoing,
+ "fail-fast" => \$fail_fast,
"overwrite" => \$overwrite,
"debug" => \$debug,
"incremental" => \$incremental,
If a package build fails, do not abort and continue
building other packages in the queue.
+ --fail-fast
+ If one of packages build fails, stop whole build immediately.
+
--incremental
Build a package from the local git tree directly.
This option does not produce packages now, it is very
if ($status == 0) {
$dirty = 1;
}
- }
+ if ($fail_fast && $status == 1) {
+ info("build failed, exit...");
+ $TERM = 1;
+ }
+ }
debug("*** build $name exit with status($status), is dirty:$dirty, (worker: $thread) ***");
return $status;