From cd466881de54893a6f3997f9485c6725570adc76 Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Sat, 10 Mar 2018 15:42:52 +0100 Subject: [PATCH] bootstrap.sh: support both password and unix_socket access to the database --- libexec/bootstrap.sh | 33 ++++++++++++++++++++++++++++----- libexec/new.sh | 12 +++++++++++- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/libexec/bootstrap.sh b/libexec/bootstrap.sh index 8b92f97..e3671c0 100755 --- a/libexec/bootstrap.sh +++ b/libexec/bootstrap.sh @@ -75,12 +75,36 @@ declare -p WEB_SERVER_GROUP [ "x$INSTALLATION_PROFILE" = "x" ] && { echo "INSTALLATION_PROFILE not specified, using the \"standard\" profile!"; INSTALLATION_PROFILE="standard"; } -if [ "x$MYSQL_ROOT_PASSWORD" = "x" ]; +if [ "$MYSQL_PASSWORDLESS_ACCESS" = true ]; then - read -r -s -p "MySQL root password: " MYSQL_ROOT_PASSWORD - echo + MYSQL_SU_USER="${USER}" +else + # XXX Deprecate MYSQL_ROOT_PASSWORD, it will be removed eventually, + # but for now add some backwards compatibility mapping. + if [ "x$MYSQL_ROOT_PASSWORD" != "x" ]; + then + echo "WARN: MYSQL_ROOT_PASSWORD is deprecated, use MYSQL_SU_USER and MYSQL_SU_PASSWORD" 1>&2 + MYSQL_SU_USER="root" + MYSQL_SU_PASSWORD="$MYSQL_ROOT_PASSWORD" + fi + + if [ "x$MYSQL_SU_USER" = "x" ]; + then + echo "Aborting, for password regulated access specify MYSQL_SU_USER in bootstrap.conf" 1>&2 + exit 1 + fi + + if [ "x$MYSQL_SU_PASSWORD" = "x" ]; + then + read -r -s -p "MySQL password for \"${MYSQL_SU_USER}\": " MYSQL_SU_PASSWORD + echo + fi + + DRUSH_DB_SU_CREDENTIALS=(--db-su-pw'='"${MYSQL_SU_PASSWORD}") fi +DRUSH_DB_SU_CREDENTIALS+=(--db-su'='"${MYSQL_SU_USER}") + WEB_ROOT="${PWD}/web" command -v composer &> /dev/null || { echo "Aborting, 'composer' not available." 1>&2; exit 1; } @@ -123,8 +147,7 @@ fi $DRUSH --verbose --yes \ site-install \ - --db-su=root \ - --db-su-pw="$MYSQL_ROOT_PASSWORD" \ + "${DRUSH_DB_SU_CREDENTIALS[@]}" \ --db-url="mysql://${DB_USER}:${DB_PASS}@localhost/${DB_NAME}" \ --site-name="$SITE_NAME" \ --site-mail="$SITE_MAIL" \ diff --git a/libexec/new.sh b/libexec/new.sh index bc88c00..7c4f1b6 100755 --- a/libexec/new.sh +++ b/libexec/new.sh @@ -106,7 +106,17 @@ cat > bootstrap.conf < .gitignore <