Skip to content
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

mariadb-connector-c: make keg_only #196747

Merged
merged 26 commits into from
Nov 9, 2024
Merged

Conversation

cho-m
Copy link
Member

@cho-m cho-m commented Nov 5, 2024

mariadb-connector-c changes:

  • keg_only - to remove conflicts and allow installing at same time as mariadb. This imitates mysql-client.
  • use zstd everywhere to align Linux/macOS dep tree and match mysql-client feature
  • drop unused args (WITH_OPENSSL, OPENSSL_INCLUDE_DIR, COMPILATION_COMMENT)
  • fix path of man pages
  • add -DINSTALL_LIBDIR=#{lib} to simplify Linux RPATH (otherwise dependents will need extra RPATH to #{lib}/mariadb). For backwards compatibility, add symlinks for shared libs that users may have linked to.
  • add -DWITH_MYSQLCOMPAT=ON to simplify dependent builds. Particularly helps avoid accidentally linking to static libmariadbclient.a since MariaDB does not provide libmariadbclient.{so,dylib} symlink and some formulae search for mariadbclient before mariadb.
  • manually create mysql_config symlink to simplify dependent builds as some old formulae don't look for mariadb_config too.
  • compress manpages for small reduction in disk size.

Going to also experiment with switching formulae to MariaDB library given:

  • MySQL is using C++20 features that complicate dependency tree. Particular makes things more troublesome for Ventura and older, which will make it trickier for unsupported older macOS due to LLVM dependency.
  • MariaDB still works with macOS zlib whereas MySQL propagates brew zlib (due to -lz getting passed to dependents)
  • MariaDB connector is significantly smaller to install (e.g. < 2MB vs 125MB) though this could be improved by removing extra binaries from mysql-client.

MariaDB libraries has gotten decent testing in other repositories, e.g. a lot of Linux distros (e.g. Arch, Debian, Fedora) switched many years ago due to worry about Oracle open-source support (though this never became a problem).


The formulae that use DBD::mysql may still need a mysql-client dependency as v5 claims to use some features from that variant. Arch and Debian have kept DBD::mysql v4 to deal with this while Fedora added dependency for MySQL 8.0

This impacts:

  • innotop
  • percona-toolkit
  • percona-xtrabackup

@cho-m cho-m force-pushed the mariadb-connector-c-keg-only branch 2 times, most recently from 66a003e to cf385d1 Compare November 5, 2024 21:33
@github-actions github-actions bot added the long build Set a long timeout for formula testing label Nov 5, 2024
@cho-m cho-m force-pushed the mariadb-connector-c-keg-only branch from cf385d1 to 650c6e3 Compare November 5, 2024 21:50
@cho-m cho-m added CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-no-fail-fast-deps Continue dependent tests despite failing GitHub Actions matrix tests. labels Nov 5, 2024
@cho-m cho-m force-pushed the mariadb-connector-c-keg-only branch 2 times, most recently from 831c58b to 3222759 Compare November 8, 2024 02:26
@cho-m cho-m added maintainer feedback Additional maintainers' opinions may be needed automerge-skip `brew pr-automerge` will skip this pull request labels Nov 8, 2024
@cho-m cho-m marked this pull request as ready for review November 8, 2024 05:52
@cho-m cho-m force-pushed the mariadb-connector-c-keg-only branch from 3222759 to 04094ef Compare November 8, 2024 05:54
@github-actions github-actions bot removed the automerge-skip `brew pr-automerge` will skip this pull request label Nov 8, 2024
@cho-m cho-m added the automerge-skip `brew pr-automerge` will skip this pull request label Nov 8, 2024
@cho-m cho-m removed the automerge-skip `brew pr-automerge` will skip this pull request label Nov 9, 2024
Copy link
Contributor

github-actions bot commented Nov 9, 2024

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Nov 9, 2024
@BrewTestBot BrewTestBot enabled auto-merge November 9, 2024 22:24
@BrewTestBot BrewTestBot added this pull request to the merge queue Nov 9, 2024
Merged via the queue into master with commit fe1187b Nov 9, 2024
15 checks passed
@BrewTestBot BrewTestBot deleted the mariadb-connector-c-keg-only branch November 9, 2024 22:33
tobil4sk added a commit to tobil4sk/neko that referenced this pull request Nov 25, 2024
This brew package is now keg-only so we need to link it explicitly for
it to be symlinked into accessible paths.

Homebrew/homebrew-core#196747
Simn pushed a commit to HaxeFoundation/neko that referenced this pull request Nov 25, 2024
* [ci] Fix pkgconf package conflict

* Link mariadb-connector-c in homebrew install

This brew package is now keg-only so we need to link it explicitly for
it to be symlinked into accessible paths.

Homebrew/homebrew-core#196747

* [ci] Remove verbose flag
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-no-fail-fast-deps Continue dependent tests despite failing GitHub Actions matrix tests. CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. long build Set a long timeout for formula testing maintainer feedback Additional maintainers' opinions may be needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants