diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2017-08-29 22:33:01 +0200 |
---|---|---|
committer | Martin Jansa <martin2.jansa@lgepartner.com> | 2022-05-03 07:01:57 +0000 |
commit | bfbf7cec59efce9c442bf4ef937cb2db482650a4 (patch) | |
tree | fe91ad7c9cbfe7106a989d3ce1fee0fbc9f388f2 | |
parent | c2d8f9b2137bd4a98eb0f51519493131773e7517 (diff) | |
download | bitbake-contrib-bfbf7cec59efce9c442bf4ef937cb2db482650a4.tar.gz |
fetch2: Allow Fetch.download() to warn instead of error
Under some situations it can be allowed for Fetch.download() to fail
to fetch a file without causing bitbake to fail. By adding
only_warn=True as argument to Fetch.download(), it will call
logger.warning() instead of logger.error() and thus not cause build
failures.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r-- | lib/bb/fetch2/__init__.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 25179bc2e..cc49ae828 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1687,9 +1687,10 @@ class Fetch(object): return local - def download(self, urls=None): + def download(self, urls=None, only_warn=False): """ - Fetch all urls + Fetch all urls. In case only_warn is True, a failure to fetch a url + will only result in a warning message, rather than an error message. """ if not urls: urls = self.urls @@ -1767,19 +1768,28 @@ class Fetch(object): if not done or not m.done(ud, self.d): if firsterr: - logger.error(str(firsterr)) + if only_warn: + logger.warning(str(firsterr)) + else: + logger.error(str(firsterr)) raise FetchError("Unable to fetch URL from any source.", u) m.update_donestamp(ud, self.d) except IOError as e: if e.errno in [errno.ESTALE]: - logger.error("Stale Error Observed %s." % u) + if only_warn: + logger.warning("Stale Error Observed %s." % u) + else: + logger.error("Stale Error Observed %s." % u) raise ChecksumError("Stale Error Detected") except BBFetchException as e: if isinstance(e, ChecksumError): - logger.error("Checksum failure fetching %s" % u) + if only_warn: + logger.warning("Checksum failure fetching %s" % u) + else: + logger.error("Checksum failure fetching %s" % u) raise finally: |