1 # $NetBSD: mysql.buildlink3.mk,v 1.16 2013/03/02 20:33:03 wiz Exp $
3 # This file is included by packages that require some version of the
4 # MySQL database client.
6 # === User-settable variables ===
8 # MYSQL_VERSION_DEFAULT
9 # The preferred MySQL version.
11 # Possible: 56 55 51 50
14 # === Package-settable variables ===
16 # MYSQL_VERSIONS_ACCEPTED
17 # The list of MySQL versions that the package accepts.
19 # Possible: (see MYSQL_VERSION_DEFAULT)
23 .if
!defined
(MYSQL_VERSION_MK
)
24 MYSQL_VERSION_MK
= # defined
27 _USER_VARS.mysql
= MYSQL_VERSION_DEFAULT
28 _PKG_VARS.mysql
= MYSQL_VERSIONS_ACCEPTED
29 _SYS_VARS.mysql
= MYSQL_PKGSRCDIR
31 .
include "../../mk/bsd.prefs.mk"
33 MYSQL_VERSION_DEFAULT?
= 55
34 MYSQL_VERSIONS_ACCEPTED?
= 56 55 51 50
36 # transform the list into individual variables
37 .for mv in
${MYSQL_VERSIONS_ACCEPTED}
38 _MYSQL_VERSION_
${mv}_OK
= yes
41 # check what is installed
42 .if
${OPSYS} == "Darwin"
43 . if exists
(${LOCALBASE}/lib
/libmysqlclient
.18.dylib
)
44 . if exists
(${LOCALBASE}/include/mysql
/mysql
/client_authentication.h
)
45 _MYSQL_VERSION_56_INSTALLED
= yes
46 _MYSQL_VERSION_INSTALLED
= 56
48 _MYSQL_VERSION_55_INSTALLED
= yes
49 _MYSQL_VERSION_INSTALLED
= 55
52 . if exists
(${LOCALBASE}/lib
/mysql
/libmysqlclient
.16.dylib
)
53 _MYSQL_VERSION_51_INSTALLED
= yes
54 _MYSQL_VERSION_INSTALLED
= 51
56 . if exists
(${LOCALBASE}/lib
/mysql
/libmysqlclient
.15.dylib
)
57 _MYSQL_VERSION_50_INSTALLED
= yes
58 _MYSQL_VERSION_INSTALLED
= 50
61 . if exists
(${LOCALBASE}/lib
/libmysqlclient.so
.18)
62 . if exists
(${LOCALBASE}/include/mysql
/mysql
/client_authentication.h
)
63 _MYSQL_VERSION_56_INSTALLED
= yes
64 _MYSQL_VERSION_INSTALLED
= 56
66 _MYSQL_VERSION_55_INSTALLED
= yes
67 _MYSQL_VERSION_INSTALLED
= 55
70 . if exists
(${LOCALBASE}/lib
/mysql
/libmysqlclient.so
.16)
71 _MYSQL_VERSION_51_INSTALLED
= yes
72 _MYSQL_VERSION_INSTALLED
= 51
74 . if exists
(${LOCALBASE}/lib
/mysql
/libmysqlclient.so
.15)
75 _MYSQL_VERSION_50_INSTALLED
= yes
76 _MYSQL_VERSION_INSTALLED
= 50
81 # if a version is explicitely required, take it
82 .if defined
(MYSQL_VERSION_REQD
)
83 _MYSQL_VERSION
= ${MYSQL_VERSION_REQD}
85 # if the default is already installed, it is first choice
86 .if
!defined
(_MYSQL_VERSION
)
87 . if defined
(_MYSQL_VERSION_
${MYSQL_VERSION_DEFAULT}_OK
)
88 . if defined
(_MYSQL_VERSION_
${MYSQL_VERSION_DEFAULT}_INSTALLED
)
89 _MYSQL_VERSION
= ${MYSQL_VERSION_DEFAULT}
93 # prefer an already installed version, in order of "accepted"
94 .if
!defined
(_MYSQL_VERSION
)
95 . for mv in
${MYSQL_VERSIONS_ACCEPTED}
96 . if defined
(_MYSQL_VERSION_
${mv}_INSTALLED
)
97 _MYSQL_VERSION?
= ${mv}
99 # keep information as last resort - see below
100 _MYSQL_VERSION_FIRSTACCEPTED?
= ${mv}
104 # if the default is OK for the addon pkg, take this
105 .if
!defined
(_MYSQL_VERSION
)
106 . if defined
(_MYSQL_VERSION_
${MYSQL_VERSION_DEFAULT}_OK
)
107 _MYSQL_VERSION
= ${MYSQL_VERSION_DEFAULT}
110 # take the first one accepted by the package
111 .if
!defined
(_MYSQL_VERSION
)
112 _MYSQL_VERSION
= ${_MYSQL_VERSION_FIRSTACCEPTED}
116 # set variables for the version we decided to use:
118 .if
${_MYSQL_VERSION} == "56"
119 MYSQL_PKGSRCDIR
= ..
/..
/databases
/mysql56-client
120 .elif
${_MYSQL_VERSION} == "55"
121 MYSQL_PKGSRCDIR
= ..
/..
/databases
/mysql55-client
122 .elif
${_MYSQL_VERSION} == "51"
123 MYSQL_PKGSRCDIR
= ..
/..
/databases
/mysql51-client
124 .elif
${_MYSQL_VERSION} == "50"
125 MYSQL_PKGSRCDIR
= ..
/..
/databases
/mysql5-client
128 PKG_FAIL_REASON
+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package."
132 # check installed version aginst required:
134 .if defined
(_MYSQL_VERSION_INSTALLED
)
135 . if
${_MYSQL_VERSION} != ${_MYSQL_VERSION_INSTALLED}
136 PKG_SKIP_REASON
+= "${PKGBASE} requires mysql-${_MYSQL_VERSION}, but mysql-${_MYSQL_VERSION_INSTALLED} is already installed."
140 .
include "${MYSQL_PKGSRCDIR}/buildlink3.mk"
142 .
endif # MYSQL_VERSION_MK