Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
3.1.7
-
None
-
None
Description
Currently libmariadb3.install packaging for Debian in upstream MariaDB looks like this:
usr/lib/*/libmariadb.so.*
|
usr/lib/mysql/plugin/client_ed25519.so
|
usr/lib/mysql/plugin/dialog.so
|
usr/lib/mysql/plugin/mysql_clear_password.so
|
usr/lib/mysql/plugin/sha256_password.so
|
usr/lib/mysql/plugin/client_ed25519.so
|
This has two problems:
- plugins paths are not multi-archified
- plugin paths are not versioned
In Debian official repos this is fixed like this:
usr/lib/*/libmariadb.so.*
|
usr/lib/*/mariadb19/plugin/client_ed25519.so
|
usr/lib/*/mariadb19/plugin/dialog.so
|
usr/lib/*/mariadb19/plugin/mysql_clear_password.so
|
This is however not an ideal fix.
First of all the path name mariadb19 is inherited from the server INSTALL_PLUGINDIR. This is set in debian/rules for the entire server+client build. The server binaries end up in a versioned path which isn't necessary. There should be a separate INSTALL_PLUGINDIR_CLIENT or something.
Secondly, the mariadb19 reflects the server ABI "version". For client stuff is should reflect the client version, so a better name would be for example mariadb3, libmariadb3 or mariadbclient3.
Implementing something like INSTALL_PLUGINDIR_CLIENT would allow to set this.
Eventually I would like to have this libmariadb3.install:
usr/lib/*/libmariadb.so.*
|
usr/lib/*/mariadb3/client_ed25519.so
|
usr/lib/*/mariadb3/dialog.so
|
usr/lib/*/mariadb3/mysql_clear_password.so
|
And one day, somewhere far far away, in libmariadb4.install:
usr/lib/*/libmariadb.so.*
|
usr/lib/*/mariadb4/client_ed25519.so
|
usr/lib/*/mariadb4/dialog.so
|
usr/lib/*/mariadb4/mysql_clear_password.so
|
Attachments
Issue Links
- blocks
-
MDEV-6284 Merge downstream Debian/Ubuntu packaging into upstream MariaDB
- Closed
- is blocked by
-
MDEV-22053 Missing support for Debian Install Layout in C/C subproject
- Closed