From: Jo-Philipp Wich Date: Tue, 14 Jul 2015 22:27:39 +0000 (+0000) Subject: scripts/feeds: return error status from feed update X-Git-Tag: reboot~2479 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=c5fbcf59e0fcaba3dd137d406e38b3eb27d21573;hp=6c8c019b785c5c868a3062485d250d5052d25e57 scripts/feeds: return error status from feed update This patch is a modified version of the patch being discussed at here: https://patchwork.ozlabs.org/patch/471303/ from Martin Strbacka My version modifies scripts/feeds so that an error with one of the feeds just raises the error flag, but script continues and tries to update the other feeds. After all feeds have been updated, the script returns 1 if at least one feed failed, and 0 on success with all feeds. The user can then utilise the status in his build script, if he wants. signed-off-by: Hannu Nyman SVN-Revision: 46374 --- diff --git a/scripts/feeds b/scripts/feeds index 7744dd068e..1da44f539f 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -687,6 +687,7 @@ sub update { my %opts; my $feed_name; my $perform_update=1; + my $failed=0; $ENV{SCAN_COOKIE} = $$; $ENV{OPENWRT_VERBOSE} = 's'; @@ -711,8 +712,7 @@ sub update { if ( ($#ARGV == -1) or $opts{a}) { foreach my $feed (@feeds) { my ($type, $name, $src) = @$feed; - next unless update_feed($type, $name, $src, $perform_update) == 1; - last; + update_feed($type, $name, $src, $perform_update) == 0 or $failed=1; } } else { while ($feed_name = shift @ARGV) { @@ -721,14 +721,14 @@ sub update { if($feed_name ne $name) { next; } - update_feed($type, $name, $src, $perform_update); + update_feed($type, $name, $src, $perform_update) == 0 or $failed=1; } } } refresh_config(); - return 0; + return $failed; } sub feed_config() {