From 15dcd1d38f6ac1dcb5267594aba8cf10e2ff1d12 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 30 Sep 2010 15:04:18 -0500 Subject: [PATCH] build.py: Add a symlink for the logging [BUGID #375] When configuring for the log file output, we generate a symlink to the target filename. This link uses the same file naming, but without the active pid, making it easier to see which log file is the last one generated. Signed-off-by: Mark Hatle --- bitbake/lib/bb/build.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 1d0ae46..0e2b8bf 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py @@ -122,9 +122,22 @@ def exec_func(func, d, dirs = None): if not t: raise SystemExit("T variable not set, unable to build") bb.utils.mkdirhier(t) + loglink = "%s/log.%s" % (t, func) logfile = "%s/log.%s.%s" % (t, func, str(os.getpid())) runfile = "%s/run.%s.%s" % (t, func, str(os.getpid())) + # Even though the log file has not yet been opened, lets create the link + if loglink: + try: + os.remove(loglink) + except OSError as e: + pass + + try: + os.symlink(logfile, loglink) + except OSError as e: + pass + # Change to correct directory (if specified) if adir and os.access(adir, os.F_OK): os.chdir(adir) @@ -200,6 +213,10 @@ def exec_func(func, d, dirs = None): if os.path.exists(logfile) and os.path.getsize(logfile) == 0: bb.msg.debug(2, bb.msg.domain.Build, "Zero size logfile %s, removing" % logfile) os.remove(logfile) + try: + os.remove(loglink) + except OSError as e: + pass # Close the backup fds os.close(osi[0]) -- 2.7.4