[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