Uploaded image for project: 'MariaDB Connector/C'
  1. MariaDB Connector/C
  2. CONC-456

Implement INSTALL_PLUGINDIR build flag that only applies to MariaDB Connector C / MariaDB client

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.7
    • Fix Version/s: 3.1.8
    • Labels:
      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

            Activity

              People

              Assignee:
              otto Otto Kekäläinen
              Reporter:
              otto Otto Kekäläinen
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: