Changes:
- only one client port for each provider:
- databases/mysql-client
- databases/mariadb-client
- servers install to ${LOCALBASE}/${provider}${version}
- new default version MYSQL_CLIENT_DEFAULT=mysql|mariadb
- mysql.mk only adds run or build depends on ${MYSQL_CLIENT_DEFAULT}
The greatest benefit of this is, that one can have multiple
mysql/mariadb servers installed at once; which makes migrations
to never server versions finally easier.
The respective client ports should be kept at the version of the latest
provided server package. So if there is a databases/mysql82-server port
in the future, databases/mysql-client should be updated to use that one.
Note: the clients are backwards compatible.
This is following the idea proposed back in 2015 [1] for the postgresql ports.
I plan to implement the same "one client-port, multiple-server ports in prefix"
for them as well after this change is finished.
[1] https://lists.freebsd.org/pipermail/freebsd-ports/2015-July/099842.html
TODO:
- Test the change ;-) -- ideally by someone who has actually some DBs
- Remove IGNORE_WITH_MYSQL -- as the packages no longer pull in a server this becomse meaning less. You just installl the package and a compatible server backend.
- Cleanup dependencies -- there are ports that have specific server options. They should be removed, as servers should be chosen by the administrators.
- Double-check the RC scripts that they make sense this way.
- Fix up plists in the server ports (they stage, but maybe could need some love :D) [...] n) Bump revision of all ports with USES=mysql