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

Diff of /eclass/mysql.eclass

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

Revision 1.150 Revision 1.159
1# Copyright 1999-2009 Gentoo Foundation 1# Copyright 1999-2009 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.150 2010/08/21 19:39:52 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.159 2011/04/21 12:15:19 robbat2 Exp $
4 4
5# @ECLASS: mysql.eclass 5# @ECLASS: mysql.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Author: Francesco Riosa (Retired) <vivo@gentoo.org> 7# Author: Francesco Riosa (Retired) <vivo@gentoo.org>
8# Maintainers: MySQL Team <mysql-bugs@gentoo.org> 8# Maintainers: MySQL Team <mysql-bugs@gentoo.org>
143 143
144RDEPEND="${DEPEND} 144RDEPEND="${DEPEND}
145 !minimal? ( dev-db/mysql-init-scripts ) 145 !minimal? ( dev-db/mysql-init-scripts )
146 selinux? ( sec-policy/selinux-mysql )" 146 selinux? ( sec-policy/selinux-mysql )"
147 147
148if [ "${EAPI:-0}" = "2" ]; then
149 DEPEND="${DEPEND} static? ( || ( sys-libs/ncurses[static-libs] <=sys-libs/ncurses-5.7-r3 ) )"
150fi
151
148# compile-time-only 152# compile-time-only
149mysql_version_is_at_least "5.1" \ 153mysql_version_is_at_least "5.1" \
150|| DEPEND="${DEPEND} berkdb? ( sys-apps/ed )" 154|| DEPEND="${DEPEND} berkdb? ( sys-apps/ed )"
151 155
152# compile-time-only 156# compile-time-only
153mysql_version_is_at_least "5.1.12" \ 157mysql_version_is_at_least "5.1.12" \
154&& DEPEND="${DEPEND} >=dev-util/cmake-2.4.3" 158&& DEPEND="${DEPEND} >=dev-util/cmake-2.4.3"
159
160[[ "${PN}" == "mariadb" ]] \
161&& mysql_version_is_at_least "5.2" \
162&& DEPEND="${DEPEND} oqgraph? ( >=dev-libs/boost-1.40.0 )"
163#SphinxSE is included but is not available in 5.2.4 due to a missing plug.in file
164# sphinx? ( app-misc/sphinx )"
155 165
156# dev-perl/DBD-mysql is needed by some scripts installed by MySQL 166# dev-perl/DBD-mysql is needed by some scripts installed by MySQL
157PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" 167PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )"
158 168
159# For other stuff to bring us in 169# For other stuff to bring us in
164 [ -z "${MY_PV}" ] && MY_PV="${PV//_/-}" 174 [ -z "${MY_PV}" ] && MY_PV="${PV//_/-}"
165 if [ "${PN}" == "mariadb" ]; then 175 if [ "${PN}" == "mariadb" ]; then
166 MARIA_FULL_PV="$(replace_version_separator 3 '-' ${PV})" 176 MARIA_FULL_PV="$(replace_version_separator 3 '-' ${PV})"
167 MARIA_FULL_P="${PN}-${MARIA_FULL_PV}" 177 MARIA_FULL_P="${PN}-${MARIA_FULL_PV}"
168 SERVER_URI=" 178 SERVER_URI="
179 http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
169 http://ftp.rediris.es/mirror/MariaDB/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz 180 http://ftp.rediris.es/mirror/MariaDB/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
170 http://maria.llarian.net/download/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz 181 http://maria.llarian.net/download/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
171 http://launchpad.net/maria/${MYSQL_PV_MAJOR}/ongoing/+download/${MARIA_FULL_P}.tar.gz 182 http://launchpad.net/maria/${MYSQL_PV_MAJOR}/ongoing/+download/${MARIA_FULL_P}.tar.gz
183 http://mirrors.fe.up.pt/pub/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
184 http://ftp-stud.hs-esslingen.de/pub/Mirrors/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz
172 " 185 "
173 # The community and cluster builds are on the mirrors 186 # The community and cluster builds are on the mirrors
174 elif [[ "${MYSQL_COMMUNITY_FEATURES}" == "1" || ${PN} == "mysql-cluster" ]] ; then 187 elif [[ "${MYSQL_COMMUNITY_FEATURES}" == "1" || ${PN} == "mysql-cluster" ]] ; then
175 if [[ "${PN}" == "mysql-cluster" ]] ; then 188 if [[ "${PN}" == "mysql-cluster" ]] ; then
176 URI_DIR="MySQL-Cluster" 189 URI_DIR="MySQL-Cluster"
236&& IUSE="${IUSE} ${IUSE_DEFAULT_ON}community profiling" 249&& IUSE="${IUSE} ${IUSE_DEFAULT_ON}community profiling"
237 250
238[[ "${PN}" == "mariadb" ]] \ 251[[ "${PN}" == "mariadb" ]] \
239&& IUSE="${IUSE} libevent" 252&& IUSE="${IUSE} libevent"
240 253
254[[ "${PN}" == "mariadb" ]] \
255&& mysql_version_is_at_least "5.2" \
256&& IUSE="${IUSE} oqgraph"
257#SphinxSE is included but is not available in 5.2.4 due to a missing plug.in file
258#&& IUSE="${IUSE} oqgraph sphinx"
259
241# MariaDB has integrated PBXT 260# MariaDB has integrated PBXT
242# PBXT_VERSION means that we have a PBXT patch for this PV 261# PBXT_VERSION means that we have a PBXT patch for this PV
243# PBXT was only introduced after 5.1.12 262# PBXT was only introduced after 5.1.12
244pbxt_patch_available() { 263pbxt_patch_available() {
245 [[ "${PN}" != "mariadb" ]] \ 264 [[ "${PN}" != "mariadb" ]] \
298mysql_disable_test() { 317mysql_disable_test() {
299 local rawtestname testname testsuite reason mysql_disable_file 318 local rawtestname testname testsuite reason mysql_disable_file
300 rawtestname="${1}" ; shift 319 rawtestname="${1}" ; shift
301 reason="${@}" 320 reason="${@}"
302 ewarn "test '${rawtestname}' disabled: '${reason}'" 321 ewarn "test '${rawtestname}' disabled: '${reason}'"
303 322
304 testsuite="${rawtestname/.*}" 323 testsuite="${rawtestname/.*}"
305 testname="${rawtestname/*.}" 324 testname="${rawtestname/*.}"
306 mysql_disable_file="${S}/mysql-test/t/disabled.def" 325 mysql_disable_file="${S}/mysql-test/t/disabled.def"
307 #einfo "rawtestname=${rawtestname} testname=${testname} testsuite=${testsuite}" 326 #einfo "rawtestname=${rawtestname} testname=${testname} testsuite=${testsuite}"
308 echo ${testname} : ${reason} >> "${mysql_disable_file}" 327 echo ${testname} : ${reason} >> "${mysql_disable_file}"
568 myconf="${myconf} --with-readline" 587 myconf="${myconf} --with-readline"
569 myconf="${myconf} --with-zlib-dir=/usr/" 588 myconf="${myconf} --with-zlib-dir=/usr/"
570 myconf="${myconf} --without-pstack" 589 myconf="${myconf} --without-pstack"
571 myconf="${myconf} --with-plugindir=/usr/$(get_libdir)/mysql/plugin" 590 myconf="${myconf} --with-plugindir=/usr/$(get_libdir)/mysql/plugin"
572 591
592 # This is an explict die here, because if we just forcibly disable it, then the
593 # user's data is not accessible.
594 use max-idx-128 && die "Bug #336027: upstream has a corruption issue with max-idx-128 presently"
573 use max-idx-128 && myconf="${myconf} --with-max-indexes=128" 595 #use max-idx-128 && myconf="${myconf} --with-max-indexes=128"
574 if [ "${MYSQL_COMMUNITY_FEATURES}" == "1" ]; then 596 if [ "${MYSQL_COMMUNITY_FEATURES}" == "1" ]; then
575 myconf="${myconf} $(use_enable community community-features)" 597 myconf="${myconf} $(use_enable community community-features)"
576 if use community; then 598 if use community; then
577 myconf="${myconf} $(use_enable profiling)" 599 myconf="${myconf} $(use_enable profiling)"
578 else 600 else
614 fi 636 fi
615 # Now the extras 637 # Now the extras
616 if use extraengine ; then 638 if use extraengine ; then
617 # like configuration=max-no-ndb, archive and example removed in 5.1.11 639 # like configuration=max-no-ndb, archive and example removed in 5.1.11
618 # not added yet: ibmdb2i 640 # not added yet: ibmdb2i
619 # Not supporting as examples: example,daemon_example,ftexample 641 # Not supporting as examples: example,daemon_example,ftexample
620 plugins_sta="${plugins_sta} partition" 642 plugins_sta="${plugins_sta} partition"
621 plugins_dyn="${plugins_sta} federated"
622 643
623 if [[ "${PN}" != "mariadb" ]] ; then 644 if [[ "${PN}" != "mariadb" ]] ; then
624 elog "Before using the Federated storage engine, please be sure to read" 645 elog "Before using the Federated storage engine, please be sure to read"
625 elog "http://dev.mysql.com/doc/refman/5.1/en/federated-limitations.html" 646 elog "http://dev.mysql.com/doc/refman/5.1/en/federated-limitations.html"
647 plugins_dyn="${plugins_sta} federated"
626 else 648 else
627 elog "MariaDB includes the FederatedX engine. Be sure to read" 649 elog "MariaDB includes the FederatedX engine. Be sure to read"
628 elog "http://askmonty.org/wiki/index.php/Manual:FederatedX_storage_engine" 650 elog "http://askmonty.org/wiki/index.php/Manual:FederatedX_storage_engine"
651 plugins_dyn="${plugins_sta} federatedx"
629 fi 652 fi
630 else 653 else
631 plugins_dis="${plugins_dis} partition federated" 654 plugins_dis="${plugins_dis} partition federated"
632 fi 655 fi
633 656
651 fi 674 fi
652 675
653 if [[ "${PN}" == "mariadb" ]] ; then 676 if [[ "${PN}" == "mariadb" ]] ; then
654 # In MariaDB, InnoDB is packaged in the xtradb directory, so it's not 677 # In MariaDB, InnoDB is packaged in the xtradb directory, so it's not
655 # caught above. 678 # caught above.
656 plugins_sta="${plugins_sta} maria innobase"
657 myconf="${myconf} $(use_with libevent)"
658 # This is not optional, without it several upstream testcases fail. 679 # This is not optional, without it several upstream testcases fail.
659 # Also strongly recommended by upstream. 680 # Also strongly recommended by upstream.
681 if [[ "${PV}" < "5.2.0" ]] ; then
660 myconf="${myconf} --with-maria-tmp-tables" 682 myconf="${myconf} --with-maria-tmp-tables"
683 plugins_sta="${plugins_sta} maria"
684 else
685 myconf="${myconf} --with-aria-tmp-tables"
686 plugins_sta="${plugins_sta} aria"
661 fi 687 fi
662 688
689 [ -e "${S}"/storage/innobase ] || [ -e "${S}"/storage/xtradb ] ||
690 die "The ${P} package doesn't provide innobase nor xtradb"
691
692 for i in innobase xtradb ; do
693 [ -e "${S}"/storage/${i} ] && plugins_sta="${plugins_sta} ${i}"
694 done
695
696 myconf="${myconf} $(use_with libevent)"
697
698 if mysql_version_is_at_least "5.2" ; then
699 #This should include sphinx, but the 5.2.4 archive forgot the plug.in file
700 #for i in oqgraph sphinx ; do
701 for i in oqgraph ; do
702 use ${i} \
703 && plugins_dyn="${plugins_dyn} ${i}" \
704 || plugins_dis="${plugins_dis} ${i}"
705 done
706 fi
707 fi
708
663 if pbxt_available && [[ "${PBXT_NEWSTYLE}" == "1" ]]; then 709 if pbxt_available && [[ "${PBXT_NEWSTYLE}" == "1" ]]; then
664 use pbxt \ 710 use pbxt \
665 && plugins_dyn="${plugins_dyn} pbxt" \ 711 && plugins_dyn="${plugins_dyn} pbxt" \
666 || plugins_dis="${plugins_dis} pbxt" 712 || plugins_dis="${plugins_dis} pbxt"
667 fi 713 fi
668 714
669 use static && \ 715 use static && \
670 plugins_sta="${plugins_sta} ${plugins_dyn}" && \ 716 plugins_sta="${plugins_sta} ${plugins_dyn}" && \
671 plugins_dyn="" 717 plugins_dyn=""
672 718
673 einfo "Available plugins: ${plugins_avail}" 719 einfo "Available plugins: ${plugins_avail}"
674 einfo "Dynamic plugins: ${plugins_dyn}" 720 einfo "Dynamic plugins: ${plugins_dyn}"
675 einfo "Static plugins: ${plugins_sta}" 721 einfo "Static plugins: ${plugins_sta}"
676 einfo "Disabled plugins: ${plugins_dis}" 722 einfo "Disabled plugins: ${plugins_dis}"
677 723
733 eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." 779 eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root."
734 fi 780 fi
735 fi 781 fi
736 fi 782 fi
737 783
784 # bug 350844
785 case "${EAPI:-0}" in
786 0 | 1)
787 if use static && !built_with_use sys-libs/ncurses static-libs; then
788 die "To build MySQL statically you need to enable static-libs for sys-libs/ncurses"
789 fi
790 ;;
791 esac
792
738 # Check for USE flag problems in pkg_setup 793 # Check for USE flag problems in pkg_setup
739 if use static && use ssl ; then 794 if use static && use ssl ; then
740 M="MySQL does not support being built statically with SSL support enabled!" 795 M="MySQL does not support being built statically with SSL support enabled!"
741 eerror "${M}" 796 eerror "${M}"
742 die "${M}" 797 die "${M}"
798 fi
799
800 if mysql_version_is_at_least "5.1.51" \
801 && ! mysql_version_is_at_least "5.2" \
802 && use debug ; then
803 # Also in package.use.mask
804 die "Bug #344885: Upstream has broken USE=debug for 5.1 series >=5.1.51"
743 fi 805 fi
744 806
745 if ! mysql_version_is_at_least "5.0" \ 807 if ! mysql_version_is_at_least "5.0" \
746 && use raid \ 808 && use raid \
747 && use static ; then 809 && use static ; then
755 && use minimal ; then 817 && use minimal ; then
756 M="USE flags 'cluster', 'extraengine', 'embedded' conflict with 'minimal' USE flag!" 818 M="USE flags 'cluster', 'extraengine', 'embedded' conflict with 'minimal' USE flag!"
757 eerror "${M}" 819 eerror "${M}"
758 die "${M}" 820 die "${M}"
759 fi 821 fi
760 822
761 if mysql_version_is_at_least "5.1" \ 823 if mysql_version_is_at_least "5.1" \
762 && xtradb_patch_available \ 824 && xtradb_patch_available \
763 && use xtradb \ 825 && use xtradb \
764 && use embedded ; then 826 && use embedded ; then
765 M="USE flags 'xtradb' and 'embedded' conflict and cause build failures" 827 M="USE flags 'xtradb' and 'embedded' conflict and cause build failures"
771 # Upstream changes made us need a fairly new GCC4. 833 # Upstream changes made us need a fairly new GCC4.
772 # But only for 5.0.8[3-6]! 834 # But only for 5.0.8[3-6]!
773 if mysql_version_is_at_least "5.0.83" && ! mysql_version_is_at_least 5.0.87 ; then 835 if mysql_version_is_at_least "5.0.83" && ! mysql_version_is_at_least 5.0.87 ; then
774 GCC_VER=$(gcc-version) 836 GCC_VER=$(gcc-version)
775 case ${GCC_VER} in 837 case ${GCC_VER} in
776 2*|3*|4.0|4.1|4.2) 838 2*|3*|4.0|4.1|4.2)
777 eerror "Some releases of MySQL required a very new GCC, and then" 839 eerror "Some releases of MySQL required a very new GCC, and then"
778 eerror "later release relaxed that requirement again. Either pick a" 840 eerror "later release relaxed that requirement again. Either pick a"
779 eerror "MySQL >=5.0.87, or use a newer GCC." 841 eerror "MySQL >=5.0.87, or use a newer GCC."
780 die "Active GCC too old!" ;; 842 die "Active GCC too old!" ;;
781 esac 843 esac
835 mysql_mv_patches 897 mysql_mv_patches
836 # And apply 898 # And apply
837 epatch 899 epatch
838 900
839 # last -fPIC fixup, per bug #305873 901 # last -fPIC fixup, per bug #305873
840 i="${S}"/storage/innodb_plugin/plug.in 902 i="${S}"/storage/innodb_plugin/plug.in
841 [ -f "${i}" ] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}" 903 [ -f "${i}" ] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}"
842 904
843 # Additional checks, remove bundled zlib (Cluster needs this, for static 905 # Additional checks, remove bundled zlib (Cluster needs this, for static
844 # memory management in zlib, leave available for Cluster) 906 # memory management in zlib, leave available for Cluster)
845 if [[ "${PN}" != "mysql-cluster" ]] ; then 907 if [[ "${PN}" != "mysql-cluster" ]] ; then
875 # Or maybe we haven't 937 # Or maybe we haven't
876 [ -d "${i}" -a ! -d "${o}" ] && mv "${i}" "${o}" 938 [ -d "${i}" -a ! -d "${o}" ] && mv "${i}" "${o}"
877 cp -ral "${WORKDIR}/${XTRADB_P}" "${i}" 939 cp -ral "${WORKDIR}/${XTRADB_P}" "${i}"
878 popd >/dev/null 940 popd >/dev/null
879 fi 941 fi
880 942
881 if pbxt_available && [[ "${PBXT_NEWSTYLE}" == "1" ]] && use pbxt ; then 943 if pbxt_patch_available && [[ "${PBXT_NEWSTYLE}" == "1" ]] && use pbxt ; then
882 einfo "Adding storage engine: PBXT" 944 einfo "Adding storage engine: PBXT"
883 pushd "${S}"/storage >/dev/null 945 pushd "${S}"/storage >/dev/null
884 i='pbxt' 946 i='pbxt'
885 [ -d "${i}" ] && rm -rf "${i}" 947 [ -d "${i}" ] && rm -rf "${i}"
886 cp -ral "${WORKDIR}/${PBXT_P}" "${i}" 948 cp -ral "${WORKDIR}/${PBXT_P}" "${i}"
967 export CXXFLAGS 1029 export CXXFLAGS
968 1030
969 # bug #283926, with GCC4.4, this is required to get correct behavior. 1031 # bug #283926, with GCC4.4, this is required to get correct behavior.
970 append-flags -fno-strict-aliasing 1032 append-flags -fno-strict-aliasing
971 1033
1034 # bug #335185, #335995, with >= GCC4.3.3 on x86 only, omit-frame-pointer
1035 # causes a mis-compile.
1036 # Upstream bugs:
1037 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38562
1038 # http://bugs.mysql.com/bug.php?id=45205
1039 use x86 && version_is_at_least "4.3.3" "$(gcc-fullversion)" && \
1040 append-flags -fno-omit-frame-pointer && \
1041 filter-flags -fomit-frame-pointer
1042
972 econf \ 1043 econf \
973 --libexecdir="/usr/sbin" \ 1044 --libexecdir="/usr/sbin" \
974 --sysconfdir="${MY_SYSCONFDIR}" \ 1045 --sysconfdir="${MY_SYSCONFDIR}" \
975 --localstatedir="${MY_LOCALSTATEDIR}" \ 1046 --localstatedir="${MY_LOCALSTATEDIR}" \
976 --sharedstatedir="${MY_SHAREDSTATEDIR}" \ 1047 --sharedstatedir="${MY_SHAREDSTATEDIR}" \
979 --with-low-memory \ 1050 --with-low-memory \
980 --with-client-ldflags=-lstdc++ \ 1051 --with-client-ldflags=-lstdc++ \
981 --enable-thread-safe-client \ 1052 --enable-thread-safe-client \
982 --with-comment="Gentoo Linux ${PF}" \ 1053 --with-comment="Gentoo Linux ${PF}" \
983 --without-docs \ 1054 --without-docs \
1055 --with-LIBDIR="$(get_libdir)" \
984 ${myconf} || die "econf failed" 1056 ${myconf} || die "econf failed"
985 1057
986 # TODO: Move this before autoreconf !!! 1058 # TODO: Move this before autoreconf !!!
987 find . -type f -name Makefile -print0 \ 1059 find . -type f -name Makefile -print0 \
988 | xargs -0 -n100 sed -i \ 1060 | xargs -0 -n100 sed -i \
1057 if use !test ; then 1129 if use !test ; then
1058 rm -rf "${D}"/${MY_SHAREDSTATEDIR}/mysql-test 1130 rm -rf "${D}"/${MY_SHAREDSTATEDIR}/mysql-test
1059 fi 1131 fi
1060 1132
1061 # Configuration stuff 1133 # Configuration stuff
1062 if mysql_version_is_at_least "5.1" ; then 1134 case ${MYSQL_PV_MAJOR} in
1063 mysql_mycnf_version="5.1"
1064 elif mysql_version_is_at_least "4.1" ; then
1065 mysql_mycnf_version="4.1"
1066 else
1067 mysql_mycnf_version="4.0" 1135 3*|4.0) mysql_mycnf_version="4.0" ;;
1068 fi 1136 4.[1-9]|5.0) mysql_mycnf_version="4.1" ;;
1069 einfo "Building default my.cnf" 1137 5.[1-9]|6*|7*) mysql_mycnf_version="5.1" ;;
1138 esac
1139 einfo "Building default my.cnf (${mysql_mycnf_version})"
1070 insinto "${MY_SYSCONFDIR}" 1140 insinto "${MY_SYSCONFDIR}"
1071 doins scripts/mysqlaccess.conf 1141 doins scripts/mysqlaccess.conf
1142 mycnf_src="my.cnf-${mysql_mycnf_version}"
1072 sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ 1143 sed -e "s!@DATADIR@!${MY_DATADIR}!g" \
1073 "${FILESDIR}/my.cnf-${mysql_mycnf_version}" \ 1144 "${FILESDIR}/${mycnf_src}" \
1074 > "${TMPDIR}/my.cnf.ok" 1145 > "${TMPDIR}/my.cnf.ok"
1075 if mysql_version_is_at_least "4.1" && use latin1 ; then 1146 if use latin1 ; then
1076 sed -i \ 1147 sed -i \
1077 -e "/character-set/s|utf8|latin1|g" \ 1148 -e "/character-set/s|utf8|latin1|g" \
1078 "${TMPDIR}/my.cnf.ok" 1149 "${TMPDIR}/my.cnf.ok"
1079 fi 1150 fi
1080 newins "${TMPDIR}/my.cnf.ok" my.cnf 1151 newins "${TMPDIR}/my.cnf.ok" my.cnf
1174 1245
1175 einfo 1246 einfo
1176 elog "You might want to run:" 1247 elog "You might want to run:"
1177 elog "\"emerge --config =${CATEGORY}/${PF}\"" 1248 elog "\"emerge --config =${CATEGORY}/${PF}\""
1178 elog "if this is a new install." 1249 elog "if this is a new install."
1250 einfo
1251
1252 einfo
1253 elog "If you are upgrading major versions, you should run the"
1254 elog "mysql_upgrade tool."
1179 einfo 1255 einfo
1180 fi 1256 fi
1181 1257
1182 if pbxt_available && use pbxt ; then 1258 if pbxt_available && use pbxt ; then
1183 # TODO: explain it better 1259 # TODO: explain it better
1238 fi 1314 fi
1239 fi 1315 fi
1240 1316
1241 local pwd1="a" 1317 local pwd1="a"
1242 local pwd2="b" 1318 local pwd2="b"
1243 local MYSQL_ROOT_PASSWORD=''
1244 local maxtry=15 1319 local maxtry=15
1245 1320
1246 if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${ROOT}/root/.my.cnf" ]; then 1321 if [ -z "${MYSQL_ROOT_PASSWORD}" -a -f "${ROOT}/root/.my.cnf" ]; then
1247 MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${ROOT}/root/.my.cnf")" 1322 MYSQL_ROOT_PASSWORD="$(sed -n -e '/^password=/s,^password=,,gp' "${ROOT}/root/.my.cnf")"
1248 fi 1323 fi
1258 # localhost. Also causes weird failures. 1333 # localhost. Also causes weird failures.
1259 [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" 1334 [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost"
1260 1335
1261 if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then 1336 if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
1262 1337
1263 einfo "Please provide a password for the mysql 'root' user now," 1338 einfo "Please provide a password for the mysql 'root' user now, in the"
1264 einfo "or in the MYSQL_ROOT_PASSWORD env var." 1339 einfo "MYSQL_ROOT_PASSWORD env var or through the /root/.my.cnf file."
1265 ewarn "Avoid [\"'\\_%] characters in the password" 1340 ewarn "Avoid [\"'\\_%] characters in the password"
1266 read -rsp " >" pwd1 ; echo 1341 read -rsp " >" pwd1 ; echo
1267 1342
1268 einfo "Retype the password" 1343 einfo "Retype the password"
1269 read -rsp " >" pwd2 ; echo 1344 read -rsp " >" pwd2 ; echo
1317 1392
1318 if [[ -r "${help_tables}" ]] ; then 1393 if [[ -r "${help_tables}" ]] ; then
1319 cat "${help_tables}" >> "${sqltmp}" 1394 cat "${help_tables}" >> "${sqltmp}"
1320 fi 1395 fi
1321 fi 1396 fi
1322 1397
1323 einfo "Creating the mysql database and setting proper" 1398 einfo "Creating the mysql database and setting proper"
1324 einfo "permissions on it ..." 1399 einfo "permissions on it ..."
1325 1400
1326 local socket="${ROOT}/var/run/mysqld/mysqld${RANDOM}.sock" 1401 local socket="${ROOT}/var/run/mysqld/mysqld${RANDOM}.sock"
1327 local pidfile="${ROOT}/var/run/mysqld/mysqld${RANDOM}.pid" 1402 local pidfile="${ROOT}/var/run/mysqld/mysqld${RANDOM}.pid"

Legend:
Removed from v.1.150  
changed lines
  Added in v.1.159

  ViewVC Help
Powered by ViewVC 1.1.20