pacho 14/04/05 07:48:52
Added: gconf-3.2.6-mconvert-crasher.patch
gconf-3.2.6-gsettings-data-convert-paths.patch
gconf-3.2.6-spew-console-error.patch
Log:
gtk is not really needed (#505444 by Rafal Muzylo), drop orbit as it's dead
for ages, nothing needs it in the tree and we really want people to not use
that and, instead, use dbus for GConf's IPC. Also apply patches from upstream
master branch. Drop old.
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key
A188FBD4)
Revision Changes Path
1.1 gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch?rev=1.1&content-type=text/plain
Index: gconf-3.2.6-mconvert-crasher.patch
===================================================================
>From 98ff7acca7595f508b094506195aeffaf2e8b74c Mon Sep 17 00:00:00 2001
From: Stefan Sauer <[email protected]>
Date: Wed, 23 Jan 2013 08:11:18 +0100
Subject: mconvert: enable recursive scheme lookup and fix a crasher
The recursive scheme lookup is needed to scan the whole settings path. The crash
would happen in the case of a misconfiguration (e.g. building gconf from source
and running uninstalled while the configure settings don't match the one used to
create the installed package).
diff --git a/gsettings/gsettings-data-convert.c
b/gsettings/gsettings-data-convert.c
index a8af942..9b2d1d0 100644
--- a/gsettings/gsettings-data-convert.c
+++ b/gsettings/gsettings-data-convert.c
@@ -22,6 +22,7 @@
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
@@ -90,6 +91,10 @@ get_writable_client (void)
GSList *addresses;
addresses = get_writable_source_path ();
+ if (!addresses) {
+ g_printf("No writable gconf locations found\n");
+ exit (1);
+ }
engine = gconf_engine_get_local_for_addresses (addresses, NULL);
gconf_address_list_free (addresses);
@@ -155,7 +160,7 @@ handle_file (const gchar *filename)
schema_path = g_strsplit (groups[i], ":", 2);
- schema = g_settings_schema_source_lookup (source, schema_path[0], FALSE);
+ schema = g_settings_schema_source_lookup (source, schema_path[0], TRUE);
if (schema == NULL)
{
if (verbose)
--
cgit v0.10.1
1.1
gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch?rev=1.1&content-type=text/plain
Index: gconf-3.2.6-gsettings-data-convert-paths.patch
===================================================================
>From 405f865c07261a95c8c9a09a84ab679c6dd0a330 Mon Sep 17 00:00:00 2001
From: Colin Walters <[email protected]>
Date: Thu, 24 Oct 2013 16:27:24 -0400
Subject: gsettings-data-convert: Warn (and fix) invalid schema paths
See https://bugzilla.gnome.org/show_bug.cgi?id=704802
https://bugzilla.gnome.org/show_bug.cgi?id=710836
diff --git a/gsettings/gsettings-data-convert.c
b/gsettings/gsettings-data-convert.c
index 9b2d1d0..160ed41 100644
--- a/gsettings/gsettings-data-convert.c
+++ b/gsettings/gsettings-data-convert.c
@@ -182,7 +182,23 @@ handle_file (const gchar *filename)
}
if (schema_path[1] != NULL)
- settings = g_settings_new_with_path (schema_path[0], schema_path[1]);
+ {
+ char *compat_path_alloced = NULL;
+ char *compat_path;
+ /* Work around broken .convert files:
+ https://bugzilla.gnome.org/show_bug.cgi?id=704802
+ */
+ if (!g_str_has_suffix (schema_path[1], "/"))
+ {
+ g_warning ("Schema file '%s' has missing trailing / in '%s'",
+ filename, schema_path[1]);
+ compat_path = compat_path_alloced = g_strconcat (schema_path[1],
"/", NULL);
+ }
+ else
+ compat_path = schema_path[1];
+ settings = g_settings_new_with_path (schema_path[0], compat_path);
+ g_free (compat_path_alloced);
+ }
else
settings = g_settings_new (schema_path[0]);
--
cgit v0.10.1
1.1 gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch
file :
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch?rev=1.1&view=markup
plain:
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch?rev=1.1&content-type=text/plain
Index: gconf-3.2.6-spew-console-error.patch
===================================================================
>From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
From: Ray Strode <[email protected]>
Date: Mon, 15 Apr 2013 09:57:34 -0400
Subject: 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.
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;
}
--
cgit v0.10.1