commit:     7556dd45f579a57c8fd2944b865f938fb6f07c07
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Mon Nov  2 21:50:48 2015 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Mon Nov  2 21:50:48 2015 +0000
URL:        https://gitweb.gentoo.org/proj/mysql.git/commit/?id=7556dd45

mysql-multilib.eclass: Add the --show option to my_print_defaults when it 
originally returns a default string for a password

Signed-off-by: Brian Evans <grknight <AT> gentoo.org>

 eclass/mysql-multilib.eclass | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/eclass/mysql-multilib.eclass b/eclass/mysql-multilib.eclass
index 7cdda22..23683f5 100644
--- a/eclass/mysql-multilib.eclass
+++ b/eclass/mysql-multilib.eclass
@@ -914,9 +914,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
@@ -977,6 +978,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

Reply via email to