From 720fc04038e7c38d9656f222d36290cd683b7bd8 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Mon, 17 Dec 2007 19:34:04 +0000 Subject: improve error messages for pres/posts actions (patch from raoh's copy, probably from warly) --- bin/youri-submit | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/bin/youri-submit b/bin/youri-submit index a7f0120..8ecb868 100755 --- a/bin/youri-submit +++ b/bin/youri-submit @@ -284,7 +284,7 @@ eval { die "Failed to create repository: $@\n" if $@; # perfrom pre action -my $ok = 1; +my @errors; my $pre_packages = []; my $skip_pres = $config->get_arg('skip-pre'); my %skip_pres = $skip_pres ? map { $_ => 1 } @{$skip_pres} : (); @@ -313,21 +313,31 @@ foreach my $id (@{$target_conf->{pres}}) { print STDERR "Failed to create pre $id: $@\n"; } else { print "running pre $id\n" if $verbose; - unless ($pre->run($pre_packages, $repository, $target, $config->get_param('define'))) { - print STDERR "Error: " . $pre->get_error() . "\n"; - $ok = 0; - } + my @err = $pre->run( + $pre_packages, + $repository, + $target, + $config->get_arg('define') + ); + push(@errors, @err) if $err[0]; + } +} + +if (@errors) { + print "Pre-submission errors, aborting:\n"; + foreach my $error (@errors) { + print " - $error\n"; } + exit(1) } -exit(1) unless $ok; # create packages group -my @packages_group; my $group_error; +my @packages_group; foreach my $group ([ map { { section => "", file => $_ } } @ARGV ], @$pre_packages) { my @packages; foreach my $opt (@$group) { - print "Preparing upload for $opt->{file}\n" if $verbose; + print "Preparing upload for $opt->{file} in $opt->{section}\n" if $verbose; $repository->{packages}{$opt->{file}}{section} = $opt->{section}; push( @packages, @@ -516,9 +526,8 @@ foreach my $id (@{$target_conf->{posts}}) { print STDERR "Failed to create post $id: $@\n"; } else { print "running post $id\n" if $verbose; - unless ($post->run($repository, $target, $config->get_arg('define'))) { - print STDERR "Error: " . $post->get_error() . "\n"; - } + my @err = $post->run($repository, $target, $config->get_arg('define')); + print STDERR "Error $id: @err\n" if @err } } -- cgit v1.2.1