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

Diff of /eclass/mysql.eclass

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

Revision 1.87 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.87 2008/03/09 21:19:14 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>
34# MYSQL_VERSION_ID will be: 34# MYSQL_VERSION_ID will be:
35# 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]
36# 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
37# depend on this variable. 37# depend on this variable.
38# 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
39 40
40MYSQL_VERSION_ID="" 41MYSQL_VERSION_ID=""
42tpv="${PV%[a-z]}"
41tpv=( ${PV//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}" 43tpv=( ${tpv//[-._]/ } ) ; tpv[3]="${PVR:${#PV}}" ; tpv[3]="${tpv[3]##*-r}"
42for vatom in 0 1 2 3 ; do 44for vatom in 0 1 2 3 ; do
43 # pad to length 2 45 # pad to length 2
44 tpv[${vatom}]="00${tpv[${vatom}]}" 46 tpv[${vatom}]="00${tpv[${vatom}]}"
45 MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}" 47 MYSQL_VERSION_ID="${MYSQL_VERSION_ID}${tpv[${vatom}]:0-2}"
46done 48done
47# 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)
48MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"} 50MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
49 51
50# Be warned, *DEPEND are version-dependant 52# Be warned, *DEPEND are version-dependant
53# These are used for both runtime and compiletime
51DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d ) 54DEPEND="ssl? ( >=dev-libs/openssl-0.9.6d )
52 userland_GNU? ( sys-process/procps ) 55 userland_GNU? ( sys-process/procps )
53 >=sys-apps/sed-4 56 >=sys-apps/sed-4
54 >=sys-apps/texinfo-4.7-r1 57 >=sys-apps/texinfo-4.7-r1
55 >=sys-libs/readline-4.1 58 >=sys-libs/readline-4.1
59for i in "" "-community" ; do 62for i in "" "-community" ; do
60 [[ "${i}" == ${PN#mysql} ]] || 63 [[ "${i}" == ${PN#mysql} ]] ||
61 DEPEND="${DEPEND} !dev-db/mysql${i}" 64 DEPEND="${DEPEND} !dev-db/mysql${i}"
62done 65done
63 66
67RDEPEND="${DEPEND}
68 !minimal? ( dev-db/mysql-init-scripts )
69 selinux? ( sec-policy/selinux-mysql )"
70
71# compile-time-only
64mysql_version_is_at_least "5.1" \ 72mysql_version_is_at_least "5.1" \
65|| DEPEND="${DEPEND} berkdb? ( sys-apps/ed )" 73|| DEPEND="${DEPEND} berkdb? ( sys-apps/ed )"
66 74
75# compile-time-only
67mysql_version_is_at_least "5.1.12" \ 76mysql_version_is_at_least "5.1.12" \
68&& DEPEND="${DEPEND} innodb? ( >=dev-util/cmake-2.4.3 )" 77&& DEPEND="${DEPEND} innodb? ( >=dev-util/cmake-2.4.3 )"
69 78
79# BitKeeper dependency, compile-time only
80[[ ${IS_BITKEEPER} -eq 90 ]] && DEPEND="${DEPEND} dev-util/bk_client"
81
82
70# 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
71PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" 84PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
72
73# BitKeeper dependency, compile-time only
74[[ ${IS_BITKEEPER} -eq 90 ]] && DEPEND="${DEPEND} dev-util/bk_client"
75 85
76# Work out the default SERVER_URI correctly 86# Work out the default SERVER_URI correctly
77if [ -z "${SERVER_URI}" ]; then 87if [ -z "${SERVER_URI}" ]; then
78 # The community build is on the mirrors 88 # The community build is on the mirrors
79 if [ "${PN}" == "mysql-community" ]; then 89 if [ "${PN}" == "mysql-community" ]; then
118mysql_version_is_at_least "5.1" \ 128mysql_version_is_at_least "5.1" \
119|| IUSE="${IUSE} berkdb" 129|| IUSE="${IUSE} berkdb"
120 130
121mysql_version_is_at_least "5.1.12" \ 131mysql_version_is_at_least "5.1.12" \
122&& IUSE="${IUSE} pbxt" 132&& IUSE="${IUSE} pbxt"
123
124RDEPEND="${DEPEND}
125 !minimal? ( dev-db/mysql-init-scripts )
126 selinux? ( sec-policy/selinux-mysql )"
127 133
128EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst \ 134EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst \
129 pkg_postinst pkg_config pkg_postrm 135 pkg_postinst pkg_config pkg_postrm
130 136
131# 137#
222 MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ 228 MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
223 | sed -ne '/datadir/s|^--datadir=||p' \ 229 | sed -ne '/datadir/s|^--datadir=||p' \
224 | tail -n1` 230 | tail -n1`
225 if [[ -z "${MY_DATADIR}" ]] ; then 231 if [[ -z "${MY_DATADIR}" ]] ; then
226 MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ 232 MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
227 | sed -e 's/.*=\s*//'` 233 | sed -e 's/.*=\s*//' \
234 | tail -n1`
228 fi 235 fi
229 fi 236 fi
230 if [[ -z "${MY_DATADIR}" ]] ; then 237 if [[ -z "${MY_DATADIR}" ]] ; then
231 MY_DATADIR="${MY_LOCALSTATEDIR}" 238 MY_DATADIR="${MY_LOCALSTATEDIR}"
232 einfo "Using default MY_DATADIR" 239 einfo "Using default MY_DATADIR"

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

  ViewVC Help
Powered by ViewVC 1.1.20