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

Rename mariadb.pc to mariadbd.pc to avoid confusion

Details

    Description

      Currently we ship libmariadb.pc (for building against the client library) and mariadb.pc (to build against the server). The latter one is confusing to it's name. I've noticed many people assume mariadb.pc is the client library config.

      To avoid ambiguity, I suggest that in MariaDB 10.6 we rename it to mariadbd.pc (instead of mariadb.pc). Or even libmariadbd.pc (to be symmetric with libmariadb.pc). The -d is used in libmariadbd package names already and is kind of a convention.

      As a bonus, this would help avoid some Lintian complaints that stem from this naming scheme confusion:

      W: libmariadb-dev: pkg-config-references-unknown-shared-library usr/share/pkgconfig/mariadb.pc -lz (line 22)
      W: libmariadb-dev: pkg-config-references-unknown-shared-library usr/share/pkgconfig/mariadb.pc -lssl (line 22)
      W: libmariadb-dev: pkg-config-references-unknown-shared-library usr/share/pkgconfig/mariadb.pc -lcrypto (line 22)
      

      Attachments

        Issue Links

          Activity

            serg Sergei Golubchik added a comment - - edited

            the naming pattern with lib* is more common, but not overwhelmingly. About 1/3rd of all *.pc files have lib* prefix. On my laptop it's 136 lib*.pc files and 299 without lib*.

            So I'd rather stick to the lib* old names for backward compatibility reason. I just don't see a good reason to break existing applications that check for libmariadb.pc.

            serg Sergei Golubchik added a comment - - edited the naming pattern with lib* is more common, but not overwhelmingly. About 1/3rd of all *.pc files have lib* prefix. On my laptop it's 136 lib*.pc files and 299 without lib*. So I'd rather stick to the lib* old names for backward compatibility reason. I just don't see a good reason to break existing applications that check for libmariadb.pc.

            I tried to research how much there might be downstream applications building with libmariadb.pc/mariadb.pc.

            https://codesearch.debian.net/search?q=-llibmariadb&literal=1

            • only 1 (qtbase-opensource-src-gles)

            https://codesearch.debian.net/search?q=-lmariadb&literal=1&perpkg=1

            • 10 packages (due to how codesearch.debian.net works, some results also have '-libmariadbclient'*

            https://github.com/search?q=%22-lmysqlclient%22&type=code

            • 41000 results

            https://github.com/search?q=%22-lmariadbclient%22&type=code

            • 400 results

            https://github.com/search?q=%22-lmysql%22&type=code

            • 1026 results

            https://github.com/search?q=%22-lmariadb%22&type=code

            • 912 results

            https://github.com/search?q=%22-llibmysql%22&type=code

            • 630 results

            https://github.com/search?q=%22-llibmariadb%22&type=code

            • 26 results

            https://github.com/search?q=%22-llibmysqlclient%22&type=code

            • 27 results

            I tried to use data to make a good decision here, but I am not sure if I learned of the above anything. Sharing results of this check anyway.

            otto Otto Kekäläinen added a comment - I tried to research how much there might be downstream applications building with libmariadb.pc/mariadb.pc. https://codesearch.debian.net/search?q=-llibmariadb&literal=1 only 1 (qtbase-opensource-src-gles) https://codesearch.debian.net/search?q=-lmariadb&literal=1&perpkg=1 10 packages (due to how codesearch.debian.net works, some results also have '-libmariadbclient'* https://github.com/search?q=%22-lmysqlclient%22&type=code 41000 results https://github.com/search?q=%22-lmariadbclient%22&type=code 400 results https://github.com/search?q=%22-lmysql%22&type=code 1026 results https://github.com/search?q=%22-lmariadb%22&type=code 912 results https://github.com/search?q=%22-llibmysql%22&type=code 630 results https://github.com/search?q=%22-llibmariadb%22&type=code 26 results https://github.com/search?q=%22-llibmysqlclient%22&type=code 27 results I tried to use data to make a good decision here, but I am not sure if I learned of the above anything. Sharing results of this check anyway.

            This would clean up things as currently (including myself) it took a while to understand what is the diffrence between these two pc-files. Symlink can be provided to support older packages as this not for Windows.

            illuusio Tuukka Pasanen added a comment - This would clean up things as currently (including myself) it took a while to understand what is the diffrence between these two pc-files. Symlink can be provided to support older packages as this not for Windows.

            serg Can you approve/merge https://github.com/MariaDB/server/pull/1800? It was been updated (long ago) to address your requests. It would be good timing to merge this now into 11.0.

            otto Otto Kekäläinen added a comment - serg Can you approve/merge https://github.com/MariaDB/server/pull/1800? It was been updated (long ago) to address your requests. It would be good timing to merge this now into 11.0.

            serg, you approved this PR a while ago. It got updated recently. Is there anything blocking it from being merged?

            svoj Sergey Vojtovich added a comment - serg , you approved this PR a while ago. It got updated recently. Is there anything blocking it from being merged?

            People

              otto Otto Kekäläinen
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.