Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-6135

Extra shared libs (dialog.so and mysql_clear_password.so) should be in same directory as libmysqlclient.so

    Details

      Description

      Current MariaDB libmysqlclient/libmariadbclient package has the files:

      usr/lib/*/libmariadbclient.so.*
      usr/lib/mysql/plugin/dialog.so
      usr/lib/mysql/plugin/mysql_clear_password.so
      

      According to Debian policy, in a package like this all of these files should be in /usr/*/.., for example like this:

      usr/lib/x86_64-linux-gnu/libmariadbclient.so
      usr/lib/x86_64-linux-gnu/dialog.so
      usr/lib/x86_64-linux-gnu/mysql_clear_password.so
      

      How does dialog.so and mysql_clear_password.so work, can they safely be moved like this to another location, or will it break their refrencing or something?

      Please advice on how to fix this. A patch would be even better.

      Debian bug with https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739452 against mariadb-5.5 (Severity: important).

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              serg Sergei Golubchik added a comment -

              What does the debian policy say exactly? Please, provide a link.

              These files cannot be moved, they are plugins that are loaded (with dlopen()) by libmariadbclient.so from the plugin directory.

              Show
              serg Sergei Golubchik added a comment - What does the debian policy say exactly ? Please, provide a link. These files cannot be moved, they are plugins that are loaded (with dlopen() ) by libmariadbclient.so from the plugin directory.
              Hide
              otto Otto Kekäläinen added a comment -

              It's actually not in the policy yet, thus I cannot provide a link but the new comments at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739452 describes the issue better.

              Show
              otto Otto Kekäläinen added a comment - It's actually not in the policy yet, thus I cannot provide a link but the new comments at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739452 describes the issue better.
              Hide
              serg Sergei Golubchik added a comment -

              Okay, so all architecture-dependent .so files should be in /usr/lib64 (or /usr/lib32) on debian? This can be easily done.

              Show
              serg Sergei Golubchik added a comment - Okay, so all architecture-dependent .so files should be in /usr/lib64 (or /usr/lib32) on debian? This can be easily done.
              Hide
              elenst Elena Stepanova added a comment -

              Added versions to get it back on the radar. If it's not relevant anymore, it should be closed.

              Show
              elenst Elena Stepanova added a comment - Added versions to get it back on the radar. If it's not relevant anymore, it should be closed.
              Hide
              otto Otto Kekäläinen added a comment -

              Yes, this is still waiting for a fix. As of 5.5.38 at least the path has not changed and the bug is open in Debian. The fix should be easy, just move the plugin path, right?

              Show
              otto Otto Kekäläinen added a comment - Yes, this is still waiting for a fix. As of 5.5.38 at least the path has not changed and the bug is open in Debian. The fix should be easy, just move the plugin path, right?
              Hide
              serg Sergei Golubchik added a comment -

              I don't see an issue here. Our libmariadbclient18.deb package is consistent. It does not have Multi-Arch: Same (as far as I understand, it's Multi-Arch: no by default), it puts libmysqlclient.so.18.0.0 in /usr/lib. So it has to put dialog.so and mysql_clear_password.so in /usr/lib too.

              When we'll have new deb packaging, then dialog.so and mysql_clear_password.so will go in /usr/lib/x86_64-linux-gnu/ just as libmysqlclient.so.18.0.0 will. Either way client plugins should always go together with the client library.

              Show
              serg Sergei Golubchik added a comment - I don't see an issue here. Our libmariadbclient18.deb package is consistent. It does not have Multi-Arch: Same (as far as I understand, it's Multi-Arch: no by default), it puts libmysqlclient.so.18.0.0 in /usr/lib. So it has to put dialog.so and mysql_clear_password.so in /usr/lib too. When we'll have new deb packaging, then dialog.so and mysql_clear_password.so will go in /usr/lib/x86_64-linux-gnu/ just as libmysqlclient.so.18.0.0 will. Either way client plugins should always go together with the client library.
              Hide
              serg Sergei Golubchik added a comment -

              Ah, right, sorry. This issue is — see issue links — blocked by MDEV-6284. It cannot be done until the blocker issue is done.

              Show
              serg Sergei Golubchik added a comment - Ah, right, sorry. This issue is — see issue links — blocked by MDEV-6284 . It cannot be done until the blocker issue is done.

                People

                • Assignee:
                  serg Sergei Golubchik
                  Reporter:
                  otto Otto Kekäläinen
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 30 minutes
                    30m