[bitbake-devel] [PATCH] lib/bb/build: create .old symlink for run.do_xx and log.do_xx
Nicolas Dechesne
nicolas.dechesne at linaro.org
Tue Sep 6 11:53:00 UTC 2016
When they exist, keep a reference to the 'previous' (or old) build for run.do_xx
and log.do_xx files, which can be useful when debugging. The symlink are created
as run.do_xx.old and log.do_xx.old.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne at linaro.org>
---
lib/bb/build.py | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/lib/bb/build.py b/lib/bb/build.py
index 310b5c0..7cff578 100644
--- a/lib/bb/build.py
+++ b/lib/bb/build.py
@@ -246,6 +246,16 @@ def exec_func(func, d, dirs = None, pythonexception=False):
# link won't be created as an exception would be fired.
if task == func:
runlink = os.path.join(tempdir, 'run.{0}'.format(task))
+ oldrunlink = os.path.join(tempdir, 'run.{0}.old'.format(task))
+
+ if oldrunlink and os.path.islink(runlink):
+ bb.utils.remove(oldrunlink)
+
+ try:
+ os.symlink(os.readlink(runlink), oldrunlink)
+ except OSError:
+ pass
+
if runlink:
bb.utils.remove(runlink)
@@ -503,7 +513,17 @@ def _exec_task(fn, task, d, quieterr):
# Setup the courtesy link to the logfn
loglink = os.path.join(tempdir, 'log.{0}'.format(task))
+ oldloglink = os.path.join(tempdir, 'log.{0}.old'.format(task))
logfn = os.path.join(tempdir, logbase)
+
+ if oldloglink and os.path.islink(loglink):
+ bb.utils.remove(oldloglink)
+
+ try:
+ os.symlink(os.readlink(loglink), oldloglink)
+ except OSError:
+ pass
+
if loglink:
bb.utils.remove(loglink)
--
2.7.0
More information about the bitbake-devel
mailing list