New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MDEV-23538: Rename mariadb.pc to mariadb-embedded-server.pc to avoid confusion #1800
base: 11.4
Are you sure you want to change the base?
Conversation
Hi @ottok ! Is this still WIP, or ready for review? |
Thanks for taking a look! Serg suggested removing the libmariadb symlink in https://jira.mariadb.org/browse/MDEV-23538. The PR is technically done, we just need to get a technical decision on the naming, see Jira. My suggestion is this PR. |
And yeah, the |
This should be done in CMakeFiles so it would be benefiting RPM also. |
@illuusio If you make a CMake level implementation and post the PR url here, I will close this PR in favor of yours. |
692bb20
to
b18f981
Compare
Ideally this would be fixed on the CMake level. Never the less, I also now rebased this on latest 10.9. Also, due to @vuvova comment in https://jira.mariadb.org/browse/MDEV-23538 I changed the new name from |
624e256
to
cdf6b32
Compare
Rebased on 11.0 now. It was already fine to merge in 10.9, hopefully it will get merged now. |
There is problem that most of the code does not compile on Debian withouth patching and compiles on other distros fine or am I missing something? |
9f37032
to
ef00396
Compare
CI currently failing on test |
b5895ab
to
42093ed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ottok, I don't understand. You rename support-files/mariadb.pc
to be installed as libmariadbd.pc
?
But its content is
$ grep Libs support-files/mariadb.pc
Libs: -L${libdir} -lmariadb -ldl -lm -lssl -lcrypto -lz
it's for a client library, not for embedded server. It might make sense to remove it completely. But to install it as libmariadbd.pc
looks totally wrong to me.
@vuvova There is https://github.com/mariadb-corporation/mariadb-connector-c/blob/3.3/mariadb_config/libmariadb.pc.in for the client, and this file is being built and shipped as libmariadb.pc. There is also this server file you referenced that comes from https://github.com/MariaDB/server/blob/11.1/support-files/mariadb.pc.in. MariaDB should not have two For additional context, the contents of the files:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a quick scan of other pkgconfig files installed in distros and came to a similar conclusion to Sergei in the Jira ticket.
If this is to be renamed I recommend using mariadbd.pc
or something more verbose such as mariadb-embedded-server.pc
. Very likely (at least initially) a symlink would be needed too, so that compatibility isn't broken. This is probably something to be discussed in the Jira ticket though.
42093ed
to
ef57ca7
Compare
Rebased on latest 11.2 and also changed to use name |
I think this looks OK now, but I defer to @vuvova's opinion here. |
ef57ca7
to
c4051a6
Compare
a9b8bed
to
619f94d
Compare
Rebased on latest 11.3 but CI seems to fail on tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To my inexperienced eye it looks fine. I'm slightly concerned that out of 671 *.pc
files on my laptop, not a single one is a symlink to a name with (or without) lib
prefix, so this is really unconventional.
Still, there are three symlinks there:
$ find /usr/share/pkgconfig/ /usr/lib/pkgconfig/ /usr/lib64/pkgconfig/ -type l -ls
8673227 0 lrwxrwxrwx 1 root root 12 May 4 16:49 /usr/lib64/pkgconfig/libcrypt.pc -> libxcrypt.pc
8671475 0 lrwxrwxrwx 1 root root 11 Sep 2 15:19 /usr/lib64/pkgconfig/babl.pc -> babl-0.1.pc
8791259 0 lrwxrwxrwx 1 root root 11 Sep 2 15:00 /usr/lib64/pkgconfig/libpng.pc -> libpng16.pc
so at least it's possible and pkg-config
won't crash on that.
619f94d
to
300c47a
Compare
Rebased on latest 11.3. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ottok I don't appear to have permissions to rebase this for some reason, and there is a minor typo, if you could fix it, we should be good to go.
08e361e
to
f893be5
Compare
…confusion Change so that the client library config can be accessed using the name mariadb.pc (or libmariadb.pc). Rename old mariadb.pc to mariadb-embedded-server.pc to better indicate that the config is for the daemon build, not client. Also keep/include names with 'lib' as symlinks, as it aligns with how most of *.pc files are named in general. In downstream Debian we already ship the libmariadb.pc as mariadb.pc: https://salsa.debian.org/mariadb-team/mariadb-10.5/-/commit/2f183af990fbe1cfa8c343998c7640f45f45368b After this change we would have for the files: - mariadb.pc for client (with libmariadb.pc as symlink) - mariadb-embedded-sever.pc for server (with libmariadbd.pc as symlink)
https://jira.mariadb.org/browse/MDEV-23538
Change so that the client library config can be accessed using the name
libmariadb.pc or mariadb.pc. Rename old mariadb.pc to mariadbd.pc to better
indicate that the config is for the daemon build, not client.
In downstream Debian we already ship the libmariadb.pc as mariadb.pc:
https://salsa.debian.org/mariadb-team/mariadb-10.5/-/commit/2f183af990fbe1cfa8c343998c7640f45f45368b