aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2007-12-17 19:34:04 +0000
committerOlivier Blin <oblin@mandriva.com>2007-12-17 19:34:04 +0000
commit720fc04038e7c38d9656f222d36290cd683b7bd8 (patch)
treeaf334a3c8b9c9b51351dffcce9908aac785457d2
parente7e89d5c2f731e09347299657d1df79886701174 (diff)
downloadmga-youri-submit-720fc04038e7c38d9656f222d36290cd683b7bd8.tar
mga-youri-submit-720fc04038e7c38d9656f222d36290cd683b7bd8.tar.gz
mga-youri-submit-720fc04038e7c38d9656f222d36290cd683b7bd8.tar.bz2
mga-youri-submit-720fc04038e7c38d9656f222d36290cd683b7bd8.tar.xz
mga-youri-submit-720fc04038e7c38d9656f222d36290cd683b7bd8.zip
improve error messages for pres/posts actions (patch from raoh's copy, probably from warly)
-rwxr-xr-xbin/youri-submit31
1 files 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
}
}