diff options
Diffstat (limited to 'import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch')
-rw-r--r-- | import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch new file mode 100644 index 0000000000..583b6f1cd6 --- /dev/null +++ b/import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch @@ -0,0 +1,70 @@ +From 4729d0f4c4d1dacd150ddfd7061dda875eb94e34 Mon Sep 17 00:00:00 2001 +Message-Id: <4729d0f4c4d1dacd150ddfd7061dda875eb94e34.1443216870.git.Jim.Somerville@windriver.com> +From: Jim Somerville <Jim.Somerville@windriver.com> +Date: Fri, 25 Sep 2015 15:08:17 -0400 +Subject: [PATCH 1/1] logs: optionally use base filenames to report src files + +Problem: Logs are nice in that they report the source file, +routine, and line number where an issue occurs. But the +file is printed as the absolute filename. Users do not +need to see a long spew of path directory names where the package +was built. It just confuses things. + +Solution: Optionally chop off all leading directories so that just +the source filename ie. basename is printed. This is done by +setting a #ifdef LXC_LOG_USE_BASENAME check in the code. That +define is done via the optional --enable-log-src-basename provided +at configure time. + +Using __BASE_FILE__ instead of __FILE__ did not work. It +refers to the file name as presented to the compile +machinery, and that may still be the absolute pathname to +the file. + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> +--- + configure.ac | 9 +++++++++ + src/lxc/log.h | 5 +++++ + 2 files changed, 14 insertions(+) + +diff --git a/configure.ac b/configure.ac +index deba90b..c1ed67b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -357,6 +357,15 @@ AM_COND_IF([ENABLE_PYTHON], + PKG_CHECK_MODULES([PYTHONDEV], [python3 >= 3.2],[],[AC_MSG_ERROR([You must install python3-dev])]) + AC_DEFINE_UNQUOTED([ENABLE_PYTHON], 1, [Python3 is available])]) + ++# Enable basenames in the logs for source files ++AC_ARG_ENABLE([log-src-basename], ++ [AC_HELP_STRING([--enable-log-src-basename], [Use the shorter source file basename in the logs [default=no]])], ++ [], [enable_log_src_basename=no]) ++ ++if test "x$enable_log_src_basename" = "xyes"; then ++ AC_DEFINE([LXC_LOG_USE_BASENAME], 1, [Enabling shorter src filenames in the logs]) ++fi ++ + # Enable dumping stack traces + AC_ARG_ENABLE([mutex-debugging], + [AC_HELP_STRING([--enable-mutex-debugging], [Makes mutexes to report error and provide stack trace [default=no]])], +diff --git a/src/lxc/log.h b/src/lxc/log.h +index 76bd4df..4365977 100644 +--- a/src/lxc/log.h ++++ b/src/lxc/log.h +@@ -74,8 +74,13 @@ struct lxc_log_locinfo { + int line; + }; + ++#ifdef LXC_LOG_USE_BASENAME ++#define LXC_LOG_LOCINFO_INIT \ ++ { .file = (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__), .func = __func__, .line = __LINE__ } ++#else + #define LXC_LOG_LOCINFO_INIT \ + { .file = __FILE__, .func = __func__, .line = __LINE__ } ++#endif + + /* brief logging event object */ + struct lxc_log_event { +-- +1.8.3.2 + |