diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2017-09-12 10:51:46 +0100 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2017-09-17 16:54:52 +0000 |
commit | 978f6b4e1a94c831fa90421b6127e14f6ec9de17 (patch) | |
tree | aba671099f01aebd99c85131e6b32c52da1a1931 /wsutil/plugins.c | |
parent | e8e8b0d0b46941f79535c020f5464c372d0138a7 (diff) |
plugins: Fix paths to match WSUG
The Wireshark User Guide seems to say:
Global lua plugins are in $pkglibdir/plugins
Personal lua plugins are in XDG_CONFIG_HOME/plugins
Global binary plugins are in $pkglibdir/plugins/$version
Personal binary plugins are in XDG_CONFIG_HOME/plugins/$version
Fix code to match that. This is a backward-incompatible change
for global lua plugins and personal binary plugins.
Adds a version subfolder to the personal plugin folder for binary plugins.
This allows for safe upgrades and side-by-side installations
with different prefixes (they no longer use the same personal dir).
Change-Id: Ie0f039113628a257625a9a9fb2cb30e532f5dd47
Reviewed-on: https://code.wireshark.org/review/23516
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'wsutil/plugins.c')
-rw-r--r-- | wsutil/plugins.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/wsutil/plugins.c b/wsutil/plugins.c index 047a6cb721..f251966e31 100644 --- a/wsutil/plugins.c +++ b/wsutil/plugins.c @@ -340,7 +340,11 @@ scan_plugins(plugin_load_failure_mode mode) } } else - plugins_scan_dir(plugin_dir, mode); + { + plugin_dir_path = g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_plugin_dir(), VERSION); + plugins_scan_dir(plugin_dir_path, mode); + g_free(plugin_dir_path); + } /* * If the program wasn't started with special privileges, @@ -352,7 +356,9 @@ scan_plugins(plugin_load_failure_mode mode) */ if (!started_with_special_privs()) { - plugins_scan_dir(get_plugins_pers_dir(), mode); + plugin_dir_path = g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_plugins_pers_dir(), VERSION); + plugins_scan_dir(plugin_dir_path, mode); + g_free(plugin_dir_path); } } } |