2016-10-30 1:45 GMT+03:00 Kristian Nielsen <kniel...@knielsen-hq.org>: > Clearly, these libmariadb plugins need to have an arch-dependent path. I > suppose they also need a path that includes the major .so version number of > the libmariadbclient. > > Maybe something like this is needed on the cmake command? > > -DINSTALL_PLUGINDIR=/usr/lib/x86_64-linux-gnu/mysql/lib18/plugin > > That build option seems to be what determines where the client library will > look for its plugin. > > (This build option seems to be shared between the server plugins and the > client plugins, which seems a bit of a mess, and might require a separate > build for the server package and the client library package - but maybe that > is already the case anyway?)
I tried this avenue but indeed the PLUGINDIR parameter then also changes where all the server plugins (TokuDB, Spider etc) are installed, so that is not an option. Can you Kristian help us introduce in the makefiles a new parameter CLIENTPLUGINDIR? Or what if we keep the PLUGINDIR=lib/mysql/plugin but then in a later stage in the rules file move the two client plugins? mv lib/mysql/plugin/dialog.so lib/$(DEB_HOST_MULTIARCH)/mariadb-lib18/plugin mv lib/mysql/plugin/mysql_clear_password.so lib/$(DEB_HOST_MULTIARCH)/mariadb-lib18/plugin Or if we move the plugins to a separate package, called maybe mariadb-plugin-clientauth that would contain these two files? Then the libmariadbclient18 package would stay "clean". I would however need to depend on the mariadb-plugin-clientauth package however.. And it was still unclear to me if the libmariadbclient18 and libmariadbd packages should have "Multi-Arch: same" or what? That is what we strive for with the above changes, right? (For reference, in mariadb-connector-c shared libs are built with 'dh_makeshlibs -X/mariadb/plugin/' and installed to usr/lib/*/mariadb/plugin/*.so, and it has 'Multi-Arch: same' - see https://anonscm.debian.org/cgit/pkg-mysql/mariadb-client-lgpl.git/tree/debian)