gconf: Ensure the correct backend directory is used

Without these changes, gconf will use the hardcoded backend directory meaning
we can see errors when building if the binary was relocated.

(From OE-Core rev: aaa2a70f7f1b8a299f31626d61d7ea27f29fb9e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2011-11-23 15:05:39 +00:00
parent 54217ee467
commit 46033c3cd4
3 changed files with 48 additions and 1 deletions

View File

@ -3,6 +3,7 @@ DEPENDS += "gconf gconf-native"
# This is referenced by the gconf m4 macros and would default to the value hardcoded
# into gconf at compile time otherwise
export GCONF_SCHEMA_INSTALL_SOURCE = "xml:merged:${STAGING_DIR_NATIVE}${sysconfdir}/gconf/gconf.xml.defaults"
export GCONF_BACKEND_DIR = "${STAGING_LIBDIR_NATIVE}/GConf/2"
gconf_postinst() {
if [ "x$D" != "x" ]; then

View File

@ -0,0 +1,43 @@
Allow the backend directory to be specified from the environment. This is
required so we can relocate gconf-native to different paths and still
allow it to work.
Upstream-Status: Pending
RP 2011/11/23
Index: GConf-3.2.3/gconf/gconf-backend.c
===================================================================
--- GConf-3.2.3.orig/gconf/gconf-backend.c 2011-07-01 14:01:20.000000000 +0100
+++ GConf-3.2.3/gconf/gconf-backend.c 2011-11-23 14:56:37.141293320 +0000
@@ -21,6 +21,7 @@
#include <config.h>
#include "gconf-backend.h"
#include "gconf-internals.h"
+#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
@@ -171,6 +172,7 @@
gchar* back;
gchar* file;
gchar* retval;
+ const gchar* backenddir;
g_return_val_if_fail(address != NULL, NULL);
@@ -179,9 +181,13 @@
if (back == NULL)
return NULL;
+ backenddir = getenv("GCONF_BACKEND_DIR");
+ if (backenddir == NULL)
+ backenddir = GCONF_BACKEND_DIR;
+
file = g_strconcat("gconfbackend-", back, NULL);
- retval = g_module_build_path(GCONF_BACKEND_DIR, file);
+ retval = g_module_build_path(backenddir, file);
g_free(back);

View File

@ -5,10 +5,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native"
PR = "r1"
inherit gnomebase
SRC_URI = "${GNOME_MIRROR}/GConf/${@gnome_verdir("${PV}")}/GConf-${PV}.tar.bz2;name=archive \
file://nointro.patch"
file://nointro.patch \
file://backenddir.patch"
SRC_URI[archive.md5sum] = "f80329173cd9d134ad07e36002dd2a15"
SRC_URI[archive.sha256sum] = "52008a82a847527877d9e1e549a351c86cc53cada4733b8a70a1123925d6aff4"