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

Diff of /eclass/mysql.eclass

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

Revision 1.98 Revision 1.103
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.98 2008/11/14 01:46:24 robbat2 Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.103 2009/01/12 23:08:17 maekke 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>
313 mysql_version_is_at_least "4.1.3" \ 313 mysql_version_is_at_least "4.1.3" \
314 && use cluster \ 314 && use cluster \
315 && myconf="${myconf} --without-ndb-debug" 315 && myconf="${myconf} --without-ndb-debug"
316 fi 316 fi
317 317
318 if [ -n "${MYSQL_DEFAULT_CHARSET}" -a -n "${MYSQL_DEFAULT_COLLATION}" ]; then
319 ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}"
320 ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}."
321 ewarn "You MUST file bugs without these variables set."
322 myconf="${myconf} --with-charset=${MYSQL_DEFAULT_CHARSET}"
323 myconf="${myconf} --with-collation=${MYSQL_DEFAULT_COLLATION}"
318 if mysql_version_is_at_least "4.1" && ! use latin1 ; then 324 elif mysql_version_is_at_least "4.1" && ! use latin1 ; then
319 myconf="${myconf} --with-charset=utf8" 325 myconf="${myconf} --with-charset=utf8"
320 myconf="${myconf} --with-collation=utf8_general_ci" 326 myconf="${myconf} --with-collation=utf8_general_ci"
321 else 327 else
322 myconf="${myconf} --with-charset=latin1" 328 myconf="${myconf} --with-charset=latin1"
323 myconf="${myconf} --with-collation=latin1_swedish_ci" 329 myconf="${myconf} --with-collation=latin1_swedish_ci"
324 fi 330 fi
325 331
326 if use embedded ; then 332 if use embedded ; then
327 myconf="${myconf} --with-embedded-privilege-control" 333 myconf="${myconf} --with-embedded-privilege-control"
328 myconf="${myconf} --with-embedded-server" 334 myconf="${myconf} --with-embedded-server"
350 if mysql_version_is_at_least "5.1.11" ; then 356 if mysql_version_is_at_least "5.1.11" ; then
351 myconf="${myconf} $(use_with ssl)" 357 myconf="${myconf} $(use_with ssl)"
352 else 358 else
353 myconf="${myconf} $(use_with ssl openssl)" 359 myconf="${myconf} $(use_with ssl openssl)"
354 fi 360 fi
355 361
356 if mysql_version_is_at_least "5.0.60" ; then 362 if mysql_version_is_at_least "5.0.60" ; then
357 if use berkdb ; then 363 if use berkdb ; then
358 elog "Berkeley DB support was disabled due to build failures" 364 elog "Berkeley DB support was disabled due to build failures"
359 elog "on multiple arches, go to a version earlier than 5.0.60" 365 elog "on multiple arches, go to a version earlier than 5.0.60"
360 elog "if you want it again. Gentoo bug #224067." 366 elog "if you want it again. Gentoo bug #224067."
397 elog "http://dev.mysql.com/doc/mysql/en/federated-limitations.html" 403 elog "http://dev.mysql.com/doc/mysql/en/federated-limitations.html"
398 myconf="${myconf} --with-federated-storage-engine" 404 myconf="${myconf} --with-federated-storage-engine"
399 fi 405 fi
400 fi 406 fi
401 407
408 if [ "${PN}" == "mysql-community" ]; then
409 myconf="${myconf} --enable-community-features"
410 fi
411
402 mysql_version_is_at_least "5.0.18" \ 412 mysql_version_is_at_least "5.0.18" \
403 && use max-idx-128 \ 413 && use max-idx-128 \
404 && myconf="${myconf} --with-max-indexes=128" 414 && myconf="${myconf} --with-max-indexes=128"
405} 415}
406 416
481 eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." 491 eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
482 fi 492 fi
483 fi 493 fi
484 fi 494 fi
485 495
486 # Bug #213475 - MySQL _will_ object strenously if your machine is named
487 # localhost. Also causes weird failures.
488 [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
489
490 # Check for USE flag problems in pkg_setup 496 # Check for USE flag problems in pkg_setup
491 if use static && use ssl ; then 497 if use static && use ssl ; then
492 eerror "MySQL does not support being built statically with SSL support enabled!" 498 eerror "MySQL does not support being built statically with SSL support enabled!"
493 die "MySQL does not support being built statically with SSL support enabled!" 499 die "MySQL does not support being built statically with SSL support enabled!"
494 fi 500 fi
505 && ( use cluster || use extraengine ) \ 511 && ( use cluster || use extraengine ) \
506 && use minimal ; then 512 && use minimal ; then
507 eerror "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!" 513 eerror "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!"
508 die "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!" 514 die "USE flags 'cluster' and 'extraengine' conflict with 'minimal' USE flag!"
509 fi 515 fi
510 516
511 # This should come after all of the die statements 517 # This should come after all of the die statements
512 enewgroup mysql 60 || die "problem adding 'mysql' group" 518 enewgroup mysql 60 || die "problem adding 'mysql' group"
513 enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" 519 enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user"
514 520
515 mysql_check_version_range "4.0 to 5.0.99.99" \ 521 mysql_check_version_range "4.0 to 5.0.99.99" \
631 # Bug #114895, bug #110149 637 # Bug #114895, bug #110149
632 filter-flags "-O" "-O[01]" 638 filter-flags "-O" "-O[01]"
633 639
634 # glib-2.3.2_pre fix, bug #16496 640 # glib-2.3.2_pre fix, bug #16496
635 append-flags "-DHAVE_ERRNO_AS_DEFINE=1" 641 append-flags "-DHAVE_ERRNO_AS_DEFINE=1"
642
643 # As discovered by bug #246652, doing a double-level of SSP causes NDB to
644 # fail badly during cluster startup.
645 if [[ $(gcc-major-version) -lt 4 ]]; then
646 filter-flags "-fstack-protector-all"
647 fi
636 648
637 CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing" 649 CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing"
638 CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti" 650 CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti"
639 mysql_version_is_at_least "5.0" \ 651 mysql_version_is_at_least "5.0" \
640 && CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" 652 && CXXFLAGS="${CXXFLAGS} -fno-implicit-templates"
833 ewarn "You have already a MySQL database in place." 845 ewarn "You have already a MySQL database in place."
834 ewarn "(${ROOT}/${MY_DATADIR}/*)" 846 ewarn "(${ROOT}/${MY_DATADIR}/*)"
835 ewarn "Please rename or delete it if you wish to replace it." 847 ewarn "Please rename or delete it if you wish to replace it."
836 die "MySQL database already exists!" 848 die "MySQL database already exists!"
837 fi 849 fi
850
851 # Bug #213475 - MySQL _will_ object strenously if your machine is named
852 # localhost. Also causes weird failures.
853 [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
838 854
839 einfo "Creating the mysql database and setting proper" 855 einfo "Creating the mysql database and setting proper"
840 einfo "permissions on it ..." 856 einfo "permissions on it ..."
841 857
842 einfo "Insert a password for the mysql 'root' user" 858 einfo "Insert a password for the mysql 'root' user"

Legend:
Removed from v.1.98  
changed lines
  Added in v.1.103

  ViewVC Help
Powered by ViewVC 1.1.20