X-Git-Url: https://git.ao2.it/drupal-init-tools.git/blobdiff_plain/63f41ad0edcb12449dbae5fd4315bec15b85ee46..9725959472f76a32e61b26e6b838a1e85c314ed2:/libexec/bootstrap.sh diff --git a/libexec/bootstrap.sh b/libexec/bootstrap.sh index d2ebda7..f48e303 100755 --- a/libexec/bootstrap.sh +++ b/libexec/bootstrap.sh @@ -25,8 +25,9 @@ usage: drin $(basename $0 .sh) [--devel|-h|--help] Bootstrap a Drupal project, using settings from a 'bootstrap.conf' file. Options: - --devel install drupal/devel and use a settings.local.php file - -h, --help display this usage message and exit + --devel install drupal/devel and use a settings.local.php file + --overwrite-profile allow overwriting the current installation profile + -h, --help display this usage message and exit EOF } @@ -41,6 +42,9 @@ do --devel) DEVEL_MODE="true" ;; + --overwrite-profile) + OVERWRITE_PROFILE="true" + ;; -*) echo "Error: Unknown option '${1}'" 1>&2 ;; @@ -92,9 +96,11 @@ DRUPAL_CONSOLE="${PWD}/vendor/bin/drupal" # https://github.com/drupal-composer/drupal-project/issues/249 if ! echo $INSTALLATION_PROFILE | egrep -q "^(minimal|standard)$"; then - if [ -d $SITE_LOCAL_PATH/profiles/$INSTALLATION_PROFILE ]; + if [ -d $SITE_LOCAL_PATH/profiles/$INSTALLATION_PROFILE -a "$OVERWRITE_PROFILE" != "true" ]; then - echo "Installation profile '$INSTALLATION_PROFILE' already there." + echo "Installation profile '$INSTALLATION_PROFILE' already there." 1>&2 + echo "Use --overwrite-profile to copy over it." 1>&2 + exit 1 else cp -a $INSTALLATION_PROFILE $SITE_LOCAL_PATH/profiles fi @@ -102,13 +108,14 @@ fi pushd "$SITE_LOCAL_PATH" -chmod 755 sites/default -chmod 644 sites/default/settings.php - # Update the install_profile if it's already there if grep -q "^\\\$settings\['install_profile'\] =" sites/default/settings.php; then + chmod 755 sites/default + chmod 644 sites/default/settings.php sed -i -e "s/^\(\$settings\['install_profile'\]\) = '[^']*';/\1 = '$INSTALLATION_PROFILE';/g" sites/default/settings.php + chmod 444 sites/default/settings.php + chmod 555 sites/default fi $DRUSH --verbose --yes \ @@ -142,6 +149,9 @@ sudo chgrp -R "$WEB_SERVER_GROUP" sites/default/files # Enables clean URLs sed -i "s@# RewriteBase /drupal\$@RewriteBase ${SITE_BASE_PATH}@" .htaccess +chmod 755 sites/default +chmod 644 sites/default/settings.php + # Add some basic settings to settings.php if ! grep -q "^\\\$settings\['trusted_host_patterns'\] =" sites/default/settings.php; then @@ -159,13 +169,16 @@ then composer --working-dir=../ require drupal/devel $DRUSH --yes en devel - cp sites/example.settings.local.php sites/default/settings.local.php + if [ ! -e sites/default/settings.local.php ]; + then + cp sites/example.settings.local.php sites/default/settings.local.php - # Disable some overly permissive settings - sed -i -e "s/^\(\$settings\['rebuild_access'\]\).*$/\1 = FALSE;/g" sites/default/settings.local.php - sed -i -e "s/^\(\$settings\['skip_permissions_hardening'\]\).*$/\1 = FALSE;/g" sites/default/settings.local.php + # Disable some overly permissive settings + sed -i -e "s/^\(\$settings\['rebuild_access'\]\).*$/\1 = FALSE;/g" sites/default/settings.local.php + sed -i -e "s/^\(\$settings\['skip_permissions_hardening'\]\).*$/\1 = FALSE;/g" sites/default/settings.local.php - chmod 444 sites/default/settings.local.php + chmod 444 sites/default/settings.local.php + fi if ! grep -q "^include \$app_root . '/' . \$site_path . '/settings.local.php';" sites/default/settings.php; then