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

Diff of /eclass/mysql-v2.eclass

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

Revision 1.9 Revision 1.16
1# Copyright 1999-2011 Gentoo Foundation 1# Copyright 1999-2012 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-v2.eclass,v 1.9 2011/10/07 04:30:18 jmbsvicetto Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-v2.eclass,v 1.16 2012/05/06 10:42:36 heroxbd Exp $
4 4
5# @ECLASS: mysql-v2.eclass 5# @ECLASS: mysql-v2.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Maintainers: 7# Maintainers:
8# - MySQL Team <mysql-bugs@gentoo.org> 8# - MySQL Team <mysql-bugs@gentoo.org>
13# The mysql-v2.eclass is the base eclass to build the mysql and 13# The mysql-v2.eclass is the base eclass to build the mysql and
14# alternative projects (mariadb) ebuilds. 14# alternative projects (mariadb) ebuilds.
15# This eclass uses the mysql-autotools and mysql-cmake eclasses for the 15# This eclass uses the mysql-autotools and mysql-cmake eclasses for the
16# specific bits related to the build system. 16# specific bits related to the build system.
17# It provides the src_unpack, src_prepare, src_configure, src_compile, 17# It provides the src_unpack, src_prepare, src_configure, src_compile,
18# scr_install, pkg_preinst, pkg_postinst, pkg_config and pkg_postrm 18# src_install, pkg_preinst, pkg_postinst, pkg_config and pkg_postrm
19# phase hooks. 19# phase hooks.
20 20
21# @ECLASS-VARIABLE: BUILD 21# @ECLASS-VARIABLE: BUILD
22# @DESCRIPTION: 22# @DESCRIPTION:
23# Build type of the mysql version 23# Build type of the mysql version
51# 51#
52# Supported EAPI versions and export functions 52# Supported EAPI versions and export functions
53# 53#
54 54
55case "${EAPI:-0}" in 55case "${EAPI:-0}" in
56 2|3|4) ;; 56 3|4) ;;
57 *) die "Unsupported EAPI: ${EAPI}" ;; 57 *) die "Unsupported EAPI: ${EAPI}" ;;
58esac 58esac
59 59
60EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_config pkg_postrm 60EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_config pkg_postrm
61 61
77# @DESCRIPTION: 77# @DESCRIPTION:
78# Upstream MySQL considers the first two parts of the version number to be the 78# Upstream MySQL considers the first two parts of the version number to be the
79# major version. Upgrades that change major version should always run 79# major version. Upgrades that change major version should always run
80# mysql_upgrade. 80# mysql_upgrade.
81MYSQL_PV_MAJOR="$(get_version_component_range 1-2 ${PV})" 81MYSQL_PV_MAJOR="$(get_version_component_range 1-2 ${PV})"
82
83# Cluster is a special case...
84if [[ "${PN}" == "mysql-cluster" ]]; then
85 case $PV in
86 6.1*|7.0*|7.1*) MYSQL_PV_MAJOR=5.1 ;;
87 esac
88fi
89
90 82
91# @ECLASS-VARIABLE: MYSQL_VERSION_ID 83# @ECLASS-VARIABLE: MYSQL_VERSION_ID
92# @DESCRIPTION: 84# @DESCRIPTION:
93# MYSQL_VERSION_ID will be: 85# MYSQL_VERSION_ID will be:
94# major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99] 86# major * 10e6 + minor * 10e4 + micro * 10e2 + gentoo revision number, all [0..99]
108MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"} 100MYSQL_VERSION_ID=${MYSQL_VERSION_ID##"0"}
109 101
110# This eclass should only be used with at least mysql-5.1.50 102# This eclass should only be used with at least mysql-5.1.50
111mysql_version_is_at_least "5.1.50" || die "This eclass should only be used with >=mysql-5.1.50" 103mysql_version_is_at_least "5.1.50" || die "This eclass should only be used with >=mysql-5.1.50"
112 104
113# @ECLASS-VARIABLE: MYSQL_COMMUNITY_FEATURES
114# @DESCRIPTION:
115# Specifiy if community features are available. Possible values are 1 (yes)
116# and 0 (no).
117# Community features are available in mysql-community
118# AND in the re-merged mysql-5.0.82 and newer
119if [ "${PN}" == "mysql-community" -o "${PN}" == "mariadb" ]; then
120 MYSQL_COMMUNITY_FEATURES=1
121elif [ "${MYSQL_PV_MAJOR}" == "5.1" ]; then
122 MYSQL_COMMUNITY_FEATURES=1
123elif mysql_version_is_at_least "5.4.0"; then
124 MYSQL_COMMUNITY_FEATURES=1
125else
126 MYSQL_COMMUNITY_FEATURES=0
127fi
128
129
130# @ECLASS-VARIABLE: XTRADB_VER 105# @ECLASS-VARIABLE: XTRADB_VER
131# @DEFAULT_UNSET 106# @DEFAULT_UNSET
132# @DESCRIPTION: 107# @DESCRIPTION:
133# Version of the XTRADB storage engine 108# Version of the XTRADB storage engine
134 109
139 114
140# Work out the default SERVER_URI correctly 115# Work out the default SERVER_URI correctly
141if [ -z "${SERVER_URI}" ]; then 116if [ -z "${SERVER_URI}" ]; then
142 [ -z "${MY_PV}" ] && MY_PV="${PV//_/-}" 117 [ -z "${MY_PV}" ] && MY_PV="${PV//_/-}"
143 if [ "${PN}" == "mariadb" ]; then 118 if [ "${PN}" == "mariadb" ]; then
144 MARIA_FULL_PV="$(replace_version_separator 3 '-' ${PV})" 119 MARIA_FULL_PV="$(replace_version_separator 3 '-' ${MY_PV})"
145 MARIA_FULL_P="${PN}-${MARIA_FULL_PV}" 120 MARIA_FULL_P="${PN}-${MARIA_FULL_PV}"
146 SERVER_URI=" 121 SERVER_URI="
147 http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz 122 http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
148 http://ftp.rediris.es/mirror/MariaDB/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz 123 http://ftp.rediris.es/mirror/MariaDB/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
149 http://maria.llarian.net/download/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz 124 http://maria.llarian.net/download/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
150 http://launchpad.net/maria/${MYSQL_PV_MAJOR}/ongoing/+download/${MARIA_FULL_P}.tar.gz 125 http://launchpad.net/maria/${MYSQL_PV_MAJOR}/ongoing/+download/${MARIA_FULL_P}.tar.gz
151 http://mirrors.fe.up.pt/pub/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz 126 http://mirrors.fe.up.pt/pub/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
152 http://ftp-stud.hs-esslingen.de/pub/Mirrors/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz 127 http://ftp-stud.hs-esslingen.de/pub/Mirrors/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
153 " 128 "
154 # The community and cluster builds are on the mirrors
155 elif [[ "${MYSQL_COMMUNITY_FEATURES}" == "1" || ${PN} == "mysql-cluster" ]] ; then
156 if [[ "${PN}" == "mysql-cluster" ]] ; then
157 URI_DIR="MySQL-Cluster"
158 URI_FILE="mysql-cluster-gpl"
159 else 129 else
160 URI_DIR="MySQL" 130 URI_DIR="MySQL"
161 URI_FILE="mysql" 131 URI_FILE="mysql"
162 fi
163 URI_A="${URI_FILE}-${MY_PV}.tar.gz" 132 URI_A="${URI_FILE}-${MY_PV}.tar.gz"
164 MIRROR_PV=$(get_version_component_range 1-2 ${PV}) 133 MIRROR_PV=$(get_version_component_range 1-2 ${PV})
165 # Recently upstream switched to an archive site, and not on mirrors 134 # Recently upstream switched to an archive site, and not on mirrors
166 SERVER_URI="http://downloads.mysql.com/archives/${URI_FILE}-${MIRROR_PV}/${URI_A} 135 SERVER_URI="http://downloads.mysql.com/archives/${URI_FILE}-${MIRROR_PV}/${URI_A}
167 mirror://mysql/Downloads/${URI_DIR}-${PV%.*}/${URI_A}" 136 mirror://mysql/Downloads/${URI_DIR}-${PV%.*}/${URI_A}"
168 # The (old) enterprise source is on the primary site only
169 elif [ "${PN}" == "mysql" ]; then
170 SERVER_URI="ftp://ftp.mysql.com/pub/mysql/src/mysql-${MY_PV}.tar.gz"
171 fi 137 fi
172fi 138fi
173 139
174# Define correct SRC_URIs 140# Define correct SRC_URIs
175SRC_URI="${SERVER_URI}" 141SRC_URI="${SERVER_URI}"
185DESCRIPTION="A fast, multi-threaded, multi-user SQL database server." 151DESCRIPTION="A fast, multi-threaded, multi-user SQL database server."
186HOMEPAGE="http://www.mysql.com/" 152HOMEPAGE="http://www.mysql.com/"
187if [[ "${PN}" == "mariadb" ]]; then 153if [[ "${PN}" == "mariadb" ]]; then
188 HOMEPAGE="http://mariadb.org/" 154 HOMEPAGE="http://mariadb.org/"
189 DESCRIPTION="MariaDB is a MySQL fork with 3rd-party patches and additional storage engines merged." 155 DESCRIPTION="MariaDB is a MySQL fork with 3rd-party patches and additional storage engines merged."
190fi
191if [[ "${PN}" == "mysql-community" ]]; then
192 DESCRIPTION="${DESCRIPTION} (obsolete, move to dev-db/mysql)"
193fi 156fi
194LICENSE="GPL-2" 157LICENSE="GPL-2"
195SLOT="0" 158SLOT="0"
196 159
197case "${BUILD}" in 160case "${BUILD}" in
204esac 167esac
205 168
206IUSE="${IUSE} latin1" 169IUSE="${IUSE} latin1"
207 170
208IUSE="${IUSE} extraengine" 171IUSE="${IUSE} extraengine"
209if [[ ${PN} != "mysql-cluster" ]] ; then
210 IUSE="${IUSE} cluster" 172IUSE="${IUSE} cluster"
211fi
212 173
213IUSE="${IUSE} max-idx-128" 174IUSE="${IUSE} max-idx-128"
214IUSE="${IUSE} berkdb" 175IUSE="${IUSE} berkdb"
215
216[[ ${MYSQL_COMMUNITY_FEATURES} == 1 ]] \
217&& IUSE="${IUSE} +community profiling" 176IUSE="${IUSE} +community profiling"
218 177
219[[ ${PN} == "mariadb" ]] \ 178[[ ${PN} == "mariadb" ]] \
220&& IUSE="${IUSE} libevent" 179&& IUSE="${IUSE} libevent"
221 180
222[[ ${PN} == "mariadb" ]] \ 181[[ ${PN} == "mariadb" ]] \
225 184
226[[ ${PN} == "mariadb" ]] \ 185[[ ${PN} == "mariadb" ]] \
227&& mysql_version_is_at_least "5.2.5" \ 186&& mysql_version_is_at_least "5.2.5" \
228&& IUSE="${IUSE} sphinx" 187&& IUSE="${IUSE} sphinx"
229 188
189mysql_version_is_at_least "5.5.7" \
190&& IUSE="${IUSE} systemtap"
230 191
231# 192#
232# DEPENDENCIES: 193# DEPENDENCIES:
233# 194#
234 195
245 206
246[[ ${PN} == mariadb ]] \ 207[[ ${PN} == mariadb ]] \
247&& DEPEND="${DEPEND} libevent? ( >=dev-libs/libevent-1.4 )" 208&& DEPEND="${DEPEND} libevent? ( >=dev-libs/libevent-1.4 )"
248 209
249# Having different flavours at the same time is not a good idea 210# Having different flavours at the same time is not a good idea
250for i in "mysql" "mysql-community" "mysql-cluster" "mariadb" ; do 211for i in "mysql" "mariadb" ; do
251 [[ ${i} == ${PN} ]] || 212 [[ ${i} == ${PN} ]] ||
252 DEPEND="${DEPEND} !dev-db/${i}" 213 DEPEND="${DEPEND} !dev-db/${i}"
253done 214done
254 215
255# prefix: first need to implement something for #196294 216# prefix: first need to implement something for #196294
277 238
278[[ "${PN}" == "mariadb" ]] \ 239[[ "${PN}" == "mariadb" ]] \
279&& mysql_version_is_at_least "5.2.5" \ 240&& mysql_version_is_at_least "5.2.5" \
280&& DEPEND="${DEPEND} sphinx? ( app-misc/sphinx )" 241&& DEPEND="${DEPEND} sphinx? ( app-misc/sphinx )"
281 242
243mysql_version_is_at_least "5.5.7" \
244&& DEPEND="${DEPEND} systemtap? ( >=dev-util/systemtap-1.3 )"
245
282# dev-perl/DBD-mysql is needed by some scripts installed by MySQL 246# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
283PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" 247PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
284 248
285# For other stuff to bring us in 249# For other stuff to bring us in
286PDEPEND="${PDEPEND} =virtual/mysql-${MYSQL_PV_MAJOR}" 250PDEPEND="${PDEPEND} =virtual/mysql-${MYSQL_PV_MAJOR}"
287
288 251
289# 252#
290# External patches 253# External patches
291# 254#
292 255
319 282
320 PBXT_P="pbxt-${PBXT_VERSION}" 283 PBXT_P="pbxt-${PBXT_VERSION}"
321 PBXT_SRC_URI="http://www.primebase.org/download/${PBXT_P}.tar.gz mirror://sourceforge/pbxt/${PBXT_P}.tar.gz" 284 PBXT_SRC_URI="http://www.primebase.org/download/${PBXT_P}.tar.gz mirror://sourceforge/pbxt/${PBXT_P}.tar.gz"
322 SRC_URI="${SRC_URI} pbxt? ( ${PBXT_SRC_URI} )" 285 SRC_URI="${SRC_URI} pbxt? ( ${PBXT_SRC_URI} )"
323 286
287fi
288
324 # PBXT_NEWSTYLE means pbxt is in storage/ and gets enabled as other plugins 289# PBXT_NEWSTYLE means pbxt is in storage/ and gets enabled as other plugins
325 # vs. built outside the dir 290# vs. built outside the dir
326 if pbxt_available; then 291if pbxt_available; then
327 292
328 IUSE="${IUSE} pbxt" 293 IUSE="${IUSE} pbxt"
329 PBXT_NEWSTYLE=1 294 PBXT_NEWSTYLE=1
330 fi
331fi 295fi
332 296
333if xtradb_patch_available; then 297if xtradb_patch_available; then
334 XTRADB_P="percona-xtradb-${XTRADB_VER}" 298 XTRADB_P="percona-xtradb-${XTRADB_VER}"
335 XTRADB_SRC_URI_COMMON="${PERCONA_VER}/source/${XTRADB_P}.tar.gz" 299 XTRADB_SRC_URI_COMMON="${PERCONA_VER}/source/${XTRADB_P}.tar.gz"
380# warn about deprecated features 344# warn about deprecated features
381mysql-v2_pkg_setup() { 345mysql-v2_pkg_setup() {
382 346
383 if has test ${FEATURES} ; then 347 if has test ${FEATURES} ; then
384 if ! use minimal ; then 348 if ! use minimal ; then
385 if [[ $UID -eq 0 ]]; then 349 if ! has userpriv ${FEATURES} ; then
386 eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." 350 eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
387 fi 351 fi
388 fi 352 fi
389 fi 353 fi
390 354
418 382
419 # This should come after all of the die statements 383 # This should come after all of the die statements
420 enewgroup mysql 60 || die "problem adding 'mysql' group" 384 enewgroup mysql 60 || die "problem adding 'mysql' group"
421 enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" 385 enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
422 386
423 if [ "${PN}" != "mysql-cluster" ] && use cluster; then 387 if use cluster; then
424 ewarn "Upstream has noted that the NDB cluster support in the 5.0 and" 388 ewarn "Upstream has noted that the NDB cluster support in the 5.0 and"
425 ewarn "5.1 series should NOT be put into production. In the near" 389 ewarn "5.1 series should NOT be put into production. In the near"
426 ewarn "future, it will be disabled from building." 390 ewarn "future, it will be disabled from building."
427 ewarn ""
428 ewarn "If you need NDB support, you should instead move to the new"
429 ewarn "mysql-cluster package that represents that upstream NDB"
430 ewarn "development."
431 fi 391 fi
432} 392}
433 393
434# @FUNCTION: mysql-v2_src_unpack 394# @FUNCTION: mysql-v2_src_unpack
435# @DESCRIPTION: 395# @DESCRIPTION:
494 454
495 # Make sure the vars are correctly initialized 455 # Make sure the vars are correctly initialized
496 mysql_init_vars 456 mysql_init_vars
497 457
498 # Check FEATURES="collision-protect" before removing this 458 # Check FEATURES="collision-protect" before removing this
499 [[ -d "${ROOT}/var/log/mysql" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" 459 [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}"
500 460
501 # Secure the logfiles 461 # Secure the logfiles
502 touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err} 462 touch "${ROOT}${MY_LOGDIR}"/mysql.{log,err}
503 chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql* 463 chown mysql:mysql "${ROOT}${MY_LOGDIR}"/mysql*
504 chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql* 464 chmod 0660 "${ROOT}${MY_LOGDIR}"/mysql*
596 556
597 local pwd1="a" 557 local pwd1="a"
598 local pwd2="b" 558 local pwd2="b"
599 local maxtry=15 559 local maxtry=15
600 560
601 if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${ROOT}/root/.my.cnf" ]; then 561 if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${EROOT}/root/.my.cnf" ]; then
602 MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${ROOT}/root/.my.cnf")" 562 MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${EROOT}/root/.my.cnf")"
603 fi 563 fi
604 564
605 if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then 565 if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
606 ewarn "You have already a MySQL database in place." 566 ewarn "You have already a MySQL database in place."
607 ewarn "(${ROOT}/${MY_DATADIR}/*)" 567 ewarn "(${ROOT}/${MY_DATADIR}/*)"
638 && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \ 598 && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
639 || touch "${TMPDIR}/fill_help_tables.sql" 599 || touch "${TMPDIR}/fill_help_tables.sql"
640 help_tables="${TMPDIR}/fill_help_tables.sql" 600 help_tables="${TMPDIR}/fill_help_tables.sql"
641 601
642 pushd "${TMPDIR}" &>/dev/null 602 pushd "${TMPDIR}" &>/dev/null
643 "${ROOT}/usr/bin/mysql_install_db --basedir=/usr" >"${TMPDIR}"/mysql_install_db.log 2>&1 603 "${EROOT}/usr/bin/mysql_install_db" "--basedir=${EPREFIX}/usr" >"${TMPDIR}"/mysql_install_db.log 2>&1
644 if [ $? -ne 0 ]; then 604 if [ $? -ne 0 ]; then
645 grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 605 grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
646 die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" 606 die "Failed to run mysql_install_db. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
647 fi 607 fi
648 popd &>/dev/null 608 popd &>/dev/null
649 [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ 609 [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
650 || die "MySQL databases not installed" 610 || die "MySQL databases not installed"
651 chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null 611 chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2>/dev/null
652 chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null 612 chmod 0750 "${ROOT}/${MY_DATADIR}" 2>/dev/null
653 613
654 # Figure out which options we need to disable to do the setup 614 # Figure out which options we need to disable to do the setup
655 helpfile="${TMPDIR}/mysqld-help" 615 helpfile="${TMPDIR}/mysqld-help"
656 ${ROOT}/usr/sbin/mysqld --verbose --help >"${helpfile}" 2>/dev/null 616 ${EROOT}/usr/sbin/mysqld --verbose --help >"${helpfile}" 2>/dev/null
657 for opt in grant-tables host-cache name-resolve networking slave-start bdb \ 617 for opt in grant-tables host-cache name-resolve networking slave-start bdb \
658 federated innodb ssl log-bin relay-log slow-query-log external-locking \ 618 federated innodb ssl log-bin relay-log slow-query-log external-locking \
659 ndbcluster \ 619 ndbcluster \
660 ; do 620 ; do
661 optexp="--(skip-)?${opt}" optfull="--skip-${opt}" 621 optexp="--(skip-)?${opt}" optfull="--skip-${opt}"
665 egrep -sq external-locking "${helpfile}" && \ 625 egrep -sq external-locking "${helpfile}" && \
666 options="${options/skip-locking/skip-external-locking}" 626 options="${options/skip-locking/skip-external-locking}"
667 627
668 # Filling timezones, see 628 # Filling timezones, see
669 # http://dev.mysql.com/doc/mysql/en/time-zone-support.html 629 # http://dev.mysql.com/doc/mysql/en/time-zone-support.html
670 "${ROOT}/usr/bin/mysql_tzinfo_to_sql" "${ROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null 630 "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null
671 631
672 if [[ -r "${help_tables}" ]] ; then 632 if [[ -r "${help_tables}" ]] ; then
673 cat "${help_tables}" >> "${sqltmp}" 633 cat "${help_tables}" >> "${sqltmp}"
674 fi 634 fi
675 635
676 einfo "Creating the mysql database and setting proper" 636 einfo "Creating the mysql database and setting proper"
677 einfo "permissions on it ..." 637 einfo "permissions on it ..."
678 638
679 local socket="${ROOT}/var/run/mysqld/mysqld${RANDOM}.sock" 639 local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
680 local pidfile="${ROOT}/var/run/mysqld/mysqld${RANDOM}.pid" 640 local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid"
681 local mysqld="${ROOT}/usr/sbin/mysqld \ 641 local mysqld="${EROOT}/usr/sbin/mysqld \
682 ${options} \ 642 ${options} \
683 --user=mysql \ 643 --user=mysql \
684 --basedir=${ROOT}/usr \ 644 --basedir=${EROOT}/usr \
685 --datadir=${ROOT}/${MY_DATADIR} \ 645 --datadir=${ROOT}/${MY_DATADIR} \
686 --max_allowed_packet=8M \ 646 --max_allowed_packet=8M \
687 --net_buffer_length=16K \ 647 --net_buffer_length=16K \
688 --default-storage-engine=MyISAM \ 648 --default-storage-engine=MyISAM \
689 --socket=${socket} \ 649 --socket=${socket} \
704 fi 664 fi
705 665
706 ebegin "Setting root password" 666 ebegin "Setting root password"
707 # Do this from memory, as we don't want clear text passwords in temp files 667 # Do this from memory, as we don't want clear text passwords in temp files
708 local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'" 668 local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'"
709 "${ROOT}/usr/bin/mysql" \ 669 "${EROOT}/usr/bin/mysql" \
710 --socket=${socket} \ 670 --socket=${socket} \
711 -hlocalhost \ 671 -hlocalhost \
712 -e "${sql}" 672 -e "${sql}"
713 eend $? 673 eend $?
714 674
715 ebegin "Loading \"zoneinfo\", this step may require a few seconds ..." 675 ebegin "Loading \"zoneinfo\", this step may require a few seconds ..."
716 "${ROOT}/usr/bin/mysql" \ 676 "${EROOT}/usr/bin/mysql" \
717 --socket=${socket} \ 677 --socket=${socket} \
718 -hlocalhost \ 678 -hlocalhost \
719 -uroot \ 679 -uroot \
720 -p"${MYSQL_ROOT_PASSWORD}" \ 680 -p"${MYSQL_ROOT_PASSWORD}" \
721 mysql < "${sqltmp}" 681 mysql < "${sqltmp}"
734# @FUNCTION: mysql-v2_pkg_postrm 694# @FUNCTION: mysql-v2_pkg_postrm
735# @DESCRIPTION: 695# @DESCRIPTION:
736# Remove mysql symlinks. 696# Remove mysql symlinks.
737mysql-v2_pkg_postrm() { 697mysql-v2_pkg_postrm() {
738 698
739 : # mysql_lib_symlinks "${D}" 699 : # mysql_lib_symlinks "${ED}"
740} 700}

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.20