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

Diff of /eclass/mysql.eclass

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

Revision 1.73 Revision 1.86
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.73 2007/04/15 13:00:51 robbat2 Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.86 2008/03/09 21:13:22 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: Luca Longinotti <chtekk@gentoo.org> 7# - Luca Longinotti <chtekk@gentoo.org>
7 8# - Robin H. Johnson <robbat2@gentoo.org>
8# Both MYSQL_VERSION_ID and MYSQL_PATCHSET_REV must be set in the ebuild too!
9# Note that MYSQL_VERSION_ID must be empty!
10 9
11WANT_AUTOCONF="latest" 10WANT_AUTOCONF="latest"
12WANT_AUTOMAKE="latest" 11WANT_AUTOMAKE="latest"
13 12
14inherit eutils flag-o-matic gnuconfig autotools mysql_fx 13inherit eutils flag-o-matic gnuconfig autotools mysql_fx
16# Shorten the path because the socket path length must be shorter than 107 chars 15# Shorten the path because the socket path length must be shorter than 107 chars
17# and we will run a mysql server during test phase 16# and we will run a mysql server during test phase
18S="${WORKDIR}/mysql" 17S="${WORKDIR}/mysql"
19 18
20[[ "${MY_EXTRAS_VER}" == "latest" ]] && MY_EXTRAS_VER="20070108" 19[[ "${MY_EXTRAS_VER}" == "latest" ]] && MY_EXTRAS_VER="20070108"
20if [[ "${MY_EXTRAS_VER}" == "live" ]]; then
21 EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git"
22 inherit git
23fi
21 24
22if [[ ${PR#r} -lt 60 ]] ; then 25if [[ ${PR#r} -lt 60 ]] ; then
23 IS_BITKEEPER=0 26 IS_BITKEEPER=0
24elif [[ ${PR#r} -lt 90 ]] ; then 27elif [[ ${PR#r} -lt 90 ]] ; then
25 IS_BITKEEPER=60 28 IS_BITKEEPER=60
67PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" 70PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
68 71
69# BitKeeper dependency, compile-time only 72# BitKeeper dependency, compile-time only
70[[ ${IS_BITKEEPER} -eq 90 ]] && DEPEND="${DEPEND} dev-util/bk_client" 73[[ ${IS_BITKEEPER} -eq 90 ]] && DEPEND="${DEPEND} dev-util/bk_client"
71 74
75# Work out the default SERVER_URI correctly
76if [ -z "${SERVER_URI}" ]; then
77 # The community build is on the mirrors
78 if [ "${PN}" == "mysql-community" ]; then
79 SERVER_URI="mirror://mysql/Downloads/MySQL-${PV%.*}/mysql-${PV//_/-}.tar.gz"
80 # The enterprise source is on the primary site only
81 elif [ "${PN}" == "mysql" ]; then
82 SERVER_URI="ftp://ftp.mysql.com/pub/mysql/src/mysql-${PV//_/-}.tar.gz"
83 fi
84fi
85
72# Define correct SRC_URIs 86# Define correct SRC_URIs
73SRC_URI="${SERVER_URI} 87SRC_URI="${SERVER_URI}"
88
89[[ ${MY_EXTRAS_VER} != live ]] && SRC_URI="${SRC_URI}
74 mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 90 mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2
75 http://g3nt8.org/patches/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" 91 http://g3nt8.org/patches/mysql-extras-${MY_EXTRAS_VER}.tar.bz2"
76mysql_version_is_at_least "5.1.12" \ 92mysql_version_is_at_least "5.1.12" \
77&& [[ -n "${PBXT_VERSION}" ]] \ 93&& [[ -n "${PBXT_VERSION}" ]] \
78&& SRC_URI="${SRC_URI} pbxt? ( mirror://sourceforge/pbxt/pbxt-${PBXT_VERSION}.tar.gz )" 94&& SRC_URI="${SRC_URI} pbxt? ( mirror://sourceforge/pbxt/pbxt-${PBXT_VERSION}.tar.gz )"
80DESCRIPTION="A fast, multi-threaded, multi-user SQL database server." 96DESCRIPTION="A fast, multi-threaded, multi-user SQL database server."
81HOMEPAGE="http://www.mysql.com/" 97HOMEPAGE="http://www.mysql.com/"
82LICENSE="GPL-2" 98LICENSE="GPL-2"
83SLOT="0" 99SLOT="0"
84IUSE="big-tables debug embedded minimal perl selinux ssl static" 100IUSE="big-tables debug embedded minimal perl selinux ssl static"
85RESTRICT="confcache"
86 101
87mysql_version_is_at_least "4.1" \ 102mysql_version_is_at_least "4.1" \
88&& IUSE="${IUSE} latin1" 103&& IUSE="${IUSE} latin1"
89 104
90mysql_version_is_at_least "4.1.3" \ 105mysql_version_is_at_least "4.1.3" \
198 MY_LIBDIR=${MY_LIBDIR="/usr/$(get_libdir)/mysql"} 213 MY_LIBDIR=${MY_LIBDIR="/usr/$(get_libdir)/mysql"}
199 MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="/var/lib/mysql"} 214 MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="/var/lib/mysql"}
200 MY_LOGDIR=${MY_LOGDIR="/var/log/mysql"} 215 MY_LOGDIR=${MY_LOGDIR="/var/log/mysql"}
201 MY_INCLUDEDIR=${MY_INCLUDEDIR="/usr/include/mysql"} 216 MY_INCLUDEDIR=${MY_INCLUDEDIR="/usr/include/mysql"}
202 217
203 if [[ -z "${DATADIR}" ]] ; then 218 if [[ -z "${MY_DATADIR}" ]] ; then
204 DATADIR="" 219 MY_DATADIR=""
205 if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then 220 if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then
206 DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ 221 MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \
207 | sed -ne '/datadir/s|^--datadir=||p' \ 222 | sed -ne '/datadir/s|^--datadir=||p' \
208 | tail -n1` 223 | tail -n1`
209 if [[ -z "${DATADIR}" ]] ; then 224 if [[ -z "${MY_DATADIR}" ]] ; then
210 DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ 225 MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \
211 | sed -e 's/.*=\s*//'` 226 | sed -e 's/.*=\s*//'`
212 fi 227 fi
213 fi 228 fi
214 if [[ -z "${DATADIR}" ]] ; then 229 if [[ -z "${MY_DATADIR}" ]] ; then
215 DATADIR="${MY_LOCALSTATEDIR}" 230 MY_DATADIR="${MY_LOCALSTATEDIR}"
216 einfo "Using default DATADIR" 231 einfo "Using default MY_DATADIR"
217 fi 232 fi
218 elog "MySQL DATADIR is ${DATADIR}" 233 elog "MySQL MY_DATADIR is ${MY_DATADIR}"
219 234
220 if [[ -z "${PREVIOUS_DATADIR}" ]] ; then 235 if [[ -z "${PREVIOUS_DATADIR}" ]] ; then
221 if [[ -e "${DATADIR}" ]] ; then 236 if [[ -e "${MY_DATADIR}" ]] ; then
222 elog "Previous datadir found, it's YOUR job to change" 237 elog "Previous datadir found, it's YOUR job to change"
223 elog "ownership and take care of it" 238 elog "ownership and take care of it"
224 PREVIOUS_DATADIR="yes" 239 PREVIOUS_DATADIR="yes"
225 else 240 else
226 PREVIOUS_DATADIR="no" 241 PREVIOUS_DATADIR="no"
232 MY_SOURCEDIR=${SERVER_URI##*/} 247 MY_SOURCEDIR=${SERVER_URI##*/}
233 MY_SOURCEDIR=${MY_SOURCEDIR%.tar*} 248 MY_SOURCEDIR=${MY_SOURCEDIR%.tar*}
234 249
235 export MY_SHAREDSTATEDIR MY_SYSCONFDIR 250 export MY_SHAREDSTATEDIR MY_SYSCONFDIR
236 export MY_LIBDIR MY_LOCALSTATEDIR MY_LOGDIR 251 export MY_LIBDIR MY_LOCALSTATEDIR MY_LOGDIR
237 export MY_INCLUDEDIR DATADIR MY_SOURCEDIR 252 export MY_INCLUDEDIR MY_DATADIR MY_SOURCEDIR
238} 253}
239 254
240configure_minimal() { 255configure_minimal() {
241 # These are things we exclude from a minimal build, please 256 # These are things we exclude from a minimal build, please
242 # note that the server actually does get built and installed, 257 # note that the server actually does get built and installed,
243 # but we then delete it before packaging. 258 # but we then delete it before packaging.
244 local minimal_exclude_list="server embedded-server extra-tools innodb bench berkeley-db row-based-replication" 259 local minimal_exclude_list="server embedded-server extra-tools innodb bench berkeley-db row-based-replication readline"
245 260
246 for i in ${minimal_exclude_list} ; do 261 for i in ${minimal_exclude_list} ; do
247 myconf="${myconf} --without-${i}" 262 myconf="${myconf} --without-${i}"
248 done 263 done
249 myconf="${myconf} --with-extra-charsets=none" 264 myconf="${myconf} --with-extra-charsets=none"
250 myconf="${myconf} --enable-local-infile" 265 myconf="${myconf} --enable-local-infile"
251 266
252 if use static ; then 267 if use static ; then
253 myconf="${myconf} --with-client-ldflags=-all-static" 268 myconf="${myconf} --with-client-ldflags=-all-static"
254 myconf="${myconf} --disable-shared" 269 myconf="${myconf} --disable-shared --with-pic"
255 else 270 else
256 myconf="${myconf} --enable-shared --enable-static" 271 myconf="${myconf} --enable-shared --enable-static"
257 fi 272 fi
258 273
259 if mysql_version_is_at_least "4.1" && ! use latin1 ; then 274 if mysql_version_is_at_least "4.1" && ! use latin1 ; then
275 myconf="${myconf} --without-libwrap" 290 myconf="${myconf} --without-libwrap"
276 291
277 if use static ; then 292 if use static ; then
278 myconf="${myconf} --with-mysqld-ldflags=-all-static" 293 myconf="${myconf} --with-mysqld-ldflags=-all-static"
279 myconf="${myconf} --with-client-ldflags=-all-static" 294 myconf="${myconf} --with-client-ldflags=-all-static"
280 myconf="${myconf} --disable-shared" 295 myconf="${myconf} --disable-shared --with-pic"
281 else 296 else
282 myconf="${myconf} --enable-shared --enable-static" 297 myconf="${myconf} --enable-shared --enable-static"
283 fi 298 fi
284 299
285 if use debug ; then 300 if use debug ; then
327 myconf="${myconf} $(use_with ssl)" 342 myconf="${myconf} $(use_with ssl)"
328 else 343 else
329 myconf="${myconf} $(use_with ssl openssl)" 344 myconf="${myconf} $(use_with ssl openssl)"
330 fi 345 fi
331 346
347 if use berkdb ; then
332 # The following fix is due to a bug with bdb on SPARC's. See: 348 # The following fix is due to a bug with bdb on SPARC's. See:
333 # http://www.geocrawler.com/mail/msg.php3?msg_id=4754814&list=8 349 # http://www.geocrawler.com/mail/msg.php3?msg_id=4754814&list=8
334 # It comes down to non-64-bit safety problems. 350 # It comes down to non-64-bit safety problems.
335 if use alpha || use amd64 || use hppa || use mips || use sparc ; then 351 if use alpha || use amd64 || use hppa || use mips || use sparc ; then
336 elog "Berkeley DB support was disabled due to incompatible arch" 352 elog "Berkeley DB support was disabled due to compatibility issues on this arch"
353 myconf="${myconf} --without-berkeley-db"
354 else
355 myconf="${myconf} --with-berkeley-db=./bdb"
356 fi
357 else
337 myconf="${myconf} --without-berkeley-db" 358 myconf="${myconf} --without-berkeley-db"
338 else
339 if use berkdb ; then
340 myconf="${myconf} --with-berkeley-db=./bdb"
341 else
342 myconf="${myconf} --without-berkeley-db"
343 fi
344 fi 359 fi
345 360
346 if mysql_version_is_at_least "4.1.3" ; then 361 if mysql_version_is_at_least "4.1.3" ; then
347 myconf="${myconf} --with-geometry" 362 myconf="${myconf} --with-geometry"
348 myconf="${myconf} $(use_with cluster ndbcluster)" 363 myconf="${myconf} $(use_with cluster ndbcluster)"
441} 456}
442 457
443# 458#
444# EBUILD FUNCTIONS 459# EBUILD FUNCTIONS
445# 460#
446
447mysql_pkg_setup() { 461mysql_pkg_setup() {
448 enewgroup mysql 60 || die "problem adding 'mysql' group" 462 if hasq test ${FEATURES} ; then
449 enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" 463 if ! use minimal ; then
464 if ! hasq userpriv ${FEATURES} ; then
465 die "Testing with FEATURES=-userpriv is no longer supported by upstream"
466 fi
467 fi
468 fi
450 469
451 # Check for USE flag problems in pkg_setup 470 # Check for USE flag problems in pkg_setup
452 if use static && use ssl ; then 471 if use static && use ssl ; then
453 eerror "MySQL does not support being built statically with SSL support enabled!" 472 eerror "MySQL does not support being built statically with SSL support enabled!"
454 die "MySQL does not support being built statically with SSL support enabled!" 473 die "MySQL does not support being built statically with SSL support enabled!"
466 && ( use cluster || use extraengine ) \ 485 && ( use cluster || use extraengine ) \
467 && use minimal ; then 486 && use minimal ; then
468 eerror "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!" 487 eerror "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!"
469 die "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!" 488 die "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!"
470 fi 489 fi
490
491 # This should come after all of the die statements
492 enewgroup mysql 60 || die "problem adding 'mysql' group"
493 enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
471 494
472 mysql_check_version_range "4.0 to 5.0.99.99" \ 495 mysql_check_version_range "4.0 to 5.0.99.99" \
473 && use berkdb \ 496 && use berkdb \
474 && elog "Berkeley DB support is deprecated and will be removed in future versions!" 497 && elog "Berkeley DB support is deprecated and will be removed in future versions!"
475} 498}
477mysql_src_unpack() { 500mysql_src_unpack() {
478 # Initialize the proper variables first 501 # Initialize the proper variables first
479 mysql_init_vars 502 mysql_init_vars
480 503
481 unpack ${A} 504 unpack ${A}
505 # Grab the patches
506 [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git_src_unpack
507 # Bitkeeper checkout support
482 if [[ ${IS_BITKEEPER} -eq 90 ]] ; then 508 if [[ ${IS_BITKEEPER} -eq 90 ]] ; then
483 if mysql_check_version_range "5.1 to 5.1.99" ; then 509 if mysql_check_version_range "5.1 to 5.1.99" ; then
484 bitkeeper_fetch "mysql-5.1-ndb" 510 bitkeeper_fetch "mysql-5.1-ndb"
485 elif mysql_check_version_range "5.2 to 5.2.99" ; then 511 elif mysql_check_version_range "5.2 to 5.2.99" ; then
486 bitkeeper_fetch "mysql-5.2-falcon" 512 bitkeeper_fetch "mysql-5.2-falcon"
496 fi 522 fi
497 523
498 # Apply the patches for this MySQL version 524 # Apply the patches for this MySQL version
499 EPATCH_SUFFIX="patch" 525 EPATCH_SUFFIX="patch"
500 mkdir -p "${EPATCH_SOURCE}" || die "Unable to create epatch directory" 526 mkdir -p "${EPATCH_SOURCE}" || die "Unable to create epatch directory"
527 # Clean out old items
528 rm -f "${EPATCH_SOURCE}"/*
529 # Now link in right patches
501 mysql_mv_patches 530 mysql_mv_patches
531 # And apply
502 epatch 532 epatch
503 533
504 # Additional checks, remove bundled zlib 534 # Additional checks, remove bundled zlib
505 rm -f "${S}/zlib/"*.[ch] 535 rm -f "${S}/zlib/"*.[ch]
506 sed -i -e "s/zlib\/Makefile dnl/dnl zlib\/Makefile/" "${S}/configure.in" 536 sed -i -e "s/zlib\/Makefile dnl/dnl zlib\/Makefile/" "${S}/configure.in"
522 552
523 local rebuilddirlist d 553 local rebuilddirlist d
524 554
525 if mysql_version_is_at_least "5.1.12" ; then 555 if mysql_version_is_at_least "5.1.12" ; then
526 rebuilddirlist="." 556 rebuilddirlist="."
527 # TODO: check this with a cmake expert 557 # TODO: check this with a cmake expert
528 use innodb \ 558 use innodb \
529 && cmake \ 559 && cmake \
530 -DCMAKE_C_COMPILER=$(type -P $(tc-getCC)) \ 560 -DCMAKE_C_COMPILER=$(type -P $(tc-getCC)) \
531 -DCMAKE_CXX_COMPILER=$(type -P $(tc-getCC)) \ 561 -DCMAKE_CXX_COMPILER=$(type -P $(tc-getCXX)) \
532 "storage/innobase" 562 "storage/innobase"
533 else 563 else
534 rebuilddirlist=". innobase" 564 rebuilddirlist=". innobase"
535 fi 565 fi
536 566
645 else 675 else
646 mysql_mycnf_version="4.0" 676 mysql_mycnf_version="4.0"
647 fi 677 fi
648 insinto "${MY_SYSCONFDIR}" 678 insinto "${MY_SYSCONFDIR}"
649 doins scripts/mysqlaccess.conf 679 doins scripts/mysqlaccess.conf
650 sed -e "s!@DATADIR@!${DATADIR}!g" \ 680 sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
651 "${FILESDIR}/my.cnf-${mysql_mycnf_version}" \ 681 "${FILESDIR}/my.cnf-${mysql_mycnf_version}" \
652 > "${TMPDIR}/my.cnf.ok" 682 > "${TMPDIR}/my.cnf.ok"
653 if mysql_version_is_at_least "4.1" && use latin1 ; then 683 if mysql_version_is_at_least "4.1" && use latin1 ; then
654 sed -e "s|utf8|latin1|g" -i "${TMPDIR}/my.cnf.ok" 684 sed -e "s|utf8|latin1|g" -i "${TMPDIR}/my.cnf.ok"
655 fi 685 fi
658 # Minimal builds don't have the MySQL server 688 # Minimal builds don't have the MySQL server
659 if ! use minimal ; then 689 if ! use minimal ; then
660 # Empty directories ... 690 # Empty directories ...
661 diropts "-m0750" 691 diropts "-m0750"
662 if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then 692 if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then
663 dodir "${DATADIR}" 693 dodir "${MY_DATADIR}"
664 keepdir "${DATADIR}" 694 keepdir "${MY_DATADIR}"
665 chown -R mysql:mysql "${D}/${DATADIR}" 695 chown -R mysql:mysql "${D}/${MY_DATADIR}"
666 fi 696 fi
667 697
668 diropts "-m0755" 698 diropts "-m0755"
669 for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do 699 for folder in "${MY_LOGDIR}" "/var/run/mysqld" ; do
670 dodir "${folder}" 700 dodir "${folder}"
673 done 703 done
674 fi 704 fi
675 705
676 # Docs 706 # Docs
677 dodoc README COPYING ChangeLog EXCEPTIONS-CLIENT INSTALL-SOURCE 707 dodoc README COPYING ChangeLog EXCEPTIONS-CLIENT INSTALL-SOURCE
708 doinfo ${S}/Docs/mysql.info
678 709
679 # Minimal builds don't have the MySQL server 710 # Minimal builds don't have the MySQL server
680 if ! use minimal ; then 711 if ! use minimal ; then
681 docinto "support-files" 712 docinto "support-files"
682 for script in \ 713 for script in \
689 720
690 docinto "scripts" 721 docinto "scripts"
691 for script in scripts/mysql* ; do 722 for script in scripts/mysql* ; do
692 [[ "${script%.sh}" == "${script}" ]] && dodoc "${script}" 723 [[ "${script%.sh}" == "${script}" ]] && dodoc "${script}"
693 done 724 done
725
694 fi 726 fi
695 727
696 mysql_lib_symlinks "${D}" 728 mysql_lib_symlinks "${D}"
697} 729}
698 730
758 790
759mysql_pkg_config() { 791mysql_pkg_config() {
760 # Make sure the vars are correctly initialized 792 # Make sure the vars are correctly initialized
761 mysql_init_vars 793 mysql_init_vars
762 794
763 [[ -z "${DATADIR}" ]] && die "Sorry, unable to find DATADIR" 795 [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR"
764 796
765 if built_with_use ${CATEGORY}/${PN} minimal ; then 797 if built_with_use ${CATEGORY}/${PN} minimal ; then
766 die "Minimal builds do NOT include the MySQL server" 798 die "Minimal builds do NOT include the MySQL server"
767 fi 799 fi
768 800
769 local pwd1="a" 801 local pwd1="a"
770 local pwd2="b" 802 local pwd2="b"
771 local maxtry=5 803 local maxtry=5
772 804
773 if [[ -d "${ROOT}/${DATADIR}/mysql" ]] ; then 805 if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then
774 ewarn "You have already a MySQL database in place." 806 ewarn "You have already a MySQL database in place."
775 ewarn "(${ROOT}/${DATADIR}/*)" 807 ewarn "(${ROOT}/${MY_DATADIR}/*)"
776 ewarn "Please rename or delete it if you wish to replace it." 808 ewarn "Please rename or delete it if you wish to replace it."
777 die "MySQL database already exists!" 809 die "MySQL database already exists!"
778 fi 810 fi
779 811
780 einfo "Creating the mysql database and setting proper" 812 einfo "Creating the mysql database and setting proper"
799 && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \ 831 && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \
800 || touch "${TMPDIR}/fill_help_tables.sql" 832 || touch "${TMPDIR}/fill_help_tables.sql"
801 help_tables="${TMPDIR}/fill_help_tables.sql" 833 help_tables="${TMPDIR}/fill_help_tables.sql"
802 834
803 pushd "${TMPDIR}" &>/dev/null 835 pushd "${TMPDIR}" &>/dev/null
804 "${ROOT}/usr/bin/mysql_install_db" | grep -B5 -A999 -i "ERROR" 836 "${ROOT}/usr/bin/mysql_install_db" >"${TMPDIR}"/mysql_install_db.log 2>&1
837 if [ $? -ne 0 ]; then
838 grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2
839 die "Failed to run mysql_install_db. Please review /var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log"
840 fi
805 popd &>/dev/null 841 popd &>/dev/null
806 [[ -f "${ROOT}/${DATADIR}/mysql/user.frm" ]] \ 842 [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \
807 || die "MySQL databases not installed" 843 || die "MySQL databases not installed"
808 chown -R mysql:mysql "${ROOT}/${DATADIR}" 2> /dev/null 844 chown -R mysql:mysql "${ROOT}/${MY_DATADIR}" 2> /dev/null
809 chmod 0750 "${ROOT}/${DATADIR}" 2> /dev/null 845 chmod 0750 "${ROOT}/${MY_DATADIR}" 2> /dev/null
810 846
811 if mysql_version_is_at_least "4.1.3" ; then 847 if mysql_version_is_at_least "4.1.3" ; then
812 options="--skip-ndbcluster" 848 options="--skip-ndbcluster"
813 849
814 # Filling timezones, see 850 # Filling timezones, see
825 local mysqld="${ROOT}/usr/sbin/mysqld \ 861 local mysqld="${ROOT}/usr/sbin/mysqld \
826 ${options} \ 862 ${options} \
827 --user=mysql \ 863 --user=mysql \
828 --skip-grant-tables \ 864 --skip-grant-tables \
829 --basedir=${ROOT}/usr \ 865 --basedir=${ROOT}/usr \
830 --datadir=${ROOT}/${DATADIR} \ 866 --datadir=${ROOT}/${MY_DATADIR} \
831 --skip-innodb \ 867 --skip-innodb \
832 --skip-bdb \ 868 --skip-bdb \
833 --skip-networking \ 869 --skip-networking \
834 --max_allowed_packet=8M \ 870 --max_allowed_packet=8M \
835 --net_buffer_length=16K \ 871 --net_buffer_length=16K \

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

  ViewVC Help
Powered by ViewVC 1.1.20