[arch-commits] Commit in lib32-gconf (8 files)

Maxime Gauduin alucryd at archlinux.org
Wed Aug 17 15:55:46 UTC 2016


    Date: Wednesday, August 17, 2016 @ 15:55:45
  Author: alucryd
Revision: 186901

archrelease: copy trunk to multilib-x86_64

Added:
  lib32-gconf/repos/
  lib32-gconf/repos/multilib-x86_64/
  lib32-gconf/repos/multilib-x86_64/01_xml-gettext-domain.patch
    (from rev 186900, lib32-gconf/trunk/01_xml-gettext-domain.patch)
  lib32-gconf/repos/multilib-x86_64/PKGBUILD
    (from rev 186900, lib32-gconf/trunk/PKGBUILD)
  lib32-gconf/repos/multilib-x86_64/dbus-dontspew.patch
    (from rev 186900, lib32-gconf/trunk/dbus-dontspew.patch)
  lib32-gconf/repos/multilib-x86_64/gconf-reload.patch
    (from rev 186900, lib32-gconf/trunk/gconf-reload.patch)
  lib32-gconf/repos/multilib-x86_64/gconf.install
    (from rev 186900, lib32-gconf/trunk/gconf.install)
  lib32-gconf/repos/multilib-x86_64/gsettings-data-convert-fix-invalid-schema-path.patch
    (from rev 186900, lib32-gconf/trunk/gsettings-data-convert-fix-invalid-schema-path.patch)

------------------------------------------------------+
 01_xml-gettext-domain.patch                          |  362 +++++++++++++++++
 PKGBUILD                                             |   67 +++
 dbus-dontspew.patch                                  |   86 ++++
 gconf-reload.patch                                   |   20 
 gconf.install                                        |   10 
 gsettings-data-convert-fix-invalid-schema-path.patch |   44 ++
 6 files changed, 589 insertions(+)

Copied: lib32-gconf/repos/multilib-x86_64/01_xml-gettext-domain.patch (from rev 186900, lib32-gconf/trunk/01_xml-gettext-domain.patch)
===================================================================
--- repos/multilib-x86_64/01_xml-gettext-domain.patch	                        (rev 0)
+++ repos/multilib-x86_64/01_xml-gettext-domain.patch	2016-08-17 15:55:45 UTC (rev 186901)
@@ -0,0 +1,362 @@
+# Description: Support calling gettext at runtime and putting the gettext domain into the .schemas file instead of replicating translations in /usr/share/gconf/schemas/*.schemas *and* /var/lib/gconf/defaults/%gconf-tree-$LANG.xml. This saves in the order of 90 MB uncompressed/10 MB compressed on hard disks.
+# Ubuntu: https://bugs.launchpad.net/bugs/123025
+# Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=568845
+--- 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;
+ };

Copied: lib32-gconf/repos/multilib-x86_64/PKGBUILD (from rev 186900, lib32-gconf/trunk/PKGBUILD)
===================================================================
--- repos/multilib-x86_64/PKGBUILD	                        (rev 0)
+++ repos/multilib-x86_64/PKGBUILD	2016-08-17 15:55:45 UTC (rev 186901)
@@ -0,0 +1,67 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd at archlinux.org>
+# Contributor: josephgbr <rafael.f.f1 at gmail.com>
+
+pkgname=lib32-gconf
+pkgver=3.2.6
+pkgrel=1
+pkgdesc='A configuration database system'
+arch=('x86_64')
+license=('LGPL')
+url='http://www.gnome.org'
+depends=('gconf' 'lib32-dbus-glib' 'lib32-glib2' 'lib32-glibc' 'lib32-libdbus'
+         'lib32-libldap' 'lib32-libxml2' 'lib32-polkit')
+makedepends=('gcc-multilib' 'gobject-introspection' 'intltool')
+install='gconf.install'
+source=("http://ftp.gnome.org/pub/gnome/sources/GConf/3.2/GConf-${pkgver}.tar.xz"
+        'gconf-reload.patch'
+        '01_xml-gettext-domain.patch'
+        'dbus-dontspew.patch'
+        'gsettings-data-convert-fix-invalid-schema-path.patch')
+sha256sums=('1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c'
+            '567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694'
+            'c883dec2b96978874a53700cfe7f26f24f8296767203e970bc6402b4b9945eb8'
+            'b490394b0f541ca92134478fa2235536bdb1ccd3b3200d5040dd458cec33bfe8'
+            '0f2057fbd20837091cbcc1e291bb64c9c6066534891a4ee010bbf5b304bd831d')
+
+prepare() {
+  cd GConf-${pkgver}
+
+  patch -Np1 -i ../gconf-reload.patch
+  patch -Np1 -i ../01_xml-gettext-domain.patch
+  patch -Np1 -i ../dbus-dontspew.patch
+  patch -Np1 -i ../gsettings-data-convert-fix-invalid-schema-path.patch
+  sed -i '1s|#!/usr/bin/env python$|&2|' gsettings/gsettings-schema-convert
+}
+
+build() {
+  cd GConf-${pkgver}
+
+  export CC='gcc -m32'
+  export CXX='g++ -m32'
+  export PKG_CONFIG_PATH='/usr/lib32/pkgconfig'
+
+  ./configure \
+    --prefix='/usr' \
+    --libdir='/usr/lib32' \
+    --libexecdir='/usr/lib32/GConf' \
+    --sysconfdir='/etc' \
+    --localstatedir='/var' \
+    --enable-defaults-service \
+    --disable-gtk-doc-html \
+    --disable-orbit \
+    --disable-static
+
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+  make pkglibdir=/usr/lib32/GConf
+}
+
+package() {
+  cd GConf-${pkgver}
+
+  make DESTDIR="${pkgdir}" install
+  rm -rf "${pkgdir}"/{etc,usr/{bin,include,share}}
+}
+
+# vim: ts=2 sw=2 et:

