diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2012-05-23 10:45:09 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-23 18:15:23 +0100 |
commit | c9e38aed29bf072d83079867c37f3169a7005fce (patch) | |
tree | 975b6e3eaadc53055bd10c04fca6019691335033 /bitbake | |
parent | 094742bed2fc01d55f572da946fcfa7a48521401 (diff) | |
download | poky-c9e38aed29bf072d83079867c37f3169a7005fce.tar.gz |
build.py: Add a log to capture task execution order
The new log.task_order contains an ordered list of the tasks as they
were executed in any given recipe. The format of the lines is
<task> <pid>: <log file>
(Bitbake rev: 8662b43dcbd6e38a5b2ab9d6529af1fb08c146bf)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/build.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 95f1dcfcb7..4f06b15943 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py | |||
@@ -290,8 +290,22 @@ def _exec_task(fn, task, d, quieterr): | |||
290 | bb.fatal("T variable not set, unable to build") | 290 | bb.fatal("T variable not set, unable to build") |
291 | 291 | ||
292 | bb.utils.mkdirhier(tempdir) | 292 | bb.utils.mkdirhier(tempdir) |
293 | loglink = os.path.join(tempdir, 'log.{0}'.format(task)) | 293 | |
294 | # Determine the logfile to generate | ||
294 | logbase = 'log.{0}.{1}'.format(task, os.getpid()) | 295 | logbase = 'log.{0}.{1}'.format(task, os.getpid()) |
296 | |||
297 | # Document the order of the tasks... | ||
298 | logorder = os.path.join(tempdir, 'log.task_order') | ||
299 | try: | ||
300 | logorderfile = file(logorder, 'a') | ||
301 | except OSError: | ||
302 | logger.exception("Opening log file '%s'", logorder) | ||
303 | pass | ||
304 | logorderfile.write('{0} ({1}): {2}\n'.format(task, os.getpid(), logbase)) | ||
305 | logorderfile.close() | ||
306 | |||
307 | # Setup the courtesy link to the logfn | ||
308 | loglink = os.path.join(tempdir, 'log.{0}'.format(task)) | ||
295 | logfn = os.path.join(tempdir, logbase) | 309 | logfn = os.path.join(tempdir, logbase) |
296 | if loglink: | 310 | if loglink: |
297 | bb.utils.remove(loglink) | 311 | bb.utils.remove(loglink) |