summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gnome
diff options
context:
space:
mode:
authorJaewon Lee <jaewon.lee@xilinx.com>2018-04-10 14:26:47 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-04-13 16:58:07 +0100
commit7ec063a3ad6d89d847a59a319ed222b4960bd0d5 (patch)
tree084b895b67f37305edb888595fe1c6994ac6a123 /meta/recipes-gnome/gnome
parent1ab6bfd0ee262ed9c987ab84b29db5ace0a40291 (diff)
downloadpoky-7ec063a3ad6d89d847a59a319ed222b4960bd0d5.tar.gz
gconf: fix saving of settings when config folder doesnt exist
In some circumstances, gconf isn't able to save configurations because ~/.config folder aka root_dir doesn't exist. For example when saving settings using matchbox-appearance, the following error is shown: GConf Error: Configuration server couldn't be contacted: D-BUS error: Can't overwrite existing read-only value: Value for `/desktop/poky/interface/font_name' set in a read-only source at the front of your configuration path This issue was not seen before because ~/.config directory is shared between several packages and one of those packages usually creates it by the time gconf wants to use it. This patch makes sure that gconf creates the .config directory if it doesn't exist, along with the gconf directory inside it. [YOCTO #12632] (From OE-Core rev: 4d16fa05e47ccc8425ebb085c295d7d8dca6b2e6) Signed-off-by: Alejandro Hernandez <alejandr@xilinx.com> Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-gnome/gnome')
-rw-r--r--meta/recipes-gnome/gnome/gconf/create_config_directory.patch28
-rw-r--r--meta/recipes-gnome/gnome/gconf_3.2.6.bb1
2 files changed, 29 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gnome/gconf/create_config_directory.patch b/meta/recipes-gnome/gnome/gconf/create_config_directory.patch
new file mode 100644
index 0000000000..cd72e739b0
--- /dev/null
+++ b/meta/recipes-gnome/gnome/gconf/create_config_directory.patch
@@ -0,0 +1,28 @@
1Upstream-Status: Pending
2
3In some circumstances, gconf isn't able to save configurations
4because ~/.config folder aka root_dir doesn't exist.
5This issue was not seen before because ~/.config directory is shared
6between several packages and one of those packages usually creates it
7by the time gconf wants to use it.
8
9This patch makes sure that gconf creates the .config directory if it
10doesn't exist, along with the gconf directory inside it.
11
12Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
13Signed-off-by: Alejandro Hernandez <alejandr@xilinx.com>
14
15
16Index: GConf-3.2.6/backends/markup-backend.c
17===================================================================
18--- GConf-3.2.6.orig/backends/markup-backend.c
19+++ GConf-3.2.6/backends/markup-backend.c
20@@ -276,7 +276,7 @@ resolve_address (const char *address,
21 /* dir_mode without search bits */
22 file_mode = dir_mode & (~0111);
23 }
24- else if (g_mkdir (root_dir, dir_mode) < 0)
25+ else if (g_mkdir_with_parents (root_dir, dir_mode) < 0)
26 {
27 /* Error out even on EEXIST - shouldn't happen anyway */
28 gconf_set_error (err, GCONF_ERROR_FAILED,
diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index 92fd12c6d2..120ae3e021 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -11,6 +11,7 @@ inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
11SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;name=archive \ 11SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.xz;name=archive \
12 file://remove_plus_from_invalid_characters_list.patch \ 12 file://remove_plus_from_invalid_characters_list.patch \
13 file://unable-connect-dbus.patch \ 13 file://unable-connect-dbus.patch \
14 file://create_config_directory.patch \
14" 15"
15 16
16SRC_URI[archive.md5sum] = "2b16996d0e4b112856ee5c59130e822c" 17SRC_URI[archive.md5sum] = "2b16996d0e4b112856ee5c59130e822c"