Patchwork [bitbake-devel,6/8] bitbake/fetch2: reduce output for fetch failures

mail settings
Submitter Paul Eggleton
Date Jan. 13, 2012, 5:01 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/19309/
State New
Headers show


Paul Eggleton - Jan. 13, 2012, 5:01 p.m.
Make the warning for the initial fetch failure a single line - we don't
need the full command and output here yet, but write it into the log in
full as a debug message. However, if fetching from mirrors fails as well
then print out the full details for the first error that occurred as an
ERROR rather than a WARNING.

Since this is logged as an ERROR, combined with an earlier patch it
suppresses the full log which does make the output much more readable
for any fetch error.

Fixes [YOCTO #1832].

Signed-off-by: Paul Eggleton <>
 bitbake/lib/bb/fetch2/ |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)


diff --git a/bitbake/lib/bb/fetch2/ b/bitbake/lib/bb/fetch2/
index 771f72e..fe4f4b1 100644
--- a/bitbake/lib/bb/fetch2/
+++ b/bitbake/lib/bb/fetch2/
@@ -965,6 +965,7 @@  class Fetch(object):
                 if premirroronly:
                     self.d.setVar("BB_NO_NETWORK", "1")
+                firsterr = None
                 if not localpath and m.need_update(u, ud, self.d):
                         logger.debug(1, "Trying Upstream")
@@ -980,7 +981,9 @@  class Fetch(object):
                     except BBFetchException as e:
-                        logger.warn(str(e))
+                        logger.warn('Failed to fetch URL %s' % u)
+                        logger.debug(1, str(e))
+                        firsterr = e
                         # Remove any incomplete fetch
                         if os.path.isfile(ud.localpath):
@@ -989,6 +992,8 @@  class Fetch(object):
                         localpath = try_mirrors (self.d, ud, mirrors)
                 if not localpath or ((not os.path.exists(localpath)) and localpath.find("*") == -1):
+                    if firsterr:
+                        logger.error(str(firsterr))
                     raise FetchError("Unable to fetch URL from any source.", u)
                 update_stamp(u, ud, self.d)