Author: jow
Date: 2015-07-15 00:27:39 +0200 (Wed, 15 Jul 2015)
New Revision: 46374

Modified:
   trunk/scripts/feeds
Log:
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 <[email protected]>

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 <[email protected]>

Modified: trunk/scripts/feeds
===================================================================
--- trunk/scripts/feeds 2015-07-14 20:56:04 UTC (rev 46373)
+++ trunk/scripts/feeds 2015-07-14 22:27:39 UTC (rev 46374)
@@ -687,6 +687,7 @@
        my %opts;
        my $feed_name;
        my $perform_update=1;
+       my $failed=0;
 
        $ENV{SCAN_COOKIE} = $$;
        $ENV{OPENWRT_VERBOSE} = 's';
@@ -711,8 +712,7 @@
        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 @@
                                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() {
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to