From 384c151435b25019ed11e7b0d5e3ab6b5b4f8027 Mon Sep 17 00:00:00 2001 From: Andrew Stowell Date: Thu, 15 May 2025 08:46:34 -0400 Subject: [PATCH] added php-composer to install setup script --- composer-install/composer-install.sh | 22 ++++++++++++++ setup/1-choose-packages.sh | 45 +++++++++++++++++++++------- 2 files changed, 56 insertions(+), 11 deletions(-) create mode 100755 composer-install/composer-install.sh diff --git a/composer-install/composer-install.sh b/composer-install/composer-install.sh new file mode 100755 index 0000000..0dd4f8b --- /dev/null +++ b/composer-install/composer-install.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# offical code snipet to get composer for unix: +# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md +# ---------------------------------------------------------- + +EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')" +php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" +ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" + +if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ] +then + >&2 echo 'ERROR: Invalid installer checksum' + rm composer-setup.php + exit 1 +fi + +php composer-setup.php --quiet +RESULT=$? +rm composer-setup.php +exit $RESULT + diff --git a/setup/1-choose-packages.sh b/setup/1-choose-packages.sh index 29fe62f..eeb397d 100755 --- a/setup/1-choose-packages.sh +++ b/setup/1-choose-packages.sh @@ -72,6 +72,27 @@ install_collection 'extra utilities: (ncdu, zip, php, rclone, etc.)' ncdu zip un # ---------------------------------------------------------- +if [[ -n $(command -v "php") ]]; then + read -p 'Install PHP Composer? [y/N]: ' response + case "${response}" in + [Yy]* ) + return_dir=$(pwd) + cd "${package_dir}" + "${package_dir}/composer-install/composer-install.sh" + if [[ -f "composer.phar" ]]; then + sudo mv composer.phar /usr/bin/composer + fi + cd "${return_dir}" + ;; + * ) + echo 'Skipping' + ;; + esac + echo '' +fi + +# ---------------------------------------------------------- + read -p 'Install Docker? [y/N]: ' response case "${response}" in [Yy]* ) @@ -106,11 +127,12 @@ install_collection 'Ruby: (ruby, build-essential)' ruby-full build-essential zli # ---------------------------------------------------------- -read -p 'Configure GEM_HOME and PATH for Ruby support? [y/N]: ' response -case "${response}" in - [Yy]* ) - make_bashrc_backup - ( cat << 'BASHRC' +if [[ -n $(command -v "ruby") ]]; then + read -p 'Configure GEM_HOME and PATH for Ruby support? [y/N]: ' response + case "${response}" in + [Yy]* ) + make_bashrc_backup + ( cat << 'BASHRC' # ABS configure ruby gems export GEM_HOME="$HOME/gems" @@ -118,12 +140,13 @@ export PATH="$HOME/gems/bin:$PATH" BASHRC ) >> "${HOME}/.bashrc" - ;; - * ) - echo 'Skipping' - ;; -esac -echo '' + ;; + * ) + echo 'Skipping' + ;; + esac + echo '' +fi # ----------------------------------------------------------