Copied: lib32-gconf/repos/multilib-x86_64/dbus-dontspew.patch (from rev 186900, lib32-gconf/trunk/dbus-dontspew.patch)
===================================================================
--- repos/multilib-x86_64/dbus-dontspew.patch	                        (rev 0)
+++ repos/multilib-x86_64/dbus-dontspew.patch	2016-08-17 15:55:45 UTC (rev 186901)
@@ -0,0 +1,86 @@
+From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+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.
+---
+ 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;
+     }
+-- 
+cgit v0.12
+

Copied: lib32-gconf/repos/multilib-x86_64/gconf-reload.patch (from rev 186900, lib32-gconf/trunk/gconf-reload.patch)
===================================================================
--- repos/multilib-x86_64/gconf-reload.patch	                        (rev 0)
+++ repos/multilib-x86_64/gconf-reload.patch	2016-08-17 15:55:45 UTC (rev 186901)
@@ -0,0 +1,20 @@
+--- GConf-2.16.0/gconf/gconftool.c.orig	2006-10-14 17:37:14.000000000 +0000
++++ GConf-2.16.0/gconf/gconftool.c	2006-10-14 17:39:27.000000000 +0000
+@@ -963,6 +963,8 @@ main (int argc, char** argv)
+       
+       gconf_engine_unref (conf);
+ 
++      g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL);
++
+       return retval;
+     }
+ 
+@@ -975,6 +977,8 @@ main (int argc, char** argv)
+       
+       gconf_engine_unref (conf);
+ 
++      g_spawn_command_line_sync ("/usr/bin/killall -q -TERM " GCONF_SERVERDIR "/" GCONFD, NULL, NULL, NULL, NULL);
++
+       return retval;
+     }
+ 

Copied: lib32-gconf/repos/multilib-x86_64/gconf.install (from rev 186900, lib32-gconf/trunk/gconf.install)
===================================================================
--- repos/multilib-x86_64/gconf.install	                        (rev 0)
+++ repos/multilib-x86_64/gconf.install	2016-08-17 15:55:45 UTC (rev 186901)
@@ -0,0 +1,10 @@
+post_install() {
+  ldconfig -r .
+}
+
+post_upgrade() {
+  ldconfig -r .
+  pkill /usr/lib32/GConf/gconfd-2 || return 0
+}
+
+# vim: ts=2 sw=2 et:

Copied: lib32-gconf/repos/multilib-x86_64/gsettings-data-convert-fix-invalid-schema-path.patch (from rev 186900, lib32-gconf/trunk/gsettings-data-convert-fix-invalid-schema-path.patch)
===================================================================
--- repos/multilib-x86_64/gsettings-data-convert-fix-invalid-schema-path.patch	                        (rev 0)
+++ repos/multilib-x86_64/gsettings-data-convert-fix-invalid-schema-path.patch	2016-08-17 15:55:45 UTC (rev 186901)
@@ -0,0 +1,44 @@
+From 405f865c07261a95c8c9a09a84ab679c6dd0a330 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters at verbum.org>
+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
+---
+ gsettings/gsettings-data-convert.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+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.12
+



More information about the arch-commits mailing list