Patchwork gconf: silence some spurious errors

login
register
mail settings
Submitter Ross Burton
Date April 19, 2013, 11:22 a.m.
Message ID <1366370577-16280-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/48567/
State Accepted
Commit 5460086c453d966500f692e19bd9a9d8353e03de
Headers show

Comments

Ross Burton - April 19, 2013, 11:22 a.m.
The postinstalls were producing errors like this:

  (gconftool-2.real:10095): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
  Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead

These are harmless but distracting, so take a patch from upstream to silence
them.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 .../gnome/gconf/unable-connect-dbus.patch          |   95 ++++++++++++++++++++
 meta/recipes-gnome/gnome/gconf_3.2.6.bb            |    1 +
 2 files changed, 96 insertions(+)
 create mode 100644 meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch

Patch

diff --git a/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch b/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch
new file mode 100644
index 0000000..f758a4b
--- /dev/null
+++ b/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch
@@ -0,0 +1,95 @@ 
+Fixes errors such as this in the rootfs generation:
+
+(gconftool-2.real:10095): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
+Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Mon, 15 Apr 2013 09:57:34 -0400
+Subject: [PATCH] dbus: Don't spew to console when unable to connect to dbus
+ daemon
+
+Instead pass the error up for the caller to decide what to do.
+
+This prevent untrappable warning messages from showing up at the
+console if gconftool --makefile-install-rule is called.
+---
+ gconf/gconf-dbus.c |   24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c
+index 5610fcf..048e3ea 100644
+--- a/gconf/gconf-dbus.c
++++ b/gconf/gconf-dbus.c
+@@ -105,7 +105,7 @@ static GHashTable     *engines_by_db = NULL;
+ static GHashTable     *engines_by_address = NULL;
+ static gboolean        dbus_disconnected = FALSE;
+ 
+-static gboolean     ensure_dbus_connection      (void);
++static gboolean     ensure_dbus_connection      (GError **error);
+ static gboolean     ensure_service              (gboolean          start_if_not_found,
+ 						 GError          **err);
+ static gboolean     ensure_database             (GConfEngine      *conf,
+@@ -383,7 +383,7 @@ gconf_engine_detach (GConfEngine *conf)
+ }
+ 
+ static gboolean
+-ensure_dbus_connection (void)
++ensure_dbus_connection (GError **err)
+ {
+   DBusError error;
+ 
+@@ -392,7 +392,9 @@ ensure_dbus_connection (void)
+ 
+   if (dbus_disconnected)
+     {
+-      g_warning ("The connection to DBus was broken. Can't reinitialize it.");
++      g_set_error (err, GCONF_ERROR,
++                   GCONF_ERROR_NO_SERVER,
++                   "The connection to DBus was broken. Can't reinitialize it.");
+       return FALSE;
+     }
+ 
+@@ -402,7 +404,10 @@ ensure_dbus_connection (void)
+   
+   if (!global_conn) 
+     {
+-      g_warning ("Client failed to connect to the D-BUS daemon:\n%s", error.message);
++      g_set_error (err, GCONF_ERROR,
++                   GCONF_ERROR_NO_SERVER,
++                   "Client failed to connect to the D-BUS daemon:\n%s",
++                   error.message);
+       
+       dbus_error_free (&error);
+       return FALSE;
+@@ -431,13 +436,8 @@ ensure_service (gboolean  start_if_not_found,
+ 
+   if (global_conn == NULL)
+     {
+-      if (!ensure_dbus_connection ())
+-	{
+-	  g_set_error (err, GCONF_ERROR,
+-		       GCONF_ERROR_NO_SERVER,
+-		       _("No D-BUS daemon running\n"));
+-	  return FALSE;
+-	}
++      if (!ensure_dbus_connection (err))
++        return FALSE;
+ 
+       g_assert (global_conn != NULL);
+     }
+@@ -2512,7 +2512,7 @@ gconf_ping_daemon (void)
+ {
+   if (global_conn == NULL)
+   {
+-    if (!ensure_dbus_connection ())
++    if (!ensure_dbus_connection (NULL))
+     {
+       return FALSE;
+     }
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index a245fa2..a1843d5 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -12,6 +12,7 @@  inherit gnomebase gtk-doc
 
 SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;name=archive \
            file://remove_plus_from_invalid_characters_list.patch \
+           file://unable-connect-dbus.patch \
 "
 
 SRC_URI[archive.md5sum] = "2b16996d0e4b112856ee5c59130e822c"