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

p5-dbd-mysql: cleanup variant listing and fix mariadb/percona #22718

Merged
merged 1 commit into from
Feb 27, 2024

Conversation

jhoyt4
Copy link
Contributor

@jhoyt4 jhoyt4 commented Feb 18, 2024

Update the Portfile to reduce the redundant work needed to update
variants.

Additionally, in version >5 support for databases other than the
mysql8x was dropped. Fix broken mariadb and percona variants by
pointing them to an older version (4). These versions will need to
be pruned when they go EOL. Mariadb based ports should start to
migrate to using p5-dbd-mariadb

Description

Basically, the old portfile was very manually intensive to update leading to lots of place where a small detail could be missed causing errors. This update automates many of those issues.

Additionally, DBD:mysql versions greater than 5 no longer support SQL variants other than mysql8+. As such, have the portfile install v5+ for mysql8+ variants and install the older v4 for mariadb / percona.

When those versions of mariadb/percona retire, this workaround should be removed from the portfile.

Users need to suggest to their upstream counterparts to move away from DBD:mysql for mariadb and percona based installs.

Reference Trac ticket 69359 for additional details on how we got here.

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 14.3.1 23D60 x86_64
Xcode 15.2 15C500b

Verification

Have you

  • followed our Commit Message Guidelines?
  • squashed and minimized your commits?
  • checked that there aren't other open pull requests for the same change?
  • referenced existing tickets on Trac with full URL in commit message?
  • checked your Portfile with port lint --nitpick?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?
  • checked that the Portfile's most important variants haven't been broken?

@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 18, 2024

This is a WIP. Will convert to a draft once I figure out how to set the version by variant.

@jhoyt4 jhoyt4 force-pushed the dbd-mysql branch 2 times, most recently from 46c2fc5 to 39301f1 Compare February 19, 2024 00:47
@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 19, 2024

...getting closer. Now just need to get conflicts working again

@jhoyt4 jhoyt4 force-pushed the dbd-mysql branch 3 times, most recently from bb44ac7 to 7a7b930 Compare February 19, 2024 01:42
@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 19, 2024

port lint --nitpick has the following errors:

Warning: Variant percona conflicts with non-existing variant mariadb10_4 mysql82 mariadb10_5 mariadb10_10 mariadb10_6 mariadb10_11 mysql8 mysql81
Warning: Variant mariadb10_4 conflicts with non-existing variant percona mysql82 mariadb10_5 mariadb10_10 mariadb10_6 mariadb10_11 mysql8 mysql81
Warning: Variant mysql82 conflicts with non-existing variant percona mariadb10_4 mariadb10_5 mariadb10_10 mariadb10_6 mariadb10_11 mysql8 mysql81
Warning: Variant mariadb10_5 conflicts with non-existing variant percona mariadb10_4 mysql82 mariadb10_10 mariadb10_6 mariadb10_11 mysql8 mysql81
Warning: Variant mariadb10_10 conflicts with non-existing variant percona mariadb10_4 mysql82 mariadb10_5 mariadb10_6 mariadb10_11 mysql8 mysql81
Warning: Variant mariadb10_6 conflicts with non-existing variant percona mariadb10_4 mysql82 mariadb10_5 mariadb10_10 mariadb10_11 mysql8 mysql81
Warning: Variant mariadb10_11 conflicts with non-existing variant percona mariadb10_4 mysql82 mariadb10_5 mariadb10_10 mariadb10_6 mysql8 mysql81
Warning: Variant mysql8 conflicts with non-existing variant percona mariadb10_4 mysql82 mariadb10_5 mariadb10_10 mariadb10_6 mariadb10_11 mysql81
Warning: Variant mysql81 conflicts with non-existing variant percona mariadb10_4 mysql82 mariadb10_5 mariadb10_10 mariadb10_6 mariadb10_11 mysql8

Unfortunately, the conflicts test isn't working correctly, but I've worked around it with an active_variants check

@jhoyt4
Copy link
Contributor Author

jhoyt4 commented Feb 19, 2024

The last force push artificially sets the v4 variants to v5's value to keep port upgrade form wanting to continually upgrade the mysql / percona variants.

@jhoyt4 jhoyt4 marked this pull request as ready for review February 19, 2024 01:57
@jhoyt4 jhoyt4 force-pushed the dbd-mysql branch 2 times, most recently from 56b36f8 to c0874b0 Compare February 22, 2024 11:58
  Update the Portfile to reduce the redudant work needed to update
  variants.

  Additionally, in version >5 support for databases other than the
  mysql8x was dropped.  Fix broken mariadb and percona variants by
  pointing them to an older version (4). These versions will need to
  be pruned when they go EOL.  Mariadb based ports should start to
  migrate to using p5-dbd-mariadb
@pmetzger pmetzger merged commit 1de0049 into macports:master Feb 27, 2024
4 checks passed
@jhoyt4 jhoyt4 deleted the dbd-mysql branch February 28, 2024 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants