Thu Mar 18 14:38:13 2010 UTC ()
Add trial check MySQL version between acceptable and current installed.


(taca)
diff -r1.10 -r1.11 pkgsrc/mk/mysql.buildlink3.mk

cvs diff -r1.10 -r1.11 pkgsrc/mk/mysql.buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/mk/mysql.buildlink3.mk 2010/03/05 13:47:06 1.10
+++ pkgsrc/mk/mysql.buildlink3.mk 2010/03/18 14:38:13 1.11
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: mysql.buildlink3.mk,v 1.10 2010/03/05 13:47:06 taca Exp $ 1# $NetBSD: mysql.buildlink3.mk,v 1.11 2010/03/18 14:38:13 taca Exp $
2# 2#
3# This file is included by packages that require some version of the 3# This file is included by packages that require some version of the
4# MySQL database client. 4# MySQL database client.
5# 5#
6# === User-settable variables === 6# === User-settable variables ===
7# 7#
8# MYSQL_VERSION_DEFAULT 8# MYSQL_VERSION_DEFAULT
9# The preferred MySQL version. 9# The preferred MySQL version.
10# 10#
11# Possible: 51 50 41 11# Possible: 51 50 41
12# Default: 50 12# Default: 50
13# 13#
14# === Package-settable variables === 14# === Package-settable variables ===
@@ -31,34 +31,37 @@ _SYS_VARS.mysql= MYSQL_PKGSRCDIR @@ -31,34 +31,37 @@ _SYS_VARS.mysql= MYSQL_PKGSRCDIR
31.include "../../mk/bsd.prefs.mk" 31.include "../../mk/bsd.prefs.mk"
32 32
33MYSQL_VERSION_DEFAULT?= 50 33MYSQL_VERSION_DEFAULT?= 50
34MYSQL_VERSIONS_ACCEPTED?= 51 50 41 34MYSQL_VERSIONS_ACCEPTED?= 51 50 41
35 35
36# transform the list into individual variables 36# transform the list into individual variables
37.for mv in ${MYSQL_VERSIONS_ACCEPTED} 37.for mv in ${MYSQL_VERSIONS_ACCEPTED}
38_MYSQL_VERSION_${mv}_OK= yes 38_MYSQL_VERSION_${mv}_OK= yes
39.endfor 39.endfor
40 40
41# check what is installed 41# check what is installed
42.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.16) 42.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.16)
43_MYSQL_VERSION_51_INSTALLED= yes 43_MYSQL_VERSION_51_INSTALLED= yes
 44_MYSQL_VERSION_INSTALLED= 51
44.endif 45.endif
45 46
46.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.15) 47.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.15)
47_MYSQL_VERSION_50_INSTALLED= yes 48_MYSQL_VERSION_50_INSTALLED= yes
 49_MYSQL_VERSION_INSTALLED= 50
48.endif 50.endif
49 51
50.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.14) 52.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.14)
51_MYSQL_VERSION_41_INSTALLED= yes 53_MYSQL_VERSION_41_INSTALLED= yes
 54_MYSQL_VERSION_INSTALLED= 41
52.endif 55.endif
53 56
54# if a version is explicitely required, take it 57# if a version is explicitely required, take it
55.if defined(MYSQL_VERSION_REQD) 58.if defined(MYSQL_VERSION_REQD)
56_MYSQL_VERSION= ${MYSQL_VERSION_REQD} 59_MYSQL_VERSION= ${MYSQL_VERSION_REQD}
57.endif 60.endif
58# if the default is already installed, it is first choice 61# if the default is already installed, it is first choice
59.if !defined(_MYSQL_VERSION) 62.if !defined(_MYSQL_VERSION)
60. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK) 63. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK)
61. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED) 64. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED)
62_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT} 65_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT}
63. endif 66. endif
64. endif 67. endif
@@ -89,16 +92,25 @@ _MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTAC @@ -89,16 +92,25 @@ _MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTAC
89# set variables for the version we decided to use: 92# set variables for the version we decided to use:
90# 93#
91.if ${_MYSQL_VERSION} == "51" 94.if ${_MYSQL_VERSION} == "51"
92MYSQL_PKGSRCDIR= ../../databases/mysql51-client 95MYSQL_PKGSRCDIR= ../../databases/mysql51-client
93.elif ${_MYSQL_VERSION} == "50" 96.elif ${_MYSQL_VERSION} == "50"
94MYSQL_PKGSRCDIR= ../../databases/mysql5-client 97MYSQL_PKGSRCDIR= ../../databases/mysql5-client
95.elif ${_MYSQL_VERSION} == "41" 98.elif ${_MYSQL_VERSION} == "41"
96MYSQL_PKGSRCDIR= ../../databases/mysql4-client 99MYSQL_PKGSRCDIR= ../../databases/mysql4-client
97.else 100.else
98# force an error 101# force an error
99PKG_FAIL_REASON+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package." 102PKG_FAIL_REASON+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package."
100.endif 103.endif
101 104
 105#
 106# check installed version aginst required:
 107#
 108.if defined(_MYSQL_VERSION_INSTALLED)
 109.if ${_MYSQL_VERSION} != ${_MYSQL_VERSION_INSTALLED}
 110PKG_SKIP_REASON+= "${PKGBASE} requires mysql-${_MYSQL_VERSION}, but mysql-${_MYSQL_VERSION_INSTALLED} is already installed."
 111.endif
 112.endif
 113
102.include "${MYSQL_PKGSRCDIR}/buildlink3.mk" 114.include "${MYSQL_PKGSRCDIR}/buildlink3.mk"
103 115
104.endif # MYSQL_VERSION_MK 116.endif # MYSQL_VERSION_MK