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 <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);
 
