summaryrefslogtreecommitdiff
path: root/libebackend/e-source-registry-server.c
diff options
context:
space:
mode:
authorTristan Van Berkom <tristanvb@openismus.com>2013-02-25 19:26:45 +0900
committerTristan Van Berkom <tristanvb@openismus.com>2013-02-25 19:37:00 +0900
commit410a56cd3fd1793f6c523e416f2d73c4baf2fc05 (patch)
tree231204dbd0e9ab38fb135858d57ae5b176a4ba60 /libebackend/e-source-registry-server.c
parent0da6730b1dc3d9f8ec251c7c27717487d6644d5d (diff)
downloadevolution-data-server-410a56cd3fd1793f6c523e416f2d73c4baf2fc05.tar.gz
Make the ESourceRegistryServer modules relocatable like addressbook & calendar
This simply adds an environment variable allowing us to load registry modules from a relocated location in the case we run 'make check' without installing (also ensuring that we test the not-yet-installed environment properly).
Diffstat (limited to 'libebackend/e-source-registry-server.c')
-rw-r--r--libebackend/e-source-registry-server.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libebackend/e-source-registry-server.c b/libebackend/e-source-registry-server.c
index c91b77be5..eea48b36b 100644
--- a/libebackend/e-source-registry-server.c
+++ b/libebackend/e-source-registry-server.c
@@ -1253,6 +1253,13 @@ e_source_registry_server_class_init (ESourceRegistryServerClass *class)
EDBusServerClass *dbus_server_class;
EDataFactoryClass *data_factory_class;
GType backend_factory_type;
+ const gchar *modules_directory = MODULE_DIRECTORY;
+ const gchar *modules_directory_env;
+
+ modules_directory_env = g_getenv (EDS_REGISTRY_MODULES);
+ if (modules_directory_env &&
+ g_file_test (modules_directory_env, G_FILE_TEST_IS_DIR))
+ modules_directory = g_strdup (modules_directory_env);
g_type_class_add_private (class, sizeof (ESourceRegistryServerPrivate));
@@ -1262,7 +1269,7 @@ e_source_registry_server_class_init (ESourceRegistryServerClass *class)
dbus_server_class = E_DBUS_SERVER_CLASS (class);
dbus_server_class->bus_name = SOURCES_DBUS_SERVICE_NAME;
- dbus_server_class->module_directory = MODULE_DIRECTORY;
+ dbus_server_class->module_directory = modules_directory;
dbus_server_class->bus_acquired = source_registry_server_bus_acquired;
dbus_server_class->quit_server = source_registry_server_quit_server;