aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJoão Valverde <j@v6e.pt>2023-12-13 02:14:33 +0000
committerJoão Valverde <j@v6e.pt>2023-12-14 14:28:30 +0000
commitb52d9173f8f0201a360bc1d5ada38297a6e13553 (patch)
tree1b425618898ee981be3d38830c403944c382d1f7 /doc
parentb51a3933ba8ace3f583259f5fd420a47912c86ad (diff)
Remove version component from plugin path
Remove the major.minor version from the plugin path, i.e: lib/plugins/X.Y/{epan,wiretap,codecs} and use an unversioned path: lib/plugins/{epan,wiretap,codecs} Introduce a new naming policy for plugins that requires name.so.ABI_VERSION. This is a simplified filesystem layoutfor plugins some important benefits such as: * improves compatibility between Wireshark versions, because a plugin that wasn't recompiled will be automatically picked up, but only if it has a compatible ABI version in the file name. * does not clash with Apple guidelines * simpler for users to understand and apply * just overall simpler and easier to maintain, removes a lot of complexity from CMake code It does impose more requirements on the plugin naming scheme but this should be handled completely transparently by the build system. It would also be possible to add support for unversioned *.so file extensions at the same time, although in ths case it is not possible to support multiple Wireshark ABI versions with only *.so, of course. This wasn't done here but it may or may not be a useful enhancement in the future. Follow-up to 90b16b40921b737aadf9186685d866fd80e37ee6.
Diffstat (limited to 'doc')
-rw-r--r--doc/plugins.example/CMakeLists.txt6
-rw-r--r--doc/release-notes.adoc3
2 files changed, 8 insertions, 1 deletions
diff --git a/doc/plugins.example/CMakeLists.txt b/doc/plugins.example/CMakeLists.txt
index 26e3ad25c9..a685ab37a2 100644
--- a/doc/plugins.example/CMakeLists.txt
+++ b/doc/plugins.example/CMakeLists.txt
@@ -39,7 +39,11 @@ add_compile_definitions(
)
add_library(hello MODULE hello.c)
-set_target_properties(hello PROPERTIES PREFIX "" DEFINE_SYMBOL "")
+set_target_properties(hello PROPERTIES
+ PREFIX ""
+ SUFFIX "${Wireshark_PLUGIN_SUFFIX_EPAN}"
+ DEFINE_SYMBOL ""
+)
target_link_libraries(hello epan)
# This is the normal installation target to CMAKE_INSTALL_PREFIX. It is relocatable
diff --git a/doc/release-notes.adoc b/doc/release-notes.adoc
index c4ba04679a..0752e2f563 100644
--- a/doc/release-notes.adoc
+++ b/doc/release-notes.adoc
@@ -111,6 +111,9 @@ The following features are new (or have been significantly updated) since versio
* The personal binary plugins folder now has higher priority than the global
folder.
+* The binary plugins folder path no longer uses an X.Y version component. Plugins
+ are required to add the ABI version to the file name.
+
//=== Removed Features and Support
// === Removed Dissectors