From 6c3bfb7d9ec707b161bddb53bde5a24f411e0923 Mon Sep 17 00:00:00 2001 From: Brian Evans Date: Wed, 4 Nov 2015 16:31:17 -0500 Subject: mysql-multilib.eclass: Several small fixes from the mysql overlay Remove the deprecated cluster and community IUSE Fix an old URL in post install instructions Trigger galera initial install instructions by the galera IUSE Restrict tests when libressl is in use Fix the initial pkg_config password wrt bug 564198 Consolidate the duplicate ewarn messages about client libs into a single einfo wrt bug 563640 Signed-off-by: Brian Evans --- eclass/mysql-multilib.eclass | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'eclass/mysql-multilib.eclass') diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass index 066b489d297d..def53ae5c7fd 100644 --- a/eclass/mysql-multilib.eclass +++ b/eclass/mysql-multilib.eclass @@ -192,7 +192,7 @@ fi LICENSE="GPL-2" SLOT="0/${SUBSLOT:-0}" -IUSE="+community cluster debug embedded extraengine jemalloc latin1 libressl +openssl +IUSE="debug embedded extraengine jemalloc latin1 libressl +openssl +perl profiling selinux systemtap static static-libs tcmalloc test yassl" REQUIRED_USE="^^ ( yassl openssl libressl )" @@ -213,6 +213,9 @@ REQUIRED_USE="^^ ( yassl openssl libressl )" # IUSE="bindist ${IUSE}" #fi +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="libressl? ( test )" + if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then IUSE="bindist ${IUSE}" RESTRICT="${RESTRICT} !bindist? ( bindist )" @@ -507,9 +510,6 @@ mysql-multilib_pkg_pretend() { die fi fi - if use_if_iuse cluster && [[ "${PN}" != "mysql-cluster" ]]; then - die "NDB Cluster support has been removed from all packages except mysql-cluster" - fi } # @FUNCTION: mysql-multilib_pkg_setup @@ -605,7 +605,7 @@ multilib_src_configure() { if ! multilib_is_native_abi && in_iuse client-libs ; then if ! use client-libs ; then - ewarn "Skipping multilib build due to client-libs USE disabled" + einfo "Skipping multilib build due to client-libs USE disabled" return 0 fi fi @@ -740,7 +740,6 @@ mysql-multilib_src_compile() { multilib_src_compile() { if ! multilib_is_native_abi && in_iuse client-libs ; then if ! use client-libs ; then - ewarn "Skipping multilib build due to client-libs USE disabled" return 0 fi fi @@ -770,7 +769,6 @@ multilib_src_install() { if ! multilib_is_native_abi && in_iuse client-libs ; then if ! use client-libs ; then - ewarn "Skipping multilib build due to client-libs USE disabled" return 0 fi fi @@ -870,7 +868,7 @@ mysql-multilib_pkg_postinst() { einfo elog "This install includes the PAM authentication plugin." elog "To activate and configure the PAM plugin, please read:" - elog "https://kb.askmonty.org/en/pam-authentication-plugin/" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" einfo fi fi @@ -886,7 +884,7 @@ mysql-multilib_pkg_postinst() { elog "mysql_upgrade tool." einfo - if [[ ${PN} == "mariadb-galera" ]] ; then + if [[ ${PN} == "mariadb-galera" ]] || use_if_iuse galera ; then einfo elog "Be sure to edit the my.cnf file to activate your cluster settings." elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" @@ -913,9 +911,10 @@ mysql-multilib_getopt() { # Use my_print_defaults to extract specific config options mysql-multilib_getoptval() { local mypd="${EROOT}"/usr/bin/my_print_defaults - section="$1" - flag="--${2}=" - "${mypd}" $section | sed -n "/^${flag}/s,${flag},,gp" + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" } # @FUNCTION: mysql-multilib_pkg_config @@ -976,6 +975,10 @@ mysql-multilib_pkg_config() { if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then MYSQL_ROOT_PASSWORD="$(mysql-multilib_getoptval 'client mysql' password)" + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then + MYSQL_ROOT_PASSWORD="$(mysql-multilib_getoptval 'client mysql' password --show)" + fi fi MYSQL_TMPDIR="$(mysql-multilib_getoptval mysqld tmpdir)" # These are dir+prefix @@ -1039,7 +1042,7 @@ mysql-multilib_pkg_config() { help_tables="${TMPDIR}/fill_help_tables.sql" # Figure out which options we need to disable to do the setup - helpfile="${TMPDIR}/mysqld-help" + local helpfile="${TMPDIR}/mysqld-help" ${EROOT}/usr/sbin/mysqld --verbose --help >"${helpfile}" 2>/dev/null for opt in grant-tables host-cache name-resolve networking slave-start \ federated ssl log-bin relay-log slow-query-log external-locking \ -- cgit v1.2.3-65-gdbad