From e082e811abf6454769d570b19a5f7ead05454301 Mon Sep 17 00:00:00 2001 From: David King Date: Fri, 3 May 2019 09:58:46 +0100 Subject: [PATCH] Fix accidental ABI break (#1197773) --- GConf2.spec | 9 +++- ...f-3.2.6-gconf-engine_key_is_writable.patch | 47 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gconf-3.2.6-gconf-engine_key_is_writable.patch diff --git a/GConf2.spec b/GConf2.spec index 7b3924d..8374c61 100644 --- a/GConf2.spec +++ b/GConf2.spec @@ -10,7 +10,7 @@ Summary: A process-transparent configuration system Name: GConf2 Version: 3.2.6 -Release: 25%{?dist} +Release: 26%{?dist} License: LGPLv2+ and GPLv2+ #VCS: git:git://git.gnome.org/gconf Source0: http://download.gnome.org/sources/GConf/3.2/GConf-%{version}.tar.xz @@ -23,6 +23,9 @@ Patch0: GConf-gettext.patch # https://bugzilla.gnome.org/show_bug.cgi?id=671490 Patch1: drop-spew.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1197773 +Patch2: gconf-3.2.6-gconf-engine_key_is_writable.patch + # https://bugzilla.redhat.com/show_bug.cgi?id=755992 Patch99: workaround-crash.patch Patch100: pkill-hack.patch @@ -77,6 +80,7 @@ development using GConf. %setup -q -n GConf-%{version} %patch0 -p1 -b .gettext %patch1 -p1 -b .drop-spew +%patch2 -p1 -b .abi-break %patch99 -p1 -b .workaround-crash %patch100 -p1 -b .pkill-hack @@ -175,6 +179,9 @@ fi %{_mandir}/man1/gsettings-schema-convert.1* %changelog +* Fri May 03 2019 David King - 3.2.6-26 +- Fix accidental ABI break (#1197773) + * Mon Feb 18 2019 Parag Nemade - 3.2.6-25 - Fix python shebang to python3 environment - used 2to3 to convert gsettings-schema-convert to run under python3 diff --git a/gconf-3.2.6-gconf-engine_key_is_writable.patch b/gconf-3.2.6-gconf-engine_key_is_writable.patch new file mode 100644 index 0000000..287a3ef --- /dev/null +++ b/gconf-3.2.6-gconf-engine_key_is_writable.patch @@ -0,0 +1,47 @@ +From 7fc5106b58e9270e0d92b4c054a120628320b410 Mon Sep 17 00:00:00 2001 +From: Vincent Untz +Date: Tue, 21 Feb 2012 15:26:47 +0100 +Subject: [PATCH] gconf-dbus: Add gconf_engine_key_is_writable() + +This went missing in the dbus port, and so we broke ABI. +It's really the same code as in the corba code. + +https://bugzilla.gnome.org/show_bug.cgi?id=668948 +--- + gconf/gconf-dbus.c | 23 +++++++++++++++++++++++ + 1 files changed, 23 insertions(+), 0 deletions(-) + +Index: GConf-3.2.6/gconf/gconf-dbus.c +=================================================================== +--- GConf-3.2.6.orig/gconf/gconf-dbus.c 2013-06-06 02:39:13.243932775 +0200 ++++ GConf-3.2.6/gconf/gconf-dbus.c 2013-06-06 02:39:13.239932729 +0200 +@@ -2195,6 +2195,29 @@ + } + } + ++gboolean ++gconf_engine_key_is_writable (GConfEngine *conf, ++ const gchar *key, ++ GError **err) ++{ ++ gboolean is_writable = TRUE; ++ GConfValue *val; ++ ++ CHECK_OWNER_USE (conf); ++ ++ /* FIXME implement IDL to allow getting only writability ++ * (not that urgent since GConfClient caches this crap ++ * anyway) ++ */ ++ ++ val = gconf_engine_get_full(conf, key, NULL, TRUE, ++ NULL, &is_writable, err); ++ ++ gconf_value_free (val); ++ ++ return is_writable; ++} ++ + static void + cnxn_get_all_func (gpointer key, + gpointer value,