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)
 
openSUSE Build Service is sponsored by