bootstrap.sh: fix setting the --uri option for Drush 9
[drupal-init-tools.git] / libexec / bootstrap.sh
index 9975299..9dc149f 100755 (executable)
@@ -140,6 +140,18 @@ then
   fi
 fi
 
+# Make sure that drush knows what the actual base URI is, this is needed to
+# have a consistent behavior between the cli and the web interface, for
+# example in the case of modules that use base_path().
+if grep -q "^[[:space:]]*uri:" drush/drush.yml;
+then
+  sed -i -e "s@^\([[:space:]]*\)uri: .*@\1uri: 'http://localhost/${SITE_BASE_PATH}'@g" drush/drush.yml
+else
+  echo "" >> drush/drush.yml
+  echo "options:" >> drush/drush.yml
+  echo "  uri: 'http://localhost/${SITE_BASE_PATH}'" >> drush/drush.yml
+fi
+
 pushd "$WEB_ROOT"
 
 # Update the install_profile setting if it's already there
@@ -152,12 +164,14 @@ then
   chmod 555 sites/default
 fi
 
+# Install the site
 $DRUSH --verbose --yes \
   site-install \
   "${DRUSH_DB_SU_CREDENTIALS[@]}" \
   --db-url="mysql://${DB_USER}:${DB_PASS}@localhost/${DB_NAME}" \
   --site-name="$SITE_NAME" \
   --site-mail="$SITE_MAIL" \
+  --sites-subdir="default" \
   --account-name="$ACCOUNT_NAME" \
   --account-pass="$ACCOUNT_PASS" \
   --account-mail="$ACCOUNT_MAIL" \