Date: Monday, August 8, 2016 @ 22:26:16
  Author: jgc
Revision: 273520

upgpkg: gconf 3.2.6-5

Add upstream patches from master branch, remove gio-querymodules from .install 
file

Added:
  gconf/trunk/dbus-dontspew.patch
  gconf/trunk/gsettings-data-convert-fix-invalid-schema-path.patch
Modified:
  gconf/trunk/PKGBUILD
  gconf/trunk/gconf.install

------------------------------------------------------+
 PKGBUILD                                             |   16 ++-
 dbus-dontspew.patch                                  |   86 +++++++++++++++++
 gconf.install                                        |    6 -
 gsettings-data-convert-fix-invalid-schema-path.patch |   44 ++++++++
 4 files changed, 143 insertions(+), 9 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2016-08-08 20:32:59 UTC (rev 273519)
+++ PKGBUILD    2016-08-08 22:26:16 UTC (rev 273520)
@@ -3,7 +3,7 @@
 
 pkgname=gconf
 pkgver=3.2.6
-pkgrel=4
+pkgrel=5
 pkgdesc="A configuration database system"
 arch=(i686 x86_64)
 license=('LGPL')
@@ -16,7 +16,9 @@
         gconfpkg
         gconf-reload.patch
         gconf-{install,remove}.hook
-        01_xml-gettext-domain.patch)
+        01_xml-gettext-domain.patch
+       dbus-dontspew.patch
+       gsettings-data-convert-fix-invalid-schema-path.patch)
 sha256sums=('1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c'
             'ee6b6e6f4975dad13a8c45f1c1f0547a99373bdecdcd6604bfc12965c328a028'
             'bf1928718caa5df2b9e54a13cfd0f15a8fe0e09e86b84385ce023616a114e898'
@@ -23,7 +25,9 @@
             '567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694'
             '2732b2a6b187c5620105a036bde12edee99669605f70cbde56fe5f39619c3dc0'
             '436a65ff290095bc3d35d7d6297cf4d647f61e9f9922cea7ef9f1e251b447ff7'
-            'c883dec2b96978874a53700cfe7f26f24f8296767203e970bc6402b4b9945eb8')
+            'c883dec2b96978874a53700cfe7f26f24f8296767203e970bc6402b4b9945eb8'
+           'b490394b0f541ca92134478fa2235536bdb1ccd3b3200d5040dd458cec33bfe8'
+            '0f2057fbd20837091cbcc1e291bb64c9c6066534891a4ee010bbf5b304bd831d')
 
 prepare() {
   cd "GConf-$pkgver"
@@ -33,6 +37,10 @@
   # http://bugzilla.gnome.org/show_bug.cgi?id=568845
   patch -Np1 -i "$srcdir/01_xml-gettext-domain.patch"
 
+  # Upstream fixes
+  patch -Np1 -i ../dbus-dontspew.patch
+  patch -Np1 -i ../gsettings-data-convert-fix-invalid-schema-path.patch
+
   # Python2 fix
   sed -i '1s|#!/usr/bin/env python$|&2|' gsettings/gsettings-schema-convert
 }
@@ -45,6 +53,8 @@
       --disable-static --enable-defaults-service \
       --disable-orbit
 
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
   make pkglibdir=/usr/lib/GConf
 }
 

Added: dbus-dontspew.patch
===================================================================
--- dbus-dontspew.patch                         (rev 0)
+++ dbus-dontspew.patch 2016-08-08 22:26:16 UTC (rev 273520)
@@ -0,0 +1,86 @@
+From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstr...@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
+

Modified: gconf.install
===================================================================
--- gconf.install       2016-08-08 20:32:59 UTC (rev 273519)
+++ gconf.install       2016-08-08 22:26:16 UTC (rev 273520)
@@ -1,17 +1,11 @@
 post_install() {
   ldconfig -r .
   chmod 755 etc/gconf/gconf.xml.system
-  usr/bin/gio-querymodules usr/lib/gio/modules
 }
 
 post_upgrade() {
   ldconfig -r .
   chmod 755 etc/gconf/gconf.xml.system
-  usr/bin/gio-querymodules usr/lib/gio/modules
 
   pkill /usr/lib/GConf/gconfd-2 || return 0
 }
-
-post_remove() {
-    usr/bin/gio-querymodules usr/lib/gio/modules
-}

Added: gsettings-data-convert-fix-invalid-schema-path.patch
===================================================================
--- gsettings-data-convert-fix-invalid-schema-path.patch                        
        (rev 0)
+++ gsettings-data-convert-fix-invalid-schema-path.patch        2016-08-08 
22:26:16 UTC (rev 273520)
@@ -0,0 +1,44 @@
+From 405f865c07261a95c8c9a09a84ab679c6dd0a330 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walt...@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
+

Reply via email to