Page MenuHomeFreeBSD

Strip MySQL code out of bsd.databases.mk and introduce USES=mysql
AbandonedPublic

Authored by brnrd on Nov 15 2015, 4:48 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 1 2024, 2:03 AM
Unknown Object (File)
Jan 3 2024, 8:55 AM
Unknown Object (File)
Jan 3 2024, 3:47 AM
Unknown Object (File)
Nov 14 2023, 11:57 AM
Unknown Object (File)
Nov 14 2023, 2:57 AM
Unknown Object (File)
Nov 13 2023, 12:16 PM
Unknown Object (File)
Nov 10 2023, 8:09 PM
Unknown Object (File)
Nov 8 2023, 7:48 PM

Details

Reviewers
vsevolod
antoine
koobs
Group Reviewers
portmgr
Summary

Proposed commit log

Strip MySQL code out of bsd.databases.mk and introduce USES=mysql

  - Remove MySQL code from bsd.databases.mk
  - Create new Uses/mysql.mk with the same features
  - Simplify flavours (MariaDB, Percona) handling

New syntax:

# Depend on mysql-client
USES=	mysql

# Depend on mysql-client at least 5.6
USES=	mysql:5.6+

#Depend on mariadb-server at least 10.0
USES=		mysql:10.0m+
WANT_MYSQL=	server

Reviewed_by:	koobs (mentor), feld (mentor)
Accepted by:	(mentor), (portmgr)
Differential_Revision: D4166
Test Plan

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 1151
Build 1155: arc lint + arc unit

Event Timeline

brnrd retitled this revision from to Strip MySQL code out of bsd.databases.mk and introduce USES=mysql.
brnrd updated this object.
brnrd edited the test plan for this revision. (Show Details)
brnrd added reviewers: koobs, vsevolod, antoine.
brnrd edited edge metadata.

Add patches for the various MySQL client and server ports

brnrd edited edge metadata.

Fixes in functionality

  • Fix -server not depending on -client
  • _MYSQL_FLAVOUR as installed vs MYSQL_FLAVOUR as to install
  • Set MYSQL_FLAVOUR always
brnrd edited edge metadata.

All versions now have a '.' in them!

brnrd edited the test plan for this revision. (Show Details)
brnrd edited edge metadata.
brnrd edited the test plan for this revision. (Show Details)

Fix bug and indendation

  • Fixes flavour detection bug when MYSQL_VER is empty
  • Indendation was inconsistent

List of all ports referring to mysql


List of all ports with USE_MYSQL or OPT_USE=mysql

brnrd edited edge metadata.

Are there any ports that depend on a specific version of the server, like you show in the summary, say mysql:10.0m+ ?
Because this seems very wrong, using flavors of mysql should be a global setting, not a per port one.

In D4166#101480, @mat wrote:

Are there any ports that depend on a specific version of the server, like you show in the summary, say mysql:10.0m+ ?
Because this seems very wrong, using flavors of mysql should be a global setting, not a per port one.

No, there are none as far as I know. There are ports depending on MySQL server but none seem to depend on a specific version.
Only for client there are ports depending on specific versions but even these are currently redundant (highest version found 51+, there's no mysql port at a lower version at the moment)
With the advent of MariaDB and Percona there are versions with additional capabilities again which may then be required by ports. With MySQL the client has also changed, the .so was bumped from .18 to .20 so there are API changes as well that a port may require.
The only place where a version is really used is with the {mariadb/mysql/percona}-server ports to pull in the same version -client with WANT_MYSQL_VER= 56 construct.
The comment is a copy of the commit log for pgsql.mk https://svnweb.freebsd.org/ports?view=revision&revision=339550