Update to 3.1.3

epel9
Ray Strode 14 years ago
parent 58752f4239
commit 3cd932d08a

1
.gitignore vendored

@ -6,3 +6,4 @@ GConf-2.31.7.tar.bz2
/GConf-2.32.2.tar.bz2
/GConf-2.32.3.tar.bz2
/GConf-2.32.4.tar.xz
/GConf-3.1.3.tar.xz

@ -1,47 +0,0 @@
From 67a2478f610be4beff34258a5a5b36243415b069 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Tue, 19 Jan 2010 20:36:03 -0500
Subject: [PATCH] Make the defaults mechanism find the right polkit action
Due to a thinko in the code, the mechanism was always using the
default privileges.
---
defaults/gconf-defaults.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/defaults/gconf-defaults.c b/defaults/gconf-defaults.c
index 11a38ad..b84c632 100644
--- a/defaults/gconf-defaults.c
+++ b/defaults/gconf-defaults.c
@@ -286,8 +286,8 @@ polkit_action_for_gconf_path (GConfDefaults *mechanism,
PolkitActionDescription *action_description;
const gchar *annotation;
+ g_debug ("finding action for path '%s'", path);
prefix = g_strdup (path);
-
while (1) {
for (l = action_descriptions; l; l = l->next) {
action_description = l->data;
@@ -295,8 +295,8 @@ polkit_action_for_gconf_path (GConfDefaults *mechanism,
annotation = polkit_action_description_get_annotation (action_description, annotation_key);
if (g_strcmp0 (prefix, annotation) == 0) {
action = polkit_action_description_get_action_id (action_description);
- g_debug ("action for path '%s': '%s'\n", action, path);
- break;
+ g_debug ("action for prefix '%s': '%s'\n", prefix, action);
+ goto found;
}
}
@@ -310,6 +310,7 @@ polkit_action_for_gconf_path (GConfDefaults *mechanism,
*p = 0;
}
+ found:
g_free (prefix);
return action;
--
1.6.6

@ -1,97 +0,0 @@
From 33c73a785c79ecef125a53af29581d09f9ab3733 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Mon, 1 Feb 2010 13:02:11 -0500
Subject: [PATCH] [gconfd] Remove (worse than) useless signal handlers for SEGV, FPE, etc
Modern operating systems like Fedora tend to include system-wide crash
handlers (like ABRT) which operate by processing unhandled crashes
(signals such as SIGSEGV). By catching SIGSEGV but actually doing
nothing with it, GConf is breaking these crash handlers.
Delete all of the handlers for signals like SIGFPE, SIGSEGV which can't
be treated as recoverable.
https://bugzilla.gnome.org/show_bug.cgi?id=608705
---
gconf/gconfd.c | 37 -------------------------------------
1 files changed, 0 insertions(+), 37 deletions(-)
diff --git a/gconf/gconfd.c b/gconf/gconfd.c
index fe5d18a..38a8423 100644
--- a/gconf/gconfd.c
+++ b/gconf/gconfd.c
@@ -119,8 +119,6 @@ static GConfDatabase* obtain_database (GSList *addresses,
static void drop_old_databases (void);
static gboolean no_databases_in_use (void);
-static void gconf_handle_segv (int signum);
-
/*
* Flag indicating that we are shutting down, so return errors
* on any attempted operation. We do this instead of unregistering with
@@ -431,22 +429,6 @@ signal_handler (int signo)
++in_fatal;
switch (signo) {
- /* Fast cleanup only */
- case SIGSEGV:
-#ifdef SIGBUS
- case SIGBUS:
-#endif
- case SIGILL:
- enter_shutdown ();
-#ifndef G_OS_WIN32
- if (g_getenv ("DISPLAY"))
- gconf_handle_segv (signo);
-#else
- gconf_handle_segv (signo);
-#endif
- abort ();
- break;
-
case SIGFPE:
#ifdef SIGPIPE
case SIGPIPE:
@@ -844,28 +826,16 @@ main(int argc, char** argv)
act.sa_mask = empty_mask;
act.sa_flags = 0;
sigaction (SIGTERM, &act, NULL);
- sigaction (SIGILL, &act, NULL);
- sigaction (SIGBUS, &act, NULL);
- sigaction (SIGFPE, &act, NULL);
sigaction (SIGHUP, &act, NULL);
- sigaction (SIGSEGV, &act, NULL);
- sigaction (SIGABRT, &act, NULL);
sigaction (SIGUSR1, &act, NULL);
act.sa_handler = SIG_IGN;
sigaction (SIGINT, &act, NULL);
#else
signal (SIGTERM, signal_handler);
- signal (SIGILL, signal_handler);
-#ifdef SIGBUS
- signal (SIGBUS, signal_handler);
-#endif
- signal (SIGFPE, signal_handler);
#ifdef SIGHUP
signal (SIGHUP, signal_handler);
#endif
- signal (SIGSEGV, signal_handler);
- signal (SIGABRT, signal_handler);
#ifdef SIGUSR1
signal (SIGUSR1, signal_handler);
#endif
@@ -2710,10 +2680,3 @@ client_count (void)
return g_hash_table_size (client_table);
}
-
-static void
-gconf_handle_segv (int signum)
-{
- return;
-}
-
--
1.6.6

@ -1,11 +0,0 @@
--- GConf-2.18.0.1/gconf/gconftool.c.reload 2007-03-02 17:10:13.000000000 -0500
+++ GConf-2.18.0.1/gconf/gconftool.c 2007-03-13 02:21:29.000000000 -0400
@@ -3780,6 +3780,8 @@
++args;
}
+ g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL);
+
retval |= do_sync (conf);
return retval;
}

@ -1,360 +0,0 @@
diff -up GConf-2.26.0/backends/markup-tree.c.gettext GConf-2.26.0/backends/markup-tree.c
--- GConf-2.26.0/backends/markup-tree.c.gettext 2009-04-26 23:33:05.258484987 -0400
+++ GConf-2.26.0/backends/markup-tree.c 2009-04-26 23:34:25.026700526 -0400
@@ -52,6 +52,7 @@ struct _MarkupEntry
char *schema_name;
char *mod_user;
GTime mod_time;
+ const char *gettext_domain;
};
static LocalSchemaInfo* local_schema_info_new (void);
@@ -1593,6 +1594,8 @@ markup_entry_set_value (MarkupEntry
gconf_schema_get_type (schema));
gconf_schema_set_owner (current_schema,
gconf_schema_get_owner (schema));
+ gconf_schema_set_gettext_domain (current_schema,
+ gconf_schema_get_gettext_domain (schema));
}
/* Update mod time */
@@ -1805,6 +1808,8 @@ markup_entry_get_value (MarkupEntry *ent
else if (c_local_schema && c_local_schema->long_desc)
gconf_schema_set_long_desc (schema, c_local_schema->long_desc);
+ gconf_schema_set_gettext_domain (schema, entry->gettext_domain);
+
return retval;
}
}
@@ -2339,8 +2344,9 @@ parse_value_element (GMarkupParseContext
const char *ltype;
const char *list_type;
const char *owner;
+
GConfValueType vtype;
- const char *dummy1, *dummy2, *dummy3, *dummy4;
+ const char *dummy1, *dummy2, *dummy3, *dummy4, *dummy5;
#if 0
g_assert (ELEMENT_IS ("entry") ||
@@ -2377,6 +2383,7 @@ parse_value_element (GMarkupParseContext
"muser", &dummy2,
"mtime", &dummy3,
"schema", &dummy4,
+ "gettext_domain", &dummy5,
NULL))
return;
@@ -2683,6 +2690,7 @@ parse_entry_element (GMarkupParseContext
const char *mtime;
const char *schema;
const char *type;
+ const char *gettext_domain;
const char *dummy1, *dummy2, *dummy3, *dummy4;
const char *dummy5, *dummy6, *dummy7;
GConfValue *value;
@@ -2693,6 +2701,7 @@ parse_entry_element (GMarkupParseContext
mtime = NULL;
schema = NULL;
type = NULL;
+ gettext_domain = NULL;
if (!locate_attributes (context, element_name, attribute_names, attribute_values,
error,
@@ -2701,6 +2710,7 @@ parse_entry_element (GMarkupParseContext
"mtime", &mtime,
"schema", &schema,
"type", &type,
+ "gettext_domain", &gettext_domain,
/* These are allowed but we don't use them until
* parse_value_element
@@ -2768,6 +2778,9 @@ parse_entry_element (GMarkupParseContext
*/
if (schema)
entry->schema_name = g_strdup (schema);
+
+ if (gettext_domain)
+ entry->gettext_domain = g_intern_string (gettext_domain);
}
else
{
@@ -3716,6 +3729,7 @@ write_value_element (GConfValue *value,
GConfSchema *schema;
GConfValueType stype;
const char *owner;
+ const char *gettext_domain;
schema = gconf_value_get_schema (value);
@@ -3741,6 +3755,23 @@ write_value_element (GConfValue *value,
g_free (s);
}
+
+ gettext_domain = gconf_schema_get_gettext_domain (schema);
+
+ if (gettext_domain)
+ {
+ char *s;
+
+ s = g_markup_escape_text (gettext_domain, -1);
+
+ if (fprintf (f, " gettext_domain=\"%s\"", s) < 0)
+ {
+ g_free (s);
+ return FALSE;
+ }
+
+ g_free (s);
+ }
if (stype == GCONF_VALUE_LIST)
{
diff -up GConf-2.26.0/doc/gconf-1.0.dtd.gettext GConf-2.26.0/doc/gconf-1.0.dtd
--- GConf-2.26.0/doc/gconf-1.0.dtd.gettext 2009-04-26 23:33:17.240736103 -0400
+++ GConf-2.26.0/doc/gconf-1.0.dtd 2009-04-26 23:34:25.027700384 -0400
@@ -7,7 +7,7 @@
<!-- A single schema. What I am trying to say is "this set of
elements, in any order". Duplicate elements (apart from <locale>) are
not allowed). -->
-<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*)*>
+<!ELEMENT schema (key|applyto*|owner?|type|(list_type|(car_type,cdr_type))?|default?|locale*|gettext_domain?)*>
<!-- The key for this schema (e.g. /schemas/apps/foo/bar) -->
<!ELEMENT key (#PCDATA)>
diff -up GConf-2.26.0/gconf/gconf-internals.c.gettext GConf-2.26.0/gconf/gconf-internals.c
--- GConf-2.26.0/gconf/gconf-internals.c.gettext 2009-04-26 23:34:10.994700035 -0400
+++ GConf-2.26.0/gconf/gconf-internals.c 2009-04-26 23:34:53.767450191 -0400
@@ -513,6 +513,7 @@ gconf_fill_corba_schema_from_gconf_schem
cs->short_desc = CORBA_string_dup (gconf_schema_get_short_desc (sc) ? gconf_schema_get_short_desc (sc) : "");
cs->long_desc = CORBA_string_dup (gconf_schema_get_long_desc (sc) ? gconf_schema_get_long_desc (sc) : "");
cs->owner = CORBA_string_dup (gconf_schema_get_owner (sc) ? gconf_schema_get_owner (sc) : "");
+ cs->gettext_domain = CORBA_string_dup (gconf_schema_get_gettext_domain (sc) ? gconf_schema_get_gettext_domain (sc) : "");
{
gchar* encoded;
@@ -600,6 +601,14 @@ gconf_schema_from_corba_schema(const Con
gconf_schema_set_owner(sc, cs->owner);
}
+ if (*cs->gettext_domain != '\0')
+ {
+ if (!g_utf8_validate (cs->gettext_domain, -1, NULL))
+ gconf_log (GCL_ERR, _("Invalid UTF-8 in gettext domain for schema"));
+ else
+ gconf_schema_set_gettext_domain(sc, cs->gettext_domain);
+ }
+
{
GConfValue* val;
diff -up GConf-2.26.0/gconf/gconf-schema.c.gettext GConf-2.26.0/gconf/gconf-schema.c
--- GConf-2.26.0/gconf/gconf-schema.c.gettext 2009-04-26 23:33:26.787483545 -0400
+++ GConf-2.26.0/gconf/gconf-schema.c 2009-04-26 23:35:54.240450142 -0400
@@ -32,9 +32,10 @@ typedef struct {
GConfValueType car_type; /* Pair car type of the described entry */
GConfValueType cdr_type; /* Pair cdr type of the described entry */
gchar* locale; /* Schema locale */
- gchar* owner; /* Name of creating application */
+ const gchar* owner; /* Name of creating application */
gchar* short_desc; /* 40 char or less description, no newlines */
gchar* long_desc; /* could be a paragraph or so */
+ const gchar* gettext_domain; /* description gettext domain */
GConfValue* default_value; /* Default value of the key */
} GConfRealSchema;
@@ -63,7 +64,6 @@ gconf_schema_free (GConfSchema* sc)
g_free (real->locale);
g_free (real->short_desc);
g_free (real->long_desc);
- g_free (real->owner);
if (real->default_value)
gconf_value_free (real->default_value);
@@ -91,7 +91,9 @@ gconf_schema_copy (const GConfSchema* sc
dest->long_desc = g_strdup (real->long_desc);
- dest->owner = g_strdup (real->owner);
+ dest->gettext_domain = real->gettext_domain;
+
+ dest->owner = real->owner;
dest->default_value = real->default_value ? gconf_value_copy (real->default_value) : NULL;
@@ -136,6 +138,17 @@ gconf_schema_set_locale (GConfSchema* sc
REAL_SCHEMA (sc)->locale = NULL;
}
+void
+gconf_schema_set_gettext_domain (GConfSchema* sc, const gchar* domain)
+{
+ g_return_if_fail (domain == NULL || g_utf8_validate (domain, -1, NULL));
+
+ if (domain)
+ REAL_SCHEMA (sc)->gettext_domain = g_intern_string (domain);
+ else
+ REAL_SCHEMA (sc)->gettext_domain = NULL;
+}
+
void
gconf_schema_set_short_desc (GConfSchema* sc, const gchar* desc)
{
@@ -169,11 +182,8 @@ gconf_schema_set_owner (GConfSchema* sc,
{
g_return_if_fail (owner == NULL || g_utf8_validate (owner, -1, NULL));
- if (REAL_SCHEMA (sc)->owner)
- g_free (REAL_SCHEMA (sc)->owner);
-
if (owner)
- REAL_SCHEMA (sc)->owner = g_strdup (owner);
+ REAL_SCHEMA (sc)->owner = g_intern_string (owner);
else
REAL_SCHEMA (sc)->owner = NULL;
}
@@ -228,6 +238,14 @@ gconf_schema_validate (const GConfSchema
return FALSE;
}
+ if (real->gettext_domain && !g_utf8_validate (real->gettext_domain, -1, NULL))
+ {
+ g_set_error (err, GCONF_ERROR,
+ GCONF_ERROR_FAILED,
+ _("Schema contains invalid UTF-8"));
+ return FALSE;
+ }
+
if (real->owner && !g_utf8_validate (real->owner, -1, NULL))
{
g_set_error (err, GCONF_ERROR,
@@ -299,11 +317,32 @@ gconf_schema_get_locale (const GConfSche
}
const char*
+gconf_schema_get_gettext_domain (const GConfSchema *schema)
+{
+ g_return_val_if_fail (schema != NULL, NULL);
+
+ return REAL_SCHEMA (schema)->gettext_domain;
+}
+
+static inline const char *
+schema_translate (const GConfSchema *schema,
+ const char *string)
+{
+ if (REAL_SCHEMA (schema)->gettext_domain)
+ {
+ bind_textdomain_codeset (REAL_SCHEMA (schema)->gettext_domain, "UTF-8");
+ return g_dgettext(REAL_SCHEMA (schema)->gettext_domain, string);
+ }
+ else
+ return string;
+}
+
+const char*
gconf_schema_get_short_desc (const GConfSchema *schema)
{
g_return_val_if_fail (schema != NULL, NULL);
- return REAL_SCHEMA (schema)->short_desc;
+ return schema_translate (schema, REAL_SCHEMA (schema)->short_desc);
}
const char*
@@ -311,7 +350,7 @@ gconf_schema_get_long_desc (const GConfS
{
g_return_val_if_fail (schema != NULL, NULL);
- return REAL_SCHEMA (schema)->long_desc;
+ return schema_translate (schema, REAL_SCHEMA (schema)->long_desc);
}
const char*
diff -up GConf-2.26.0/gconf/gconf-schema.h.gettext GConf-2.26.0/gconf/gconf-schema.h
--- GConf-2.26.0/gconf/gconf-schema.h.gettext 2009-04-26 23:33:33.979744088 -0400
+++ GConf-2.26.0/gconf/gconf-schema.h 2009-04-26 23:34:25.030737043 -0400
@@ -48,6 +48,8 @@ void gconf_schema_set_cdr_type
GConfValueType type);
void gconf_schema_set_locale (GConfSchema *sc,
const gchar *locale);
+void gconf_schema_set_gettext_domain (GConfSchema *sc,
+ const gchar *domain);
void gconf_schema_set_short_desc (GConfSchema *sc,
const gchar *desc);
void gconf_schema_set_long_desc (GConfSchema *sc,
@@ -65,6 +67,7 @@ GConfValueType gconf_schema_get_list_typ
GConfValueType gconf_schema_get_car_type (const GConfSchema *schema);
GConfValueType gconf_schema_get_cdr_type (const GConfSchema *schema);
const char* gconf_schema_get_locale (const GConfSchema *schema);
+const char* gconf_schema_get_gettext_domain(const GConfSchema *schema);
const char* gconf_schema_get_short_desc (const GConfSchema *schema);
const char* gconf_schema_get_long_desc (const GConfSchema *schema);
const char* gconf_schema_get_owner (const GConfSchema *schema);
diff -up GConf-2.26.0/gconf/gconftool.c.gettext GConf-2.26.0/gconf/gconftool.c
--- GConf-2.26.0/gconf/gconftool.c.gettext 2009-04-26 23:33:41.907451190 -0400
+++ GConf-2.26.0/gconf/gconftool.c 2009-04-26 23:34:25.034736752 -0400
@@ -3295,6 +3295,7 @@ struct _SchemaInfo {
GConfValueType cdr_type;
GConfValue* global_default;
GHashTable* hash;
+ gchar* gettext_domain;
};
static int
@@ -3547,6 +3548,15 @@ extract_global_info(xmlNodePtr node,
else
g_printerr (_("WARNING: empty <applyto> node"));
}
+ else if (strcmp((char *)iter->name, "gettext_domain") == 0)
+ {
+ tmp = (char *)xmlNodeGetContent(iter);
+ if (tmp)
+ {
+ info->gettext_domain = g_strdup(tmp);
+ xmlFree(tmp);
+ }
+ }
else
g_printerr (_("WARNING: node <%s> not understood below <schema>\n"),
iter->name);
@@ -3636,6 +3646,9 @@ process_locale_info(xmlNodePtr node, Sch
if (info->owner != NULL)
gconf_schema_set_owner(schema, info->owner);
+ if (info->gettext_domain != NULL)
+ gconf_schema_set_gettext_domain(schema, info->gettext_domain);
+
xmlFree(name);
/* Locale-specific info */
@@ -3765,6 +3778,7 @@ get_schema_from_xml(xmlNodePtr node, gch
info.apply_to = NULL;
info.owner = NULL;
info.global_default = NULL;
+ info.gettext_domain = NULL;
info.hash = g_hash_table_new(g_str_hash, g_str_equal);
extract_global_info(node, &info);
@@ -3801,6 +3815,8 @@ get_schema_from_xml(xmlNodePtr node, gch
; /* nothing */
else if (strcmp((char *)iter->name, "applyto") == 0)
; /* nothing */
+ else if (strcmp((char *)iter->name, "gettext_domain") == 0)
+ ; /* nothing */
else if (strcmp((char *)iter->name, "locale") == 0)
{
process_locale_info(iter, &info);
diff -up GConf-2.26.0/gconf/GConfX.idl.gettext GConf-2.26.0/gconf/GConfX.idl
--- GConf-2.26.0/gconf/GConfX.idl.gettext 2009-04-26 23:33:58.457483190 -0400
+++ GConf-2.26.0/gconf/GConfX.idl 2009-04-26 23:34:53.764448732 -0400
@@ -16,6 +16,7 @@ struct ConfigSchema {
string short_desc;
string long_desc;
string owner;
+ string gettext_domain;
// Work around lack of recursive data types
string encoded_default_value;
};

@ -1,35 +0,0 @@
diff -up GConf-2.31.2/gsettings/gsettings-data-convert.desktop.settings-migration GConf-2.31.2/gsettings/gsettings-data-convert.desktop
--- GConf-2.31.2/gsettings/gsettings-data-convert.desktop.settings-migration 2010-05-21 19:19:16.420451458 -0400
+++ GConf-2.31.2/gsettings/gsettings-data-convert.desktop 2010-05-21 19:32:33.095449226 -0400
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=GSettings Data Conversion
+Comment=Migrates user settings from GConf to dconf
+Exec=gsettings-data-convert
+Terminal=false
+Type=Application
+OnlyShowIn=GNOME;
+X-GNOME-Autostart-Phase=Initialization
diff -up GConf-2.31.2/gsettings/Makefile.am.settings-migration GConf-2.31.2/gsettings/Makefile.am
--- GConf-2.31.2/gsettings/Makefile.am.settings-migration 2010-04-20 19:47:00.000000000 -0400
+++ GConf-2.31.2/gsettings/Makefile.am 2010-05-21 19:19:16.422449991 -0400
@@ -35,6 +35,9 @@ gsettings_data_convert_LDADD =
$(GSETTINGS_LIBS) \
$(NULL)
+autostartdir = $(sysconfdir)/xdg/autostart
+autostart_DATA = gsettings-data-convert.desktop
+
man_MANS = \
gsettings-data-convert.1 \
$(NULL)
@@ -42,7 +45,7 @@ man_MANS = \
gsettings-data-convert.1 : gsettings-data-convert.xml
xsltproc -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-EXTRA_DIST = gsettings-data-convert.xml gsettings-data-convert.1
+EXTRA_DIST = gsettings-data-convert.xml gsettings-data-convert.1 gsettings-data-convert.desktop
dist-hook-local: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \

@ -1,32 +0,0 @@
--- GConf-2.14.0/gconf/gconfd.c.timeout 2006-09-18 12:19:24.000000000 -0400
+++ GConf-2.14.0/gconf/gconfd.c 2006-09-18 12:21:30.000000000 -0400
@@ -1151,18 +1151,20 @@
static gboolean
no_databases_in_use (void)
{
- /* Only the default database still open, and
- * it has no listeners
- */
+ GList *l;
- if (db_list == NULL)
- return TRUE;
+ for (l = db_list; l; l = l->next)
+ {
+ GConfDatabase *db = l->data;
- if (db_list->next == NULL &&
- db_list->data == default_db)
- return gconf_listeners_count (default_db->listeners) == 0;
+ if (gconf_listeners_count (db->listeners) > 0)
+ return FALSE;
- return FALSE;
+ if (db->sync_timeout || db->sync_idle)
+ return FALSE;
+ }
+
+ return TRUE;
}
void

@ -6,18 +6,17 @@
Summary: A process-transparent configuration system
Name: GConf2
Version: 2.32.4
Version: 3.1.3
Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Base
#VCS: git:git://git.gnome.org/gconf
Source0: http://download.gnome.org/sources/GConf/2.32/GConf-%{version}.tar.xz
Source0: http://download.gnome.org/sources/GConf/3.1/GConf-%{version}.tar.xz
Source1: macros.gconf2
URL: http://projects.gnome.org/gconf/
BuildRequires: libxml2-devel >= %{libxml2_version}
BuildRequires: libxslt-devel
BuildRequires: ORBit2-devel >= %{orbit2_version}
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: gtk3-devel >= 3.0.0
BuildRequires: gtk-doc >= 0.9
@ -34,10 +33,6 @@ Requires: dbus
Requires: /usr/bin/killall
Conflicts: GConf2-dbus
Patch0: GConf-2.18.0.1-reload.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=568845
Patch1: GConf-gettext.patch
%description
GConf is a process-transparent configuration database API used to
store user preferences. It has pluggable backends and features to
@ -71,11 +66,9 @@ which require GTK+.
%prep
%setup -q -n GConf-%{version}
%patch0 -p1 -b .reload
%patch1 -p1 -b .gettext
%build
%configure --disable-static --enable-defaults-service --with-gtk=3.0
%configure --disable-static --enable-defaults-service --disable-orbit --with-gtk=3.0
# drop unneeded direct library deps with --as-needed
# libtool doesn't make this easy, so we do it the hard way
@ -166,6 +159,11 @@ fi
%doc %{_mandir}/man1/gsettings-schema-convert.1*
%changelog
* Fri Jul 01 2011 Ray Strode <rstrode@redhat.com> 3.1.3-1
- Update to 3.1.3
- Remove orbit dependency
- drop unupstreamed patches judiciously
* Fri Jun 17 2011 Tomas Bzatek <tbzatek@redhat.com> - 2.32.4-1
- Update to 2.32.4

@ -1,82 +0,0 @@
diff -up GConf-2.25.2/backends/markup-tree.c.less-work GConf-2.25.2/backends/markup-tree.c
--- GConf-2.25.2/backends/markup-tree.c.less-work 2009-02-16 19:15:19.000000000 -0500
+++ GConf-2.25.2/backends/markup-tree.c 2009-03-03 23:14:07.741320798 -0500
@@ -2167,51 +2167,40 @@ locate_attributes (GMarkupParseContext *
retval = TRUE;
- i = 0;
- while (attribute_names[i])
+ for (i = 0; attribute_names[i]; i++)
{
int j;
- gboolean found;
- found = FALSE;
- j = 0;
- while (j < n_attrs)
+ for (j = 0; j < n_attrs; j++)
{
+ /* already matched */
+ if (attrs[j].name == NULL)
+ continue;
+
if (strcmp (attrs[j].name, attribute_names[i]) == 0)
{
retloc = attrs[j].retloc;
+ attrs[j].name = NULL;
- if (*retloc != NULL)
- {
- set_error (error, context,
- GCONF_ERROR_PARSE_ERROR,
- _("Attribute \"%s\" repeated twice on the same <%s> element"),
- attrs[j].name, element_name);
- retval = FALSE;
- goto out;
- }
+ /* if this fails we passed the same retloc twice */
+ g_assert (*retloc == NULL);
*retloc = attribute_values[i];
- found = TRUE;
+ break;
}
-
- ++j;
}
- if (!found)
+ if (j >= n_attrs)
{
set_error (error, context,
GCONF_ERROR_PARSE_ERROR,
- _("Attribute \"%s\" is invalid on <%s> element in this context"),
+ _("Attribute \"%s\" is invalid, or duplicated on <%s> element in this context"),
attribute_names[i], element_name);
retval = FALSE;
- goto out;
+ break;
}
-
- ++i;
}
- out:
return retval;
}
@@ -3494,10 +3483,9 @@ all_whitespace (const char *text,
while (p != end)
{
- if (!g_ascii_isspace (*p))
- return FALSE;
-
- p = g_utf8_next_char (p);
+ if (G_UNLIKELY (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\r'))
+ return FALSE;
+ p++;
}
return TRUE;

@ -1,22 +0,0 @@
commit 60e77f638c6bf3fcc147cfabde0384c31a5c797d
Author: Matthew Garrett <mjg@redhat.com>
Date: Tue Jun 29 15:29:26 2010 -0400
Realloc the correct amount of memory
Pointers are more than a byte long - make sure that we realloc enough space
to fit another one.
diff --git a/gsettings/gsettings-data-convert.c b/gsettings/gsettings-data-convert.c
index d61c4be..ea9fe21 100644
--- a/gsettings/gsettings-data-convert.c
+++ b/gsettings/gsettings-data-convert.c
@@ -449,7 +449,7 @@ main (int argc, char *argv[])
/* Add the the file to the converted list */
len = g_strv_length (converted);
- converted = g_realloc (converted, len + 1);
+ converted = g_realloc (converted, (len + 2) * sizeof(gchar *));
converted[len] = g_strdup (name);
converted[len + 1] = NULL;
}

@ -1,49 +0,0 @@
diff -up GConf-2.28.0/gconf/gconf.c.no-access GConf-2.28.0/gconf/gconf.c
--- GConf-2.28.0/gconf/gconf.c.no-access 2009-12-14 14:05:28.356082892 -0500
+++ GConf-2.28.0/gconf/gconf.c 2009-12-14 14:06:57.345056432 -0500
@@ -511,6 +511,7 @@ gconf_engine_get_local (const gchar
{
GConfEngine* conf;
GConfSource* source;
+ GConfSources* sources;
g_return_val_if_fail(address != NULL, NULL);
g_return_val_if_fail(err == NULL || *err == NULL, NULL);
@@ -519,10 +520,14 @@ gconf_engine_get_local (const gchar
if (source == NULL)
return NULL;
-
+
+ sources = gconf_sources_new_from_source(source);
+ if (sources == NULL)
+ return NULL;
+
conf = gconf_engine_blank(FALSE);
- conf->local_sources = gconf_sources_new_from_source(source);
+ conf->local_sources = sources;
g_assert (gconf_engine_is_local (conf));
@@ -534,13 +539,19 @@ gconf_engine_get_local_for_addresses (GS
GError **err)
{
GConfEngine *conf;
+ GConfSources* sources;
g_return_val_if_fail (addresses != NULL, NULL);
g_return_val_if_fail (err == NULL || *err == NULL, NULL);
+ sources = gconf_sources_new_from_addresses (addresses, err);
+
+ if (sources == NULL)
+ return NULL;
+
conf = gconf_engine_blank (FALSE);
- conf->local_sources = gconf_sources_new_from_addresses (addresses, err);
+ conf->local_sources = sources;
g_assert (gconf_engine_is_local (conf));

File diff suppressed because it is too large Load Diff

@ -1 +1 @@
083db5086d4a5a469e0e3b77847d9d8e GConf-2.32.4.tar.xz
f2d05e94704c1dcfb4a9a158b86f07a6 GConf-3.1.3.tar.xz

Loading…
Cancel
Save