diff options
author | João Valverde <j@v6e.pt> | 2023-12-13 02:14:33 +0000 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2023-12-14 14:28:30 +0000 |
commit | b52d9173f8f0201a360bc1d5ada38297a6e13553 (patch) | |
tree | 1b425618898ee981be3d38830c403944c382d1f7 /doc | |
parent | b51a3933ba8ace3f583259f5fd420a47912c86ad (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.txt | 6 | ||||
-rw-r--r-- | doc/release-notes.adoc | 3 |
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 |