gio: fix gvfs plugin dependencies

Try harder to look for gvfs backend changes in the right
place, to make sure the plugin gets reloaded when backends
are removed or installed. We watch the gvfs mounts directory
because the files there contain absolute paths to the
backend executables, and those may not be in the usual gio
path.

https://bugzilla.gnome.org/show_bug.cgi?id=747841
This commit is contained in:
Tim-Philipp Müller 2015-04-14 12:47:07 +01:00
parent 867c864f94
commit dc4e517dc6
2 changed files with 8 additions and 3 deletions

2
common

@ -1 +1 @@
Subproject commit d676993e50eba12f40d8e176243041d4b91f7b13 Subproject commit 241fcb7de0af5df777b18821c81840564a7e5c95

View file

@ -231,6 +231,11 @@ gst_gio_uri_handler_do_init (GType type)
g_type_add_interface_static (type, GST_TYPE_URI_HANDLER, &uri_handler_info); g_type_add_interface_static (type, GST_TYPE_URI_HANDLER, &uri_handler_info);
} }
#define GIO_GVFS_MOUNTS_DIR GIO_PREFIX \
G_DIR_SEPARATOR_S "share" \
G_DIR_SEPARATOR_S "gvfs" \
G_DIR_SEPARATOR_S "mounts"
static gboolean static gboolean
plugin_init (GstPlugin * plugin) plugin_init (GstPlugin * plugin)
{ {
@ -240,8 +245,8 @@ plugin_init (GstPlugin * plugin)
gst_plugin_add_dependency_simple (plugin, NULL, GIO_MODULE_DIR, NULL, gst_plugin_add_dependency_simple (plugin, NULL, GIO_MODULE_DIR, NULL,
GST_PLUGIN_DEPENDENCY_FLAG_NONE); GST_PLUGIN_DEPENDENCY_FLAG_NONE);
gst_plugin_add_dependency_simple (plugin, "LD_LIBRARY_PATH", GIO_LIBDIR, gst_plugin_add_dependency_simple (plugin, NULL, GIO_GVFS_MOUNTS_DIR, NULL,
"gvfsd", GST_PLUGIN_DEPENDENCY_FLAG_NONE); GST_PLUGIN_DEPENDENCY_FLAG_NONE);
/* FIXME: Rank is MARGINAL for now, should be at least SECONDARY+1 in the future /* FIXME: Rank is MARGINAL for now, should be at least SECONDARY+1 in the future
* to replace gnomevfssink/src. For testing purposes PRIMARY+1 one makes sense * to replace gnomevfssink/src. For testing purposes PRIMARY+1 one makes sense