[arch-commits] Commit in glib2/trunk (3 files)

Jan Steffens heftig at archlinux.org
Wed Feb 24 18:13:21 UTC 2016


    Date: Wednesday, February 24, 2016 @ 19:13:21
  Author: heftig
Revision: 260227

2.46.2-4

Added:
  glib2/trunk/0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch
Modified:
  glib2/trunk/PKGBUILD
Deleted:
  glib2/trunk/glib2.install

----------------------------------------------------------------+
 0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch |   49 ++++++++++
 PKGBUILD                                                       |    6 -
 glib2.install                                                  |   13 --
 3 files changed, 53 insertions(+), 15 deletions(-)

Added: 0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch
===================================================================
--- 0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch	                        (rev 0)
+++ 0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch	2016-02-24 18:13:21 UTC (rev 260227)
@@ -0,0 +1,49 @@
+From 4850cb55d3415b7d95c80c80ceb60f221f5dddf5 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Wed, 24 Feb 2016 18:58:25 +0100
+Subject: [PATCH] gsettings: Don't crash when no schemas are installed
+
+Still doesn't behave well ("gsettings help" causes an error),
+but at least there's no segfault anymore.
+---
+ gio/gsettings-tool.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/gio/gsettings-tool.c b/gio/gsettings-tool.c
+index 6a302ce..0026f55 100644
+--- a/gio/gsettings-tool.c
++++ b/gio/gsettings-tool.c
+@@ -697,7 +697,7 @@ main (int argc, char **argv)
+   if (argc < 2)
+     return gsettings_help (FALSE, NULL);
+ 
+-  global_schema_source = g_settings_schema_source_ref (g_settings_schema_source_get_default ());
++  global_schema_source = g_settings_schema_source_get_default ();
+ 
+   if (argc > 3 && g_str_equal (argv[1], "--schemadir"))
+     {
+@@ -705,7 +705,6 @@ main (int argc, char **argv)
+       GError *error = NULL;
+ 
+       global_schema_source = g_settings_schema_source_new_from_directory (argv[2], parent, FALSE, &error);
+-      g_settings_schema_source_unref (parent);
+ 
+       if (global_schema_source == NULL)
+         {
+@@ -719,6 +718,13 @@ main (int argc, char **argv)
+       argv = argv + 2;
+       argc -= 2;
+     }
++  else if (global_schema_source == NULL)
++    {
++      g_printerr (_("No schemas installed\n"));
++      return 1;
++    }
++  else
++    g_settings_schema_source_ref (global_schema_source);
+ 
+   need_settings = TRUE;
+ 
+-- 
+2.7.1
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-02-24 18:12:28 UTC (rev 260226)
+++ PKGBUILD	2016-02-24 18:13:21 UTC (rev 260227)
@@ -4,14 +4,16 @@
 pkgbase=glib2
 pkgname=(glib2 glib2-docs)
 pkgver=2.46.2
-pkgrel=3
+pkgrel=4
 pkgdesc="Common C routines used by GTK+ and other libs"
 url="http://www.gtk.org/"
 arch=(i686 x86_64)
 makedepends=('pkg-config' 'python2' 'libxslt' 'docbook-xml' 'pcre' 'libffi' 'libelf')
 source=(http://ftp.gnome.org/pub/GNOME/sources/glib/${pkgver:0:4}/glib-$pkgver.tar.xz
+        0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch
         revert-warn-glib-compile-schemas.patch memleak.patch)
 sha256sums=('5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db'
+            '06520be36842422fddcad839c07f15f04910b3dc3b6f8f146cfcaa86e9bc983b'
             '049240975cd2f1c88fbe7deb28af14d4ec7d2640495f7ca8980d873bb710cc97'
             '8337eeba4a32133d41575c8338fca32ac6a867e6e4a4e021355fcdeb606420a6')
 
@@ -19,6 +21,7 @@
   cd glib-$pkgver
   patch -Rp1 -i ../revert-warn-glib-compile-schemas.patch
   patch -Np1 -i ../memleak.patch
+  patch -Np1 -i ../0001-gsettings-Don-t-crash-when-no-schemas-are-installed.patch
 }
   
 build() {
@@ -41,7 +44,6 @@
               'libelf: gresource inspection tool')
   options=('!docs' '!emptydirs')
   license=('LGPL')
-  install=glib2.install
 
   cd glib-$pkgver
   make completiondir=/usr/share/bash-completion/completions DESTDIR="$pkgdir" install

Deleted: glib2.install
===================================================================
--- glib2.install	2016-02-24 18:12:28 UTC (rev 260226)
+++ glib2.install	2016-02-24 18:13:21 UTC (rev 260227)
@@ -1,13 +0,0 @@
-post_install() {
-    glib-compile-schemas /usr/share/glib-2.0/schemas
-}
-
-post_upgrade() {
-    glib-compile-schemas /usr/share/glib-2.0/schemas
-}
-
-pre_remove() {
-    if [ -f /usr/share/glib-2.0/schemas/gschemas.compiled ]; then
-        rm /usr/share/glib-2.0/schemas/gschemas.compiled
-    fi
-}



More information about the arch-commits mailing list