openwrt/scripts
John Crispin 590b855c26 scripts/feeds: handle missing/broken feeds better
pts/feeds update -a" can fail rather silently for feeds using git, as
the script does not pause when updating a feed fails. Instead it prints the
error message and calmly continues to the next feed. It is very easy to
overlook update errors with the feeds updated first, as their text scrolls
rapidly away from the screen.

This behaviour has not been a big problem with svn feeds, as svn update stops
with a conflict message and interactively forces the user to resolve or
postpone the conflict. In any case the svn error is noticed by the user.

Majority of the feeds use now git, so this silent failure can affect users
doing private builds in an increasing amount.

Below is an example of update failing and script continuing:

perus@v1404:/Openwrt/barrier$ ./scripts/feeds update -a
Updating feed 'packages' from
'https://github.com/openwrt/packages.git;for-14.07' ...
remote: Counting objects: 17, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 17 (delta 10), reused 8 (delta 1)
Unpacking objects: 100% (17/17), done.
 From https://github.com/openwrt/packages
62031da..dc26009  for-14.07  -> origin/for-14.07
Updating 62031da..dc26009
error: Your local changes to the following files would be overwritten by merge:
utils/collectd/Makefile
Please, commit your changes or stash them before you can merge.
Aborting
failed.
Updating feed 'luci' from 'http://git.openwrt.org/project/luci.git;luci-0.12' ...
Already up-to-date.
Create index file './feeds/luci.index'
Updating feed 'routing' from
'https://github.com/openwrt-routing/packages.git;for-14.07' ...
...

The script prints "failed.", but does not break the updating process. The
"update_feed" function returns an error code 1, but that value is not checked
in the "update" function, which continues to the next feed.
Return 1 as error:
​https://dev.openwrt.org/browser/trunk/scripts/feeds#L547
Call to update_feed without any error monitoring:
​https://dev.openwrt.org/browser/trunk/scripts/feeds#L585

The included patch makes the feeds script to stop updating after failing to
update a feed.

The script continues to the refresh_config step despite a possible failure in
updating, so the stopping action just prevents the other feeds from updating
and makes the error more clearly visible.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>

SVN-Revision: 42891
2014-10-13 19:41:27 +00:00
..
config scripts/config: make wildcard include with no results non-fatal 2014-03-10 18:58:40 +00:00
flashing make flashing scripts executable 2010-06-26 22:18:15 +00:00
arm-magic.sh add support for the Tonze AP-422/425 2012-11-11 21:04:30 +00:00
brcmImage.pl brcmImage.pl should be set executable 2009-01-29 15:15:21 +00:00
bundle-libraries.sh scripts/bundle-libraries: fall back to only copying binaries if ldd is unavailable (e.g. non-linux system) 2014-06-02 13:27:23 +00:00
checkpatch.pl scripts/checkpatch.pl: Fix whitespace errors 2013-08-31 11:16:49 +00:00
clang-gcc-wrapper build: fix build on Mac OS X 10.9 2013-10-28 15:15:09 +00:00
clean-package.sh build: clean up stale files from a previous build when installing a package build to the staging dir 2013-05-29 10:31:45 +00:00
cleanfile scripts/{cleanfile,cleanpatch}: Add scripts for cleaning up file and patch whitespaces 2013-08-31 11:16:44 +00:00
cleanpatch scripts/{cleanfile,cleanpatch}: Add scripts for cleaning up file and patch whitespaces 2013-08-31 11:16:44 +00:00
combined-ext-image.sh scripts: add script to generate combined extended image format 2011-11-30 07:43:58 +00:00
combined-image.sh scripts/combined-image.sh: remove the use of mktemp to make it more portable 2009-12-24 10:34:37 +00:00
config.guess upgrade the config.* scripts 2010-07-20 13:21:00 +00:00
config.rpath add config.rpath and link it in autotools.mk if missing, some packages might need it, especially users of lib-link.m4 or iconv.m4 2011-02-27 15:39:27 +00:00
config.sub remove support for ubicom32 2012-11-30 10:53:55 +00:00
deptest.sh deptest: Also accept stamps that are broken links. 2010-12-08 16:08:14 +00:00
diffconfig.sh build: add new menuconfig code based on linux 3.9 2013-04-18 12:05:16 +00:00
dl_cleanup.py scripts: dl_cleanup.py: properly detect file names with <date>-<githash> version string 2013-05-26 17:28:11 +00:00
download.pl include/download.mk: Add download mirrors for tools from GNU Savannah (bug #15184) 2014-10-08 08:01:39 +00:00
env scripts: unset GREP_OPTIONS in env and feeds (fixes #16924) 2014-06-30 06:50:22 +00:00
ext-toolchain.sh buildroot: allow specifying libc personality for external toolchains 2013-02-20 15:06:10 +00:00
feeds scripts/feeds: handle missing/broken feeds better 2014-10-13 19:41:27 +00:00
freebsd.sh build: BSD compile fixes 2013-03-07 17:32:29 +00:00
gen-dependencies.sh scripts/gen-dependencies.sh: prevent zero-length dep.* files from accumulating in tmp/ 2013-11-19 00:03:34 +00:00
getver.sh getver.sh: cope with varying "git log" line formats to reliably extract the git-svn rev (#10268) 2011-10-26 14:54:57 +00:00
ipkg scripts/ipkg: print warnings/errors to stderr 2013-02-21 11:45:25 +00:00
ipkg-make-index.sh ipkg-make-index: use more backwards-compatible openssl call for SHA256 2013-10-17 19:32:28 +00:00
kconfig.pl scripts/kconfig.pl: Indicate which file we couldn't open 2014-01-19 17:27:04 +00:00
make-ipkg-dir.sh finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
md5sum improve support for building on mac os x by improving detection of missing components 2009-01-25 19:00:43 +00:00
metadata.pl build: add support for declaring package CONFLICTS which only affect selecting built-in packages 2014-10-05 16:41:33 +00:00
metadata.pm build: add support for declaring package CONFLICTS which only affect selecting built-in packages 2014-10-05 16:41:33 +00:00
mkits.sh build: move mkits.sh script to more common place 2013-10-16 10:29:50 +00:00
om-fwupgradecfg-gen.sh scripts/om-fwupgradecfg-gen.sh: add support for the OM5P 2014-07-20 17:30:48 +00:00
openbsd.sh build: BSD compile fixes 2013-03-07 17:32:29 +00:00
pad_image rework board detection 2010-03-18 23:35:21 +00:00
patch-kernel.sh patch-kernel.sh: utilize --force (#7745), also use the PATCH env var and fallback to "patch" if unset 2010-10-08 09:21:01 +00:00
patch-specs.sh patch-specs.sh: gcc 3.4.6 has an additional "(OpenWrt-2.0)" after the version tag, cope with that 2012-01-29 20:19:06 +00:00
relink-lib.sh base-files: relink uclibc and libgcc libraries to remove leftovers of the statically linked initial libgcc saves a few kb and gets rid of unused not exported functions as well should also improve the reliability of mklibs 2011-03-01 05:40:38 +00:00
remote-gdb script/remote-gdb: enable and keep command history 2014-09-18 09:29:44 +00:00
rstrip.sh strip kernel modules more aggressively: make all global symbols local, rename all symbols in the symbol table to make them compress better 2012-02-20 17:38:26 +00:00
slugimage.pl use #!/usr/bin/env perl instead of #!/usr/bin/perl in openwrt scripts (fixes #2998) 2008-09-23 18:29:44 +00:00
strip-kmod.sh kernel: fix stripping of modules with duplicate symbol names 2012-03-19 21:09:47 +00:00
symlink-tree.sh scripts/symlink-tree.sh: print warnings/errors to stderr 2013-02-21 11:45:27 +00:00
timestamp.pl fix timestamp checks for build system paths which have '.svn' in their directory name 2010-04-14 22:21:15 +00:00
ubinize-image.sh scripts/ubinize-image.sh: fix ubinize-image.sh when used with --kernel 2014-06-29 06:59:29 +00:00
update-package-md5sum update-package-md5sum: A tool to update the md5sum of openwrt packages. Useful when upgrading a set of packages. 2010-01-03 17:06:06 +00:00