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. Bug filed upstream with patch: https://bugzilla.gnome.org/show_bug.cgi?id=664650 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 #include "gconf-backend.h" #include "gconf-internals.h" +#include #include #include #include @@ -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);