File use-versioned-helpers-db.patch of Package exo
Index: exo-0.10.2/exo-helper/exo-helper.c
===================================================================
--- exo-0.10.2.orig/exo-helper/exo-helper.c
+++ exo-0.10.2/exo-helper/exo-helper.c
@@ -532,7 +532,7 @@ exo_helper_database_lookup (ExoHelperDat
g_return_val_if_fail (id != NULL, NULL);
/* generate the spec for the helper */
- spec = g_strconcat ("xfce4/helpers/", id, ".desktop", NULL);
+ spec = g_strconcat ("xfce4/exo-" LIBEXO_VERSION_API "/helpers/", id, ".desktop", NULL);
/* try to find a cached version */
helper = g_hash_table_lookup (database->helpers, spec);
@@ -635,7 +635,7 @@ exo_helper_database_get_default (ExoHelp
g_return_val_if_fail (EXO_IS_HELPER_DATABASE (database), NULL);
g_return_val_if_fail (category < EXO_HELPER_N_CATEGORIES, NULL);
- rc = xfce_rc_config_open (XFCE_RESOURCE_CONFIG, "xfce4/helpers.rc", TRUE);
+ rc = xfce_rc_config_open (XFCE_RESOURCE_CONFIG, "xfce4/exo-" LIBEXO_VERSION_API "/helpers.rc", TRUE);
if (G_LIKELY (rc != NULL))
{
key = exo_helper_category_to_string (category);
@@ -682,7 +682,7 @@ exo_helper_database_set_default (ExoHelp
g_return_val_if_fail (EXO_IS_HELPER (helper), FALSE);
/* open the helpers.rc for writing */
- rc = xfce_rc_config_open (XFCE_RESOURCE_CONFIG, "xfce4/helpers.rc", FALSE);
+ rc = xfce_rc_config_open (XFCE_RESOURCE_CONFIG, "xfce4/exo-" LIBEXO_VERSION_API "/helpers.rc", FALSE);
if (G_UNLIKELY (rc == NULL))
{
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_IO, _("Failed to open %s for writing"), "helpers.rc");
@@ -795,7 +795,7 @@ exo_helper_database_get_all (ExoHelperDa
g_return_val_if_fail (category < EXO_HELPER_N_CATEGORIES, NULL);
xfce_resource_push_path (XFCE_RESOURCE_DATA, DATADIR);
- specs = xfce_resource_match (XFCE_RESOURCE_DATA, "xfce4/helpers/*.desktop", TRUE);
+ specs = xfce_resource_match (XFCE_RESOURCE_DATA, "xfce4/exo-" LIBEXO_VERSION_API "/helpers/*.desktop", TRUE);
xfce_resource_pop_path (XFCE_RESOURCE_DATA);
for (n = 0; specs[n] != NULL; ++n)
@@ -884,7 +884,7 @@ exo_helper_database_set_custom (ExoHelpe
/* determine the spec for the custom helper */
category_string = exo_helper_category_to_string (category);
- g_snprintf (spec, sizeof (spec), "xfce4/helpers/custom-%s.desktop", category_string);
+ g_snprintf (spec, sizeof (spec), "xfce4/exo-" LIBEXO_VERSION_API "/helpers/custom-%s.desktop", category_string);
/* lookup the resource save location */
file = xfce_resource_save_location (XFCE_RESOURCE_DATA, spec, TRUE);
Index: exo-0.10.2/exo-helper/helpers/Makefile.am
===================================================================
--- exo-0.10.2.orig/exo-helper/helpers/Makefile.am
+++ exo-0.10.2/exo-helper/helpers/Makefile.am
@@ -1,8 +1,8 @@
-defaultsdir = $(sysconfdir)/xdg/xfce4
+defaultsdir = $(sysconfdir)/xdg/xfce4/exo-$(LIBEXO_VERSION_API)/
defaults_DATA = helpers.rc
-desktopdir = $(datadir)/xfce4/helpers
+desktopdir = $(datadir)/xfce4/exo-$(LIBEXO_VERSION_API)/helpers
desktop_in_in_files = \
aterm.desktop.in.in \
balsa.desktop.in.in \
Index: exo-0.10.2/exo-helper/Makefile.am
===================================================================
--- exo-0.10.2.orig/exo-helper/Makefile.am
+++ exo-0.10.2/exo-helper/Makefile.am
@@ -7,7 +7,8 @@ INCLUDES = \
-DBINDIR=\"$(bindir)\" \
-DDATADIR=\"$(datadir)\" \
-DG_LOG_DOMAIN=\"exo-helper\" \
- -DPACKAGE_LOCALE_DIR=\"$(localedir)\"
+ -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
+ -DLIBEXO_VERSION_API=\"$(LIBEXO_VERSION_API)\"
exo_helperdir = $(HELPER_PATH_PREFIX)/xfce4/exo-$(LIBEXO_VERSION_API)