forked from osmocom/wireshark
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>
This commit is contained in:
parent
e8e8b0d0b4
commit
978f6b4e1a
|
@ -1362,6 +1362,7 @@ endif()
|
|||
# Directory where plugins and Lua dissectors can be found.
|
||||
set(PLUGIN_VERSION_DIR "plugins/${CPACK_PACKAGE_VERSION}")
|
||||
set(PLUGIN_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/${CPACK_PACKAGE_NAME}/${PLUGIN_VERSION_DIR}")
|
||||
# Used by the WiresharkConfig.cmake.in module
|
||||
if (WIN32)
|
||||
set(PLUGIN_INSTALL_DIR "${PLUGIN_VERSION_DIR}")
|
||||
else ()
|
||||
|
|
|
@ -401,9 +401,6 @@
|
|||
/* Support for pcap-ng */
|
||||
#cmakedefine PCAP_NG_DEFAULT 1
|
||||
|
||||
/* Plugin installation directory */
|
||||
#cmakedefine PLUGIN_INSTALL_DIR "${PLUGIN_INSTALL_DIR}"
|
||||
|
||||
/* Define if we are using version of of the Portaudio library API */
|
||||
#cmakedefine PORTAUDIO_API_1 1
|
||||
|
||||
|
|
|
@ -21,6 +21,10 @@
|
|||
|
||||
include(UseABICheck)
|
||||
|
||||
if(NOT WIN32)
|
||||
add_definitions(-DPLUGIN_DIR=\"${CMAKE_INSTALL_FULL_LIBDIR}/wireshark/plugins\")
|
||||
endif()
|
||||
|
||||
set(WSUTIL_PUBLIC_HEADERS
|
||||
adler32.h
|
||||
base32.h
|
||||
|
|
|
@ -24,7 +24,7 @@ AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) -DWS_BUILD_DLL \
|
|||
-DTOP_SRCDIR=\"$(abs_top_srcdir)\" \
|
||||
-DDATAFILE_DIR=\"$(pkgdatadir)\" \
|
||||
-DEXTCAP_DIR=\"$(extcapdir)\" \
|
||||
-DPLUGIN_INSTALL_DIR=\"$(plugindir)\" \
|
||||
-DPLUGIN_DIR=\"$(pkglibdir)/plugins\" \
|
||||
-DJSMN_STRICT \
|
||||
$(GLIB_CFLAGS) $(LIBGCRYPT_CFLAGS) \
|
||||
$(LIBGNUTLS_CFLAGS)
|
||||
|
|
|
@ -955,7 +955,7 @@ get_datafile_dir(void)
|
|||
* otherwise, if we're running from an app bundle in macOS, we
|
||||
* use the Contents/PlugIns/wireshark subdirectory of the app bundle;
|
||||
*
|
||||
* otherwise, we use the PLUGIN_INSTALL_DIR value supplied by the
|
||||
* otherwise, we use the PLUGIN_DIR value supplied by the
|
||||
* configure script.
|
||||
*/
|
||||
static char *plugin_dir = NULL;
|
||||
|
@ -1028,7 +1028,7 @@ init_plugin_dir(void)
|
|||
}
|
||||
#endif
|
||||
else {
|
||||
plugin_dir = g_strdup(PLUGIN_INSTALL_DIR);
|
||||
plugin_dir = g_strdup(PLUGIN_DIR);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue