/[gentoo-x86]/eclass/mysql.eclass
Gentoo

Diff of /eclass/mysql.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.86 Revision 1.90
1# Copyright 1999-2007 Gentoo Foundation 1# Copyright 1999-2007 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.86 2008/03/09 21:13:22 robbat2 Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.90 2008/05/22 18:13:33 robbat2 Exp $
4 4
5# Author: Francesco Riosa (Retired) <vivo@gentoo.org> 5# Author: Francesco Riosa (Retired) <vivo@gentoo.org>
6# Maintainer: MySQL Team <mysql-bugs@gentoo.org> 6# Maintainer: MySQL Team <mysql-bugs@gentoo.org>
7# - Luca Longinotti <chtekk@gentoo.org> 7# - Luca Longinotti <chtekk@gentoo.org>
8# - Robin H. Johnson <robbat2@gentoo.org> 8# - Robin H. Johnson <robbat2@gentoo.org>
16# and we will run a mysql server during test phase 16# and we will run a mysql server during test phase
17S="${WORKDIR}/mysql" 17S="${WORKDIR}/mysql"
18 18
19[[ "${MY_EXTRAS_VER}" == "latest" ]] && MY_EXTRAS_VER="20070108" 19[[ "${MY_EXTRAS_VER}" == "latest" ]] && MY_EXTRAS_VER="20070108"
20if [[ "${MY_EXTRAS_VER}" == "live" ]]; then 20if [[ "${MY_EXTRAS_VER}" == "live" ]]; then
21 EGIT_PROJECT=mysql-extras
21 EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git" 22 EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git"
22 inherit git 23 inherit git
23fi 24fi
24 25
25if [[ ${PR#r} -lt 60 ]] ; then 26if [[ ${PR#r} -lt 60 ]] ; then
33# MYSQL_VERSION_ID will be: 34# MYSQL_VERSION_ID will be:
34# major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99] 35# major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99]
35# This is an important part, because many of the choices the MySQL ebuild will do 36# This is an important part, because many of the choices the MySQL ebuild will do
36# depend on this variable. 37# depend on this variable.
37# In particular, the code below transforms a $PVR like "5.0.18-r3" in "5001803" 38# In particular, the code below transforms a $PVR like "5.0.18-r3" in "5001803"
39# We also strip off upstream's trailing letter that they use to respin tarballs
38 40
39MYSQL_VERSION_ID="" 41MYSQL_VERSION_ID=""
42tpv="${PV%[a-z]}"
40tpv=( ${PV//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}" 43tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
41for vatom in 0 1 2 3 ; do 44for vatom in 0 1 2 3 ; do
42 # pad to length 2 45 # pad to length 2
43 tpv[${vatom}]="00${tpv[${vatom}]}" 46 tpv[${vatom}]="00${tpv[${vatom}]}"
44 MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}" 47 MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
45done 48done
46# strip leading "0" (otherwise it's considered an octal number by BASH) 49# strip leading "0" (otherwise it's considered an octal number by BASH)
47MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"} 50MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
48 51
49# Be warned, *DEPEND are version-dependant 52# Be warned, *DEPEND are version-dependant
53# These are used for both runtime and compiletime
50DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d ) 54DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d )
51 userland_GNU? ( sys-process/procps ) 55 userland_GNU? ( sys-process/procps )
52 >=sys-apps/sed-4 56 >=sys-apps/sed-4
53 >=sys-apps/texinfo-4.7-r1 57 >=sys-apps/texinfo-4.7-r1
54 >=sys-libs/readline-4.1 58 >=sys-libs/readline-4.1
58for i in "" "-community" ; do 62for i in "" "-community" ; do
59 [[ "${i}" == ${PN#mysql} ]] || 63 [[ "${i}" == ${PN#mysql} ]] ||
60 DEPEND="${DEPEND} !dev-db/mysql${i}" 64 DEPEND="${DEPEND} !dev-db/mysql${i}"
61done 65done
62 66
67RDEPEND="${DEPEND}
68 !minimal? ( dev-db/mysql-init-scripts )
69 selinux? ( sec-policy/selinux-mysql )"
70
71# compile-time-only
63mysql_version_is_at_least "5.1" \ 72mysql_version_is_at_least "5.1" \
64|| DEPEND="${DEPEND} berkdb? ( sys-apps/ed )" 73|| DEPEND="${DEPEND} berkdb? ( sys-apps/ed )"
65 74
75# compile-time-only
66mysql_version_is_at_least "5.1.12" \ 76mysql_version_is_at_least "5.1.12" \
67&& DEPEND="${DEPEND} innodb? ( >=dev-util/cmake-2.4.3 )" 77&& DEPEND="${DEPEND} innodb? ( >=dev-util/cmake-2.4.3 )"
68 78
79# BitKeeper dependency, compile-time only
80[[ ${IS_BITKEEPER} -eq 90 ]] && DEPEND="${DEPEND} dev-util/bk_client"
81
82
69# dev-perl/DBD-mysql is needed by some scripts installed by MySQL 83# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
70PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" 84PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
71
72# BitKeeper dependency, compile-time only
73[[ ${IS_BITKEEPER} -eq 90 ]] && DEPEND="${DEPEND} dev-util/bk_client"
74 85
75# Work out the default SERVER_URI correctly 86# Work out the default SERVER_URI correctly
76if [ -z "${SERVER_URI}" ]; then 87if [ -z "${SERVER_URI}" ]; then
77 # The community build is on the mirrors 88 # The community build is on the mirrors
78 if [ "${PN}" == "mysql-community" ]; then 89 if [ "${PN}" == "mysql-community" ]; then
117mysql_version_is_at_least "5.1" \ 128mysql_version_is_at_least "5.1" \
118|| IUSE="${IUSE} berkdb" 129|| IUSE="${IUSE} berkdb"
119 130
120mysql_version_is_at_least "5.1.12" \ 131mysql_version_is_at_least "5.1.12" \
121&& IUSE="${IUSE} pbxt" 132&& IUSE="${IUSE} pbxt"
122
123RDEPEND="${DEPEND}
124 !minimal? ( dev-db/mysql-init-scripts )
125 selinux? ( sec-policy/selinux-mysql )"
126 133
127EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst \ 134EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst \
128 pkg_postinst pkg_config pkg_postrm 135 pkg_postinst pkg_config pkg_postrm
129 136
130# 137#
221 MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ 228 MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
222 | sed -ne '/datadir/s|^--datadir=||p' \ 229 | sed -ne '/datadir/s|^--datadir=||p' \
223 | tail -n1` 230 | tail -n1`
224 if [[ -z "${MY_DATADIR}" ]] ; then 231 if [[ -z "${MY_DATADIR}" ]] ; then
225 MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ 232 MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
226 | sed -e 's/.*=\s*//'` 233 | sed -e 's/.*=\s*//' \
234 | tail -n1`
227 fi 235 fi
228 fi 236 fi
229 if [[ -z "${MY_DATADIR}" ]] ; then 237 if [[ -z "${MY_DATADIR}" ]] ; then
230 MY_DATADIR="${MY_LOCALSTATEDIR}" 238 MY_DATADIR="${MY_LOCALSTATEDIR}"
231 einfo "Using default MY_DATADIR" 239 einfo "Using default MY_DATADIR"

Legend:
Removed from v.1.86  
changed lines
  Added in v.1.90

  ViewVC Help
Powered by ViewVC 1.1.20