diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2012-06-13 22:09:38 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-06-14 14:07:18 +0100 |
commit | d43d3b007eac502c9c1ba8f5ff5cc8f984c84ddf (patch) | |
tree | f9ff712d1df8af57ef0a133f4d2a89f424e761a1 | |
parent | ad78e3c1897010f2e8ab100dedb8eab1559bee05 (diff) | |
download | poky-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__.py | 5 |
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: |