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.

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 Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 1239
Build 1243: arc lint + arc unit

Event Timeline

brnrd updated this revision to Diff 10199.Nov 15 2015, 4:48 PM
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 updated this revision to Diff 10202.Nov 15 2015, 5:44 PM
brnrd edited edge metadata.

Add patches for the various MySQL client and server ports

brnrd updated this revision to Diff 10208.Nov 15 2015, 7:44 PM
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 updated this revision to Diff 10211.Nov 15 2015, 7:55 PM
brnrd edited edge metadata.

All versions now have a '.' in them!

brnrd updated this object.Nov 15 2015, 8:07 PM
brnrd edited the test plan for this revision. (Show Details)
brnrd edited edge metadata.
brnrd updated this revision to Diff 10395.Nov 21 2015, 10:41 AM
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
brnrd added a comment.Dec 15 2015, 9:05 PM

List of all ports referring to mysql


List of all ports with USE_MYSQL or OPT_USE=mysql

brnrd updated this object.Jan 4 2016, 2:46 PM
brnrd edited edge metadata.
mat added a subscriber: mat.Jan 4 2016, 3:51 PM

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.

brnrd added a comment.Jan 4 2016, 7:49 PM
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

brnrd abandoned this revision.Apr 29 2016, 10:37 AM

Obsoleted by D5951