Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.6(EOL), 10.11, 11.4, 11.8, 12.3
-
None
-
Notable changes
-
MariaDB-devel (RPM) and libmariadb-dev (DEB) packages now include all necessary files to support plugin development without requiring to download and compile server source tree.
-
Q1/2027 Server Maintenance
Description
MariaDB-devel rpm package (and the corresponding deb package) are supposed to allow plugins to be built without a server. It mostly works, but there a few missing bits that need to be fixed:
- HAVE_WSREP is defined to 1 in my_global.h while it's what the server uses, it makes server headers not usable for plugins as they start to pull in (missing) wsrep headers.
- Suggestion:
- remove it from the header
- use -DWITH_WSREP=1 on the command line
- Suggestion:
- plugin.cmake is not installed, so plugins cannot be built. Also, plugin.cmake needs install_layout.cmake and has a couple of dtrace/windows macros.
- Suggestion:
- combine install_layout.cmake and plugin.cmake into one file, say, mariadb-plugin-config.cmake
- include it into MariaDB-devel
- define a dummy dtrace macro there, unless it's already defined
- Not sure what to do with ADD_VERSION_INFO().
- CONFIGURE_PLUGINS() should likely not be in this new mariadb-plugin-config.cmake, it'll stay in the server
- create an alias MARIADB_ADD_PLUGIN, because it's time
- perhaps mariadb-plugin-config.cmake should also do
INCLUDE_DIRECTORIES(/usr/include/mysql/server /usr/include/mysql/server/private)this is an argument that mariadb-plugin-config.cmake should be generated.
- Suggestion:
This way a plugin can have a top-level CMakeLists.txt with
FIND_PACKAGE(mariadb-plugin REQUIRED)
|
MARIADB_ADD_PLUGIN(myplugin SOURCE my_plugin.c)
|
and it'll just work.
Attachments
Issue Links
- blocks
-
MDBF-1246 Test external plugin building in buildbot.
-
- Open
-
-
MDEV-40785 plugin dependencies in metadata
-
- Open
-
- relates to
-
MDBF-1237 Add support for MariaDB Foundry to buildbot
-
- In Testing
-
-
MDEV-40684 PLUGIN_LICENSE_GPL - GPL isn't a license - its a family of them
-
- Open
-
-
MDEV-40786 make mariadb-plugin great
-
- Stalled
-
-
MDEV-40832 Export mariadb services as versioned ABI
-
- Closed
-