Hi all,

To help people that use mariadb *and* permit different mariadb versions
in the ports tree, I propose this patch to bsd.database.mk with
MYSQL_PROV, _MYSQL_PROV, WANT_MYSQL_PROV and DEFAULT_MYSQL_PROV that
defaults to mysql to keep current behaviour.

This way, one can define MYSQL_PROV in make.conf to use mariadb, and we
may rename mariadb-* as mariadb53-*, allowing to create mariadb55-* port
at first.

For the moment, only the 'magic' MYSQL_VER=53 can install mariadb,
because the is no mysql53-*, but this is not the same for 5.5...

Any thoughts ?

-- 
*geoffroy desvernay*
C.R.I - Administration systèmes et réseaux
Ecole Centrale de Marseille
--- bsd.database.mk.orig        2012-06-19 01:23:17.000000000 +0200
+++ bsd.database.mk     2012-09-03 20:02:34.000000000 +0200
@@ -34,6 +34,13 @@
 #                              - User defined variable to set MySQL version.
 # MYSQL_VER
 #                              - Detected MySQL version.
+# DEFAULT_MYSQL_PROV
+#                              - default mysql provider
+#                                If none, use installed one. If none, use 
mysql port
+# WANT_MYSQL_PROV
+#                              - Maintainer may use that to match a specific 
provider
+# MYSQL_PROV
+#                              - Provider for mysql* programs (eg: mariadb)
 ##
 # USE_PGSQL            - Add PostgreSQL client dependency.  Components can be 
depended
 #                                on using USE_PGSQL=   component[:target].  
For the full list
@@ -104,6 +111,7 @@
 
 .if defined(USE_MYSQL)
 DEFAULT_MYSQL_VER?=    55
+DEFAULT_MYSQL_PROV?=   mysql
 # MySQL client version currently supported.
 MYSQL41_LIBVER=                14
 MYSQL50_LIBVER=                15
@@ -114,11 +122,27 @@
 # Setting/finding MySQL version we want.
 .if exists(${LOCALBASE}/bin/mysql)
 _MYSQL_VER!=   ${LOCALBASE}/bin/mysql --version | ${SED} -e 's/.*Distrib 
\([0-9]\)\.\([0-9]*\).*/\1\2/'
+_MYSQL_PROV!=  ${LOCALBASE}/bin/mysql --version | ${SED} -e 's/.*Distrib 
[0-9]\.[0-9]*.*-\([A-Za-z]*\),.*/\1/' | tr A-Z a-z
 .endif
 
+.if defined(WANT_MYSQL_PROV)
+.if defined(WITH_MYSQL_PROV) && ${WITH_MYSQL_PROV} != ${WANT_MYSQL_PROV}
+IGNORE=         cannot install: the port wants mysql${WANT_MYSQL_PROV}-client 
and you try to install mysql${WITH_MYSQL_PROV}-client
+.endif
+MYSQL_PROV=      ${WANT_MYSQL_PROV}
+.elif defined(WITH_MYSQL_PROV)
+MYSQL_PROV=      ${WITH_MYSQL_PROV}
+.else
+.if defined(_MYSQL_PROV)
+MYSQL_PROV=      ${_MYSQL_PROV}
+.else
+MYSQL_PROV=      ${DEFAULT_MYSQL_PROV}
+.endif
+.endif # WANT_MYSQL_PROV
+
 .if defined(WANT_MYSQL_VER)
 .if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${WANT_MYSQL_VER}
-IGNORE=                cannot install: the port wants 
mysql${WANT_MYSQL_VER}-client and you try to install 
mysql${WITH_MYSQL_VER}-client
+IGNORE=                cannot install: the port wants 
mysql${WANT_MYSQL_VER}-client and you try to install 
${MYSQL_PROV}${WITH_MYSQL_VER}-client
 .endif
 MYSQL_VER=     ${WANT_MYSQL_VER}
 .elif defined(WITH_MYSQL_VER)
@@ -131,13 +155,19 @@
 .endif
 .endif # WANT_MYSQL_VER
 
+.if defined(_MYSQL_PROV)
+.if ${_MYSQL_PROV} != ${MYSQL_PROV}
+IGNORE=                cannot install: MySQL provider mismatch: 
${_MYSQL_PROV}${_MYSQL_VER}-client is installed and wanted provider is 
${MYSQL_PROV}
+.endif
+.endif
+
 .if defined(_MYSQL_VER)
 .if ${_MYSQL_VER} != ${MYSQL_VER}
 IGNORE=                cannot install: MySQL versions mismatch: 
mysql${_MYSQL_VER}-client is installed and wanted version is 
mysql${MYSQL_VER}-client
 .endif
 .endif
 
-.if (${MYSQL_VER} == "53")
+.if (${MYSQL_PROV} == "mariadb" || ${MYSQL_VER} == "53")
 _MYSQL_CLIENT= databases/mariadb-client
 _MYSQL_SERVER= databases/mariadb-server
 .else
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to