[OE-core] [PATCH v2] createrepo-c: Fix setup of logging (log domains)

Zheng Ruoqin zhengrq.fnst at cn.fujitsu.com
Tue Dec 11 10:56:59 UTC 2018


New debug messages were added into GLib library. These messages come
from the "GLib" log domain and were not hidden in the standard and
quiet mode of the application.
This fix hides log messages regardless on source log domain.

Backport from 80810f04f2de6bae6e394f52ad9cdd2189862f74.

Signed-off-by: Zheng Ruoqin <zhengrq.fnst at cn.fujitsu.com>
---
 ...etup-of-logging-log-domains-RhBug-1645897.patch | 73 ++++++++++++++++++++++
 .../createrepo-c/createrepo-c_git.bb               |  1 +
 2 files changed, 74 insertions(+)
 create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch

diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
new file mode 100644
index 0000000..6de9c05
--- /dev/null
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch
@@ -0,0 +1,73 @@
+From 80810f04f2de6bae6e394f52ad9cdd2189862f74 Mon Sep 17 00:00:00 2001
+From: Jaroslav Rohel <jrohel at redhat.com>
+Date: Fri, 9 Nov 2018 07:35:13 +0100
+Subject: [PATCH] Fix setup of logging (log domains) (RhBug:1645897)
+
+New debug messages were added into GLib library. These messages come
+from the "GLib" log domain and were not hidden in the standard and
+quiet mode of the application.
+This fix hides log messages regardless on source log domain.
+
+Upstream-Status: Backport
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst at cn.fujitsu.com>
+---
+ src/createrepo_shared.c | 19 ++++++-------------
+ src/misc.c              |  5 ++++-
+ 2 files changed, 10 insertions(+), 14 deletions(-)
+
+diff --git a/src/createrepo_shared.c b/src/createrepo_shared.c
+index 8a26787..7cb8ba8 100644
+--- a/src/createrepo_shared.c
++++ b/src/createrepo_shared.c
+@@ -270,24 +270,17 @@ cr_lock_repo(const gchar *repo_dir,
+ void
+ cr_setup_logging(gboolean quiet, gboolean verbose)
+ {
+-    g_log_set_default_handler (cr_log_fn, NULL);
+-
+     if (quiet) {
+         // Quiet mode
+-        GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
+-                                G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
+-        g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
+-        g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
++        GLogLevelFlags hidden_levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
++                                       G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
++        g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
+     } else if (verbose) {
+         // Verbose mode
+-        GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
+-                                G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
+-        g_log_set_handler(NULL, levels, cr_log_fn, NULL);
+-        g_log_set_handler("C_CREATEREPOLIB", levels, cr_log_fn, NULL);
++        g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(0));
+     } else {
+         // Standard mode
+-        GLogLevelFlags levels = G_LOG_LEVEL_DEBUG;
+-        g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
+-        g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
++        GLogLevelFlags hidden_levels = G_LOG_LEVEL_DEBUG;
++        g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
+     }
+ }
+diff --git a/src/misc.c b/src/misc.c
+index 9937480..9549a44 100644
+--- a/src/misc.c
++++ b/src/misc.c
+@@ -912,8 +912,11 @@ void
+ cr_log_fn(const gchar *log_domain,
+           GLogLevelFlags log_level,
+           const gchar *message,
+-          G_GNUC_UNUSED gpointer user_data)
++          gpointer user_data)
+ {
++    gint hidden_log_levels = GPOINTER_TO_INT(user_data);
++    if (log_level & hidden_log_levels)
++        return;
+     switch(log_level) {
+         case G_LOG_LEVEL_ERROR:
+             if (log_domain) g_printerr("%s: ", log_domain);
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
index 2960811..08766b3 100644
--- a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            file://0001-Correctly-install-the-shared-library.patch \
+           file://0001-Fix-setup-of-logging-log-domains-RhBug-1645897.patch \
            "
 
 PV = "0.11.1+git${SRCPV}"
-- 
2.7.4





More information about the Openembedded-core mailing list