summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2012-06-13 22:09:38 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-06-14 14:07:18 +0100
commitd43d3b007eac502c9c1ba8f5ff5cc8f984c84ddf (patch)
treef9ff712d1df8af57ef0a133f4d2a89f424e761a1
parentad78e3c1897010f2e8ab100dedb8eab1559bee05 (diff)
downloadpoky-d43d3b007eac502c9c1ba8f5ff5cc8f984c84ddf.tar.gz
fetch2: Fix missing output from stderr in fetcher logs
There are actually two problems to fix 1) The exception for bb.process.ExecutionError must be processed first because it is a derived from the bb.process.CmdError class and we never reach the ExecutionError otherwise. 2) The stderr needs to be printed as well as stdout to determine the root cause of a fetch failure. The example I have is that I got a log that looked like: -- ERROR: Function failed: Network access disabled through BB_NO_NETWORK but access requested with command /usr/bin/env wget -t 5 -nv --passive-ftp --no-check-certificate -P /localds 'http://downloads.yoctoproject.org/[...CLIPPED...] url None) -- That really didn't tell me much, but with this patch I get error above plus the following: -- STDERR: /net/[...CLIPPED...]kernel-tools.git: Read-only file system -- (Bitbake rev: af2133a04e1f4b22b181adf9c71f89c439bb88cf) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 83050e4c1f..324eef28a7 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -437,11 +437,10 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
437 success = True 437 success = True
438 except bb.process.NotFoundError as e: 438 except bb.process.NotFoundError as e:
439 error_message = "Fetch command %s" % (e.command) 439 error_message = "Fetch command %s" % (e.command)
440 except bb.process.ExecutionError as e:
441 error_message = "Fetch command %s failed with exit code %s, output:\nSTDOUT: %s\nSTDERR: %s" % (e.command, e.exitcode, e.stdout, e.stderr)
440 except bb.process.CmdError as e: 442 except bb.process.CmdError as e:
441 error_message = "Fetch command %s could not be run:\n%s" % (e.command, e.msg) 443 error_message = "Fetch command %s could not be run:\n%s" % (e.command, e.msg)
442 except bb.process.ExecutionError as e:
443 error_message = "Fetch command %s failed with exit code %s, output:\n%s" % (e.command, e.exitcode, e.stderr)
444
445 if not success: 444 if not success:
446 for f in cleanup: 445 for f in cleanup:
447 try: 446 try